Hi Wolfgang, thanks for your reply.
Wolfgang Denk wrote: > Are you sure it is only an issue of gzip compression, and not for > example of image sizes? > The "gzip -8" compressed kernel, which does work, is obviously bigger (vmlinux.bin.gz=1717766 (i.s.o. 1717544). Uncompressed size is unchanged of course (vmlinux.bin=3646004)). I have another "gzip -9" kernel which is smaller compressed (vmlinux.bin.gz=1716893, vmlinux.bin=3646004). This one does work. To be more sure I did some more tests: I extended the working "gzip -9" kernel with dummy bytes, recompressed it with "gzip -9" (now vmlinux.bin.gz=1717607, vmlinux.bin=3660385) and it still works. I added misc binary support to the problematic kernel, the resulting image size are: vmlinux.bin.gz=1720890 vmlinux.bin=3654196. Now the problem is gone. I removed misc binary support from the above kernel, the resulting image sizes are (again) vmlinux.bin.gz=1717544, vmlinux.bin=3646004. The problem is there. >> As far as I know my start/load memory addresses are ok. > > Are you sure? > no, therefore I included more details. >> => run tird > > <sarcasm> > Excellent information. Now we all know *exactly* which commands you > might be running :-( > </sarcasm> > tird=tftp 2000000 uImage;tftp 1000000 initramfs.igz.uboot;tftp 400000 mpc8313erdb.dtb;bootm 2000000 1000000 400000 >> 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? > The uncompressed size of the kernel is 3646004 bytes. I should have mentioned that. So vmlinux.bin.gz=1717540 and vmlinuz.bin=3646004 Notice that in my new tests (see above) the vmlinux.bin.gz ends up 4 bytes more (1717544 bytes). If the DTB is loaded at 600000 (6M) there's no difference. In fact, if I load no DTB nor ramdisk the same problem occurs. Regards, Norbert. _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

