
Dear "N. van Bolhuis",
In message 49746A3B.5070706@aimvalley.nl you wrote:
A certain powerpc 2.6.28 kernel (which is by default compressed with gzip -9) fails to load with u-boot v2008.10. It results in a machine check stop. I'm testing on a MPC8313-RDB.
...
If I manually compress that same kernel with "gzip -8" and generate a uImage, it *does* work.
Are you sure it is only an issue of gzip compression, and not for example of image sizes?
As far as I know my start/load memory addresses are ok.
Are you sure?
=> run tird
<sarcasm> Excellent information. Now we all know *exactly* which commands you might be running :-( </sarcasm>
Filename 'uImage'. Load address: 0x2000000 Loading: ################################################################# ##################################################### done Bytes transferred = 1717604 (1a3564 hex)
...
## Booting kernel from Legacy Image at 02000000 ... Image Name: Linux-2.6.28wa2 Created: 2009-01-19 11:36:09 UTC Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1717540 Bytes = 1.6 MB
So your compressed image is 1717540 bytes or 1.64 MB...
## Flattened Device Tree blob at 00400000 Booting using the fdt blob at 0x400000 of_flat_tree at 0x00400000 size 0x00002b7a Uncompressing Kernel Image ...
And your device tree is at 4 MB. If compresses better than some 40% than the uncompressed size of the kernel will exceed the 4 MB limit, thus overwriting your device tree blob.
Are you *really* sure that your addresses are OK? What happens when you move the DTB to a much higher address?
Best regards,
Wolfgang Denk