[U-Boot] Kernel boot halts with "Verifying Checksum ... Bad Data CRC"

Marek Vasut
2012-09-12T22:34:54Z

Dear Ellis Andrew,

> Hi,
>
> I'm not sure if this is specifically related to u boot.
>
> I have compiled a linux kernel, which if I run on a system with flash
> memory with 256k sector size there are no problems, however if I rebuild
> for a system using flash with 64k sector size the boot process halts with
> the following errors
>
> Booting image at 00060000 ...
> ## Copy image from flash 00060000 to ram 00200000 ...
> Image Name:
> Image Type: ARM Linux Kernel Image (uncompressed)
> Data Size: 1759300 Bytes = 1.7 MB
> Load Address: 00008000
> Entry Point: 00008000
> Verifying Checksum ... Bad Data CRC
>
>
> The script I'm using to make my kernel image is:
>
> SRC=$2/arch/arm/boot/uImage
> if [ -f $SRC ]; then
> printf "Kernel source in: %s\n" $SRC
> else
> printf "Error: No kernel source in : %s\n" $SRC
> exit 0
> fi
> mkimage -T kernel -C none -a 0x8000 -e 0x8000 -d $SRC scp_uimage
>
> The above script is called with:
>
> echo "Destination: scp_zimage"create_flash_image kernel linux-2.6.24/

I'd say it's a programming error (you're writing your flash incorrectly or your
uboot is configured for 256kb flash)? This is not autodetected.

Also not, make uImage in the kernel tree should do the job.

> What do I need to do differently with mkimage so that u boot is happy with
> the CRC?
>
> Andrew

Best regards,
Marek Vasut