[U-Boot-Users] Problem with bootm command

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
Mirco _________________________________________________________________________ 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

In message 2824371@web.de you wrote:
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.
And what makes you think this is an U-Boot related question?
mem=64M console=ttyS0,115200 initrd=0x21200000,0x001b06b6 root=/dev/ram rw
The command is bogus. For a correct port, there is no need to pass mem= or initrd= at all.
All this has been discussed many, many times before. I am not willing to repeat it here, especially since I think it is off topic on this list.
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 i
No, this file header is needed by U-Boot.
Maybe i only have to change the Entry Point to 0x21200040, but normally i do not know the size of the appended header information.
A ram disk has no entry point at all.
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.
For a correct port of U-Boot and Linux that's how it works.
Best regards,
Wolfgang Denk
participants (2)
-
Mirco Fuchs
-
Wolfgang Denk