
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