先贴出笔者在uboot启动linux时的错误输出
<span style="font-size:18px;">NAND read: device 0 offset 0xa0000, size 0x400000
size adjusted to 0x200000 (16 bad blocks)
2097152 bytes read: OK
## Booting kernel from Legacy Image at 30000000 ...
Image Name: Linux-3.17.2
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2624776 Bytes = 2.5 MiB
Load Address: 30008000
Entry Point: 30008000
Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!</span>
在内核中搜索Verifying Checksum ,
在image.c中有这样一段:
<span style="font-size:18px;">if (verify) {
puts(" Verifying Checksum ... ");
if (!image_check_dcrc(rd_hdr)) {
puts("Bad Data CRC\n");
bootstage_error(BOOTSTAGE_ID_RD_CHECKSUM);