[U-Boot-Users] Linux kernel startup

Jerry Van Baren gerald.vanbaren at ge.com
Mon Apr 7 14:52:26 CEST 2008


Tiju wrote:
> Hi Harald,
> 
> The serial issues were solved. As u said, the problem was with the 
> RTS/CTS. I disabled all the hardware control signals and some 
> modifications with the relocation section in the start..S and it started 
> working.
> 
> Now the issue is with the kernel CRC32 check. I compiled a kernel with 
> the smdk2440 architecture and I do the following.
> 
> $ arm-linux-objcopy -O binary -R .note -R .comment -S vmlinux linux.bin
> $ gzip -9 linux.bin
> $ ../u-boot-1.3.2/tools/mkimage -A arm -O linux -T kernel -C gzip -a 
> 0x30008000 -e 0x30008000 -n "Linux kernel" -d linux.bin.gz uImage.bin
> 
> The size of vmlinux is around 25MB. When converted to linux.bin it is 
> 3GB, when gziped it is around 4MB and when done an mkimage it remains 
> almost the same.

This is indicating you have major link / memory map / coding issue(s). 
vmlinux should be around 1MB, not 25MB!  linux.bin should be around the 
same size as vmlinux.  Having linux.bin grow to be 3GB indicates it has 
major holes in it that objdump is filling with "fill" values.

Loading a 3GB image (compressed to 4MB or not) is simply not going to work.

Use objdump to dump the section headers of the elf file (vmlinux) to see 
what addresses are being used and sizes of the sections.  Figure out why 
it is producing pieces of code/data in widely varying address locations 
and possibly large sections of "bad" stuff.  Until you fix your link, 
you aren't going to have any success loading it.

Good luck,
gvb




More information about the U-Boot mailing list