[U-Boot] bootm command: is there any load address limitation for fdt?

Wolfgang Denk wd at denx.de
Thu Dec 11 01:20:24 CET 2008


Dear Richard Retanubun,

In message <49404A1C.1070801 at RuggedCom.com> you wrote:
> 
> I am trying to limit the amount of memory needed to load and boot a linux kernel (2.6.26)
> to do this I loaded my fdt at address 0x20_0000 and uImage at 0x_30_0000
> 
> When I run bootm, I both the kernel and fdt passed their checksum tests, and then I got this error.
> ERROR: image is not a fdt - must RESET the board to recover.

...so the uncompressed Linux kernel image was written on top of your
FDT image, corrupting it.

> However, if I loaded my fdt at address 0x40_0000 and uImage at 0x50_0000, bootm works fine.

Makes sense.

> Is there a reason why fdt must be loaded at a specific offset from the start of RAM?

Yes, there is - you need free space to load  the  uncompressed  Linux
kernel to low memory.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Dealing with failure is easy: work hard to improve. Success  is  also
easy  to  handle:  you've  solved  the  wrong  problem.  Work hard to
improve.


More information about the U-Boot mailing list