本帖最后由 爱情海玩偶 于 2022-8-23 14:19 编辑
项目需要。需要升级。于是用自带的recovery里面的update来进行升级。但是现在升级不成功。报错的东西在文档里面也没有。
参考了《Rockchip_Developer_Guide_Linux_Upgrade_CN.pdf》和《Rockchip_Developer_Guide_Linux_Upgrade_CN.pdf》做了如下修改。
1、在自己的defconfig里面新增
BR2_PACKAGE_UPDATE=y
BR2_PACKAGE_RECOVERY_USE_UPDATEENGINE=y
BR2_PACKAGE_RECOVERY_UPDATEENGINEBIN=y
2、buildroot\configs\rockchip\recovery_updateEngine.config文件下的BR2_PACKAGE_RECOVERY_NO_UI=y被注释了。
3、修改tools/linux/Linux_Pack_Firmware/rockdev/package-file,去掉了recovery分区、misc分区和userdata分区。
修改完后进行了buil.sh 。放在U盘里。
在单板上执行update ota /udisk/update.img
直接报错提示没有recovery分区。
查找资料发现,使用update默认是进行所有分区升级。但是我没有打包recovery分区,所以升级失败。
之后尝试执行updateEngine --image_url=/udisk/update.img --misc=update --savepath=/udisk/update.img
--partition=0xA0000 --reboot
只升级boot和rootfs俩个分区
稍等一会后,升级出错,提示如下:
new md5:1962538dfaaec8bcbb082bb82d0e1076
LOG_INFO :MD5Check is ok of /dev/block/by-name/rootfs
new md5:9e93dde81cce80040a3a63650cb88144
LOG_INFO :MD5Check is ok of /udisk/update.img
LOG_ERROR : MD5Check is error of /dev/block/by-name/rootfs
LOG_ERROR : check /dev/block/by-name/rootfs failed.
LOG_INFO :rk m_status = 2.
查看/userdata/recovery/log。发现并没有生成log日志。
可以看到是rootfs校验出错。
所以结束后并没有重启。然后我手动重启。发现已经升级成功了。功能也是正常。但是不能重启。求助大佬怎么解决 |
|