[U-Boot] Weird problem with kernel/initrd loading

Wolfgang Denk wd at denx.de
Thu Nov 26 23:19:57 CET 2009


Dear "Ioannis Kyriakopoulos",

In message <SNT111-DS83CB13AA8D729B0D4A82FA79B0 at phx.gbl> you wrote:
>
> OMAP3 beagleboard.org # setenv bootargs 'console=ttyS2,115200n8,
> root=/dev/ram0 rw initrd=0x81600000,8M, init=/linuxrc'
> 
> OMAP3 beagleboard.org # mmcinit; fatload mmc 0 0x80002000 uImage;
> fatload
> mmc 0 0x81600000 ramdisk.gz; bootm 0x80002000 0x81600000

This is obviously wrong, isn't it?

If you store the U-Boot image file with the file header and the
ramdisk image as payload at address 0x81600000, you _cannot_ use the
same address in the "initrd=0x81600000" argument, as this address is
the image header and not the ramdisk.

And anyway - why are you passing "initrd=" at all? Which part of the
documentation shows such an example?  None, because it's wrong.

> The weird thing is that by using the very same uImage and ramdisk.gz but
> without using the mkimage tool to convert ramdisk.gz to a U-boot
> compatible
> type and without passing the ramdisk.gz memory address at "bootm"
> command,
> the filesystem gets mounted and the kernel boots successfully. 

I am not surprised.

> Does anyone has any clue of what is getting wrong in the first case?

You pass incorrect parameters to the kernel.

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
How many seconds are there in a year? If I tell you there are 3.155 x
10^7, you won't even try to remember it. On the other hand, who could
forget that, to within half a percent, pi seconds is a nanocentury.
                                                - Tom Duff, Bell Labs


More information about the U-Boot mailing list