[U-Boot] Booting zImage from UBOOT

Ritu Sharma ritu.sharma.tech at gmail.com
Wed Mar 20 20:27:38 CET 2013


I've been framing this mail for quite some time trying to sort all issues
myself by googling for info. I learnt a lot in the process by doing it and
verify it myself, using my openocd jtag and Samsung based mini2440 board.

I read that uImage is nothing more than (64byte header + zImage). I've been
studying decompression code so it suited me to tweak UBOOT code to boot
zImage rather than writing my own bootcode. Just a small modification in
do_bootm_linux function did the job:
--    theKernel = (void (*)(int, int, uint))ep;
++  theKernel = (void (*)(int, int, uint))0x32000040;
Here I load uImage at 0x32000000(through tftp), so zImage starts at
0x32000040.
Kernel booted fine(bootm 0x32000000) but, I was bit sceptical whether my
understanding that in effect I booted a zImage is correct or not.

Reason for my scepticism is that I let UBOOT to decompress the kernel at
required entry point, and same thing is done if I directly jump to offset
0x40 in uImage.


Best Regards
Ritu


More information about the U-Boot mailing list