
On 2010/08/18 12:54 PM, Wolfgang Denk wrote:
Dear Rogan Dawes,
In message 4C6BAC5A.6060206@dawes.za.net you wrote:
Thanks for the suggestion. It did make a slight difference in the boot logs. bootcmd uses the default (in flash) location for the ramdisk,
Actually it's a pretty significant difference, as for the first time you actually see the kernel trying to access the ramdisk.
Good point! :-)
RAMDISK: Compressed image found at block 0 invalid compressed format (err=1)
So it seems that the ramdisk is getting corrupted somehow. And yet, it is fine using the vendor u-boot. It must be something that I am doing wrong.
Try copying the raw ramdisk image (i. e. without the U-Boot header) to RAM, and try that one, i. e. something like
=> cp.b ff9a0040 01600000 ...size... ... => bootm ff820000 1600000
Unfortunately, U-boot is expecting the second parameter to point to a uImage-wrapped ramdisk, not just raw bytes:
DNS323B1> cp.b ff9a0040 1600000 4ff718 DNS323B1> bootm ff820000 1600000 ## Booting kernel from Legacy Image at ff820000 ... Image Name: Linux-2.6.12.6-arm1 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1490204 Bytes = 1.4 MiB Load Address: 00008000 Entry Point: 00008000 Verifying Checksum ... OK Wrong Ramdisk Image Format Ramdisk image is corrupt or invalid DNS323B1>
Why does it make a difference if it is in RAM vs in flash? I have 8MB of flash located at ff800000, so that reaches all the way to 0xffffffff. Surely that should be Ok? Besides, U-boot is supposed to copy the data in the image to the specified destination address, isn't it?
Rogan