嵌入式爱好者

3568 linux_OTA升级

2023-2-22 13:57| 发布者: huhj| 查看: 315| 评论: 0

类目: RK3568系列产品  >  Linux     文档编号: 926

概述

OTAOver-the-Air)即空间下载技术。 OTA 升级是 Android 系统提供的标准软件升级方式。它功能强大,可以无损失升级系统,主要通过网络,例如 WIFI3G/4G 自动下载 OTA 升级包,也支持通过下载 OTA 升级包到 SD /U 盘升级,OTA 的升级包可以根据需求自由打包大小,本文主要以rockchip平台3568讲述ota升级流程,本地升级程序 recovery 执行升级的流程及技术细节

 

3568 recovery 相关的源码路径:

OK3568-linux-source/external/recovery

若有修改以上目录中的源码文件之后的编译方法:

1. source envsetup.sh

2. 选择某一平台的 recovery 配置

3. make recovery-dirclean && make recovery //清除编译产物重新编译

4. make rkupdate-dirclean && make rkupdate //清除编译产物重新编译

5. ./build.sh recovery //生成recovery.img

6. ./mkfirmware.sh //将生成的固件拷贝至 rockdev/目录下

7. 烧写 recovery.img

例:

. . . . . .

. . .

 

升级流程

固件准备

修改 tools/linux/Linux_Pack_Firmware/rockdev/package-file ,根据需要升级的分区配置,修改该文件。

例:只升级kernel下的改动,将其他img文件注释掉

vim tools/linux/Linux_Pack_Firmware/rockdev/package-file

保存退出

根目录下执行命令:

./build.sh kernel //编译boot.img

./build.sh updateimg //打包升级包固件

命令执行成功后,会将package-file指定的分区镜像打包生成update.img 升级固件,放在 rockdev/目录下。使用该update.img 升级。

遇到错误“ErrorimageHead.uiTag !=0x57464B52”,该错误表明固件打包有错误,请按照
上述操作,重新生成 update.img 重试。

 

升级

将升级固件 update.img 放在 SD 卡或 U 盘根目录或者设备的/userdata 目录下

例:可以通过命令从ftp服务器下载镜像到/userdata下。

ftp下载

[root@ok3568:/]# scp forlinx@192.168.1.235:/**/update.img  /userdate/

(同一网段下,forlinx为服务器用户名,**update.img在服务器上的绝对地址,输入登录密码后就会执行下载)

下载好后执行如下命令进行升级

update  ota  /userdata/update.img

升级过程中设备将会进入 recovery 模式,并进行升级,升级成功后会进入到正常normal系统

 

注意事项:

打包 update.img 固件时需要注意,升级固件可以全分区打包,也可以部分升级,可修改 package-file 文件,将不要升级的分区去掉,这样可以减少升级包(update.img )的大小。

package-file recovery.img 如果打包进去的话 ,不会在 Recovery 模式中升级,为了预防升级recovery.img过程中掉电导致后面其他分区无法正常升级的问题,该分区升级放在 normal 系统下升级,即,执行 update 命令时会先检测 update.img 升级包中是否有打包 recovery.img,若有则升级recovery 分区,再进入 Recovery 模式升级其他分区固件。

misc 分区不建议打包进 update.img 中,即使有打包进去,也会在升级程序中加载判断到而忽略该分区,即使升级了 misc 分区,升级成功后 recovery 程序仍会清空 misc 分区中所有的命令及参数,从而导致达不到预想的结果。

如果将 update.img 升级包放置在 flash 中的 userdata 分区,则需要保证 package-file 中不包括userdata.img 被打包进去,原因是可能会导致文件系统的损坏,升级成功后可能使 oemuserdata 分区mount不成功。若从SD卡或 U 盘升级时,可以打包 userdata.img,从而对userdata 分区进行升级。升级完成后会对 userdata 分区重新resize 操作。

不带屏升级失败:

如果有屏,请接入屏再执行ota升级,如果设备没有屏,请在

buildroot/configs/OK3568-recovery_defconfig中加入BR2_PACKAGE_RECOVERY_NO_UI=y配置,编译刷机后,再进行ota升级


已解决

未解决

只是看看

最新评论

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-9-17 02:51

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

返回顶部