一次升级失败的问题处理

给客户做好一个retail的release之后,需要验证。打算升级到调试板中,遇到一些问题,最后也很有技巧的解决了,所以在这里记录下来。
 
1:因为调试板中,已经存在failsafe程序,所以插入U盘,重启,进入u-boot,选择menu 4 - 即运行failsafe
但是出现:
==> Mounted sda1 on /media/disk
checksum ok
open partition /dev/mtd6 failed
checksum ok
open partition /dev/mtd7 failed
 
2:怀疑failsafe有问题,升级failsafe
A:把u盘/files/目录下的rootfs.failsafe.sum和auImage.failsafe.sum加上confirm后缀
重启并选择nfs启动
当然这之前,需要把trace版本的auImage拷贝至ftp目录,nfsroot的指向也需要变更到trace版本rootfs
结果发现: exStbUpgradeNormal不存在(这是在make_windows_usb_image时生成)
 
B: 把retail下的exStbUpgradeNormal拷贝至/rootfs/opt/nxp/bin目录
 
最后完成failsafe升级
结果错误相同
 
3:到u-boot下面检测mtdparts
 #: name                        size            offset          mask_flags
 0: Boot0               0x00020000      0x00000000      0
 1: Boot1               0x00100000      0x00020000      0
 2: Env                 0x00080000      0x00120000      0
 3: K0                  0x00200000      0x001a0000      0
 4: FS0                 0x00800000      0x003a0000      0
 5: User                0x00200000      0x00ba0000      0
active partition: nand0,0 - (Boot0) 0x00020000 @ 0x00000000
defaults:
mtdids  : nand0=gen_nand
mtdparts: mtdparts=gen_nand:128k(Boot0),1M(Boot1),512k(Env),4M(Kernel),16M(Filesystem),128k(User)
错误就在这里,因为没有为kernel启动指定mtd6和mtd7,所以手动设置如下:
setenv mtdparts 'mtdparts=gen_nand:128k(Boot0),1M(Boot1),512k(Env),2M(K0),8M(FS0),512k(User),3M(K1),16M(FS1)'
之后选择failsafe运行ok!
 
 

你可能感兴趣的:(职场,休闲,升级失败)