[求助]Verifying Checksum ... Bad Data CRC
请问一下.我使用的是CPU 8695 Kernel= 2.6.17.8
我把编译好的内核和文件系统使用
mkimage -A arm -O linux -T multi -C none -a 0x8000 -e 0x8000 -n "Kernel-Ramdisk-Image" -d zImage:Ramdisk mImage
命令生成了一个mImage文件,
我使用tftp 0xA00000 mImage 到版主中后.
bootm 0xA00000
Image Name: Kernel-Ramdisk-Image
Image Type: ARM Linux Multi-File Image (uncompressed)
Data Size: 2093015 Bytes =2 MB
Load Address: 00008000
Entry Point:00008000
Contents:
Image 0: 946956 Bytes = 924.8 kB
Image 1:1146047 Bytes =1.1 MB
Verifying Checksum ... OK
这样就可以起来了.
但是我通过起来后的系统进板子的串口,使用
flash_erase /dev/mtd1
cp mImage /dev/mtdblock1
重启后就不能启动了.在U-BOOT校验时就出现错误了.
Image Name: Kernel-Ramdisk-Image
Image Type: ARM Linux Multi-File Image (uncompressed)
Data Size: 2093015 Bytes =2 MB
Load Address: 00008000
Entry Point:00008000
Contents:
Image 0: 946956 Bytes = 924.8 kB
Image 1:1146047 Bytes =1.1 MB
Verifying Checksum ... Bad Data CRC
难道是u-boot和内核写文件的方式不同. 大家都很少使用U-BOOT吗?
还是没有遇到过这种问题呢? sbc2410=>tftp 0x30008000 zImage.img
sbc2410=>nand erase 0x30000 0x1d0000
sbc2410=>nand write 0x30008000 0x30000 0x1d0000 原帖由 sep 于 2008-9-8 15:03 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
sbc2410=>tftp 0x30008000 zImage.img
sbc2410=>nand erase 0x30000 0x1d0000
sbc2410=>nand write 0x30008000 0x30000 0x1d0000
0x30008000不是RAM区域吗?你写到那里是想干什么?
就算是Nand区域,这个地址是哪里呀?你有这么大的Nand(768MB)? 我是在内核中写就会出现错误,
通过U-BOOT tftp是可以正常启动的.... 原帖由 rodgerluo 于 2008-9-8 15:13 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
0x30008000不是RAM区域吗?你写到那里是想干什么?
就算是Nand区域,这个地址是哪里呀?你有这么大的Nand(768MB)?
具体看http://blog.chinaunix.net/u/25764/showart_1011879.html
0x30008000的确是RAM区域
nand erase 0x30000 0x1d0000 是将0x30000(这个是你flash上kernel分区的首地址)开始、大小为0x1d0000(这个是kernel分区大小)擦除
nand write 0x30008000 0x30000 0x1d0000是将内存地址0x30008000开始、大小为0x1d0000的内容拷贝到flash地址0x30000
这样说,你明白吗? 原帖由 cltnet 于 2008-9-8 15:30 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
我是在内核中写就会出现错误,
通过U-BOOT tftp是可以正常启动的....
所以我叫你不要进入系统copy啊,copy文件系统好像是可以
在uboot命令行下copy 原帖由 sep 于 2008-9-8 16:25 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
所以我叫你不要进入系统copy啊,copy文件系统好像是可以
在uboot命令行下copy
是啊,在uboot下我copy后系统是正常启动的.并且也可以断电重启.
现在我是想在系统中先用flash_erase擦除.在copy进分区里面保存.
但是现在我在系统中就不行了.
在uboot下面是正常的读写,保存了的. 原帖由 cltnet 于 2008-9-8 17:05 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
是啊,在uboot下我copy后系统是正常启动的.并且也可以断电重启.
现在我是想在系统中先用flash_erase擦除.在copy进分区里面保存.
但是现在我在系统中就不行了.
在uboot下面是正常的读写,保存了的.
我明白你意思了
这样吧,你mount -o loop /dev/mtdblock1 /mnt,然后cp mImage /mnt,看看行不? 原帖由 sep 于 2008-9-8 17:13 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
我明白你意思了
这样吧,你mount -o loop /dev/mtdblock1 /mnt,然后cp mImage /mnt,看看行不?
也不行.
我在想flash空间是划分够了的.那会是什么错误呢?
会不会是uboot copy时使用的二进制或是ASCII与在系统中copy不一样造成的呢?
我想除了这点原因我暂时还想不到其他的原因了...
有什么不同呢?
页:
[1]
2