[ELDK] Bad Data CRC with self-made uImage

Marc Scherer marc.scherer at mp-ndt.de
Wed Jul 7 12:55:32 CEST 2010


I am trying to create an uncompressed kernel image for U-Boot on a
TQM5200. However, I end up with a boot message

## Booting kernel from Legacy Image at 00400000 ...
   Image Name:   Linux-2.6.35-rc4-01439-gdf94007
   Created:      2010-07-07  10:06:47 UTC
   Image Type:   PowerPC Linux Kernel Image (uncompressed)
   Data Size:    3262636 Bytes =  3.1 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... Bad Data CRC

All I did was to create a uImage according to:

mkuboot.sh -A ppc -O linux -T kernel -C none -a 0x00000000 -e 0x00000000
-n Linux-2.6.35-rc4-01439-gdf94007 -d ./vmlinux.bin arch/powerpc/boot/uImage

Here is the output of arch/powerpc/boot/wrapper in the normal
(compressed) case, without any interference by myself, in the course of
building the kernel:

  WRAP    arch/powerpc/boot/uImage
+ kernel=
+ ofile=zImage
+ platform=of
+ initrd=
+ dtb=
+ dts=
+ cacheit=
+ binary=
+ gzip=.gz
+ CROSS=
+ MKIMAGE=/opt/denx/mp-src/linux-2.6-denx/scripts/mkuboot.sh
+ object=arch/powerpc/boot
+ objbin=arch/powerpc/boot
+ dtc=scripts/dtc/dtc
+ tmpdir=.
+ '[' 8 -gt 0 ']'
+ case "$1" in
+ cacheit=y
+ shift
+ '[' 7 -gt 0 ']'
+ case "$1" in
+ shift
+ '[' 6 -gt 0 ']'
+ ofile=arch/powerpc/boot/uImage
+ shift
+ '[' 5 -gt 0 ']'
+ case "$1" in
+ shift
+ '[' 4 -gt 0 ']'
+ platform=uboot
+ shift
+ '[' 3 -gt 0 ']'
+ case "$1" in
+ shift
+ '[' 2 -gt 0 ']'
+ CROSS=ppc_6xx-
+ shift
+ '[' 1 -gt 0 ']'
+ case "$1" in
+ '[' -z '' ']'
+ kernel=vmlinux
+ shift
+ '[' 0 -gt 0 ']'
+ '[' -n '' ']'
+ '[' -z vmlinux ']'
+ platformo=arch/powerpc/boot/uboot.o
+ lds=arch/powerpc/boot/zImage.lds
+ ext=strip
+ objflags=-S
+ tmp=./zImage.14196.o
+ ksection=.kernel:vmlinux.strip
+ isection=.kernel:initrd
+ link_address=0x400000
+ case "$platform" in
+ ext=bin
+ objflags='-O binary'
+ tmp=arch/powerpc/boot/uImage
+ ksection=image
+ isection=initrd
++ basename vmlinux
+ vmz=./vmlinux.bin
+ '[' -z y -o '!' -f ./vmlinux.bin.gz -o ./vmlinux.bin.gz -ot vmlinux ']'
+ vmz=./vmlinux.bin.gz
++ grep '^Linux version [-0-9.]'
++ ppc_6xx-strings vmlinux
++ cut '-d ' -f3
+ version=2.6.35-rc4-01439-gdf94007
+ '[' -n 2.6.35-rc4-01439-gdf94007 ']'
+ uboot_version='-n Linux-2.6.35-rc4-01439-gdf94007'
++ ppc_6xx-objdump -p vmlinux
++ awk '{print $7}'
++ grep -m 1 LOAD
+ membase=0x00000000
+ case "$platform" in
+ rm -f arch/powerpc/boot/uImage
+ /opt/denx/mp-src/linux-2.6-denx/scripts/mkuboot.sh -A ppc -O linux -T
kernel -C gzip -a 0x00000000 -e 0x00000000 -n
Linux-2.6.35-rc4-01439-gdf94007 -d ./vmlinux.bin.gz arch/powerpc/boot/uImage
Image Name:   Linux-2.6.35-rc4-01439-gdf94007
Created:      Wed Jul  7 12:12:39 2010
Image Type:   PowerPC Linux Kernel Image (gzip compressed)
Data Size:    1546381 Bytes = 1510.14 kB = 1.47 MB
Load Address: 0x00000000
Entry Point:  0x00000000
+ '[' -z y ']'
+ exit 0

In this case, the boot message from U-Boot is

## Booting kernel from Legacy Image at 00400000 ...
   Image Name:   Linux-2.6.35-rc4-01439-gdf94007
   Created:      2010-07-07  10:12:39 UTC
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    1546381 Bytes =  1.5 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK

Thanks for any help,

Marc Scherer


More information about the eldk mailing list