[U-Boot-Users] Problem with bootm command

Mirco Fuchs mircofuchs at web.de
Mon Jul 25 14:54:03 CEST 2005

I have a problem getting started a 2.6.12 kernel with initrd on my csb637 board using u-boot 1.1.3 as bootloader.
I allready searched the mailing list archive but i did not find a solution for this problem.

I placed an initrd- u-boot image to 0x10160000 and an u-boot kernel image to 0x10040000. My kernel parameters are as follows:

mem=64M console=ttyS0,115200 initrd=0x21200000,0x001b06b6 root=/dev/ram rw

The kernel is compiled with initrd support.
When using the u-boot 'bootm 0x10040000 0x10160000' command, the kernel is decompressed and starts but is not able to mount the initrd as it's root file system.
If I change the kernel command line to

mem=64M console=ttyS0,115200 initrd=0x21200040,0x001b06b6 root=/dev/ram rw, the kernel boots 
correctly with initrd as it's root fs.

The images were created with the mkimage tool delivered with u-boot. For creating the initrd image i used the following command:

mkimage -n 'rootfs' -A arm -O linux -T ramdisk -C gzip -a 0x21200000 -e 0x21200000 initrd.bin initrd.img

I think the problem occures because of the added file-header to the initrd binary file. I compared the original binary file with the u-boot initrd image and found out, that a header with the size of 0x40 bytes is appended at the beginning of the original binary file.
Maybe i only have to change the Entry Point to 0x21200040, but normally i do not know the size of the appended header information.

I thought that when using the bootm command u-boot copies the initrd image to it's designated sdram location without the header information (-- but obviously it does not), am i wrong? Maybe there's another mistake.

Best Regards

Mit der Gruppen-SMS von WEB.DE FreeMail können Sie eine SMS an alle 
Freunde gleichzeitig schicken: http://freemail.web.de/features/?mc=021179

More information about the U-Boot mailing list