[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