RK3576 单板机系统使用手册:配置、升级与组件安装指南(三)

电子说

1.4w人已加入

描述

4 系统OTA升级说明

本章节主要介绍使用update工具进行OTA升级系统的方法。可通过网络自动下载升级固件进行升级;亦可通过下载升级固件至USB设备(例如U盘)后,再进行系统升级。

关于OTA升级更多说明请查阅产品资料“6-开发参考资料Rockchip官方参考文档LinuxRecovery”目录下的《Rockchip_Developer_Guide_Linux_Recovery_CN》文档。

备注:目前仅支持从eMMC启动系统进行OTA升级。

4.1 通过网络方式升级

执行如下命令,安装http服务器,安装成功后可看到"/var/www/html"目录下的index.html文件。

Host# sudo apt-get update

Host# sudo apt-get install apache2

rk3576图 37

rk3576图 38

执行如下命令,重启apache2服务。

Host# sudo /etc/init.d/apache2 restart

rk3576图 39

执行如下命令,查看PC机IP地址。

Host# ifconfig

rk3576图 40

通过浏览器访问"http://192.168.13.16/",其中192.168.13.16为PC机IP地址,显示"It works!"表示服务器搭建成功。

rk3576图 41

请将升级固件update.img拷贝至自定义的文件夹。执行如下命令,在"/var/www/html/"目录下创建一个文件夹存放update.img升级固件。

Host# sudo mkdir /var/www/html/file

Host# cd /var/www/html/file

rk3576图 42

rk3576图 43

通过浏览器访问"http://192.168.13.16/file",其中192.168.13.16为PC机IP地址,可看到通过客户端访问服务器的文件。

rk3576图 44

进入单板机系统,执行如下命令将update.img升级固件从http服务器端下载至单板机系统用户数据分区"/media/mmcblk0p8/"目录下,其中192.168.13.16为PC机IP地址。

Target# wget http://192.168.13.16/file/update.img -P /media/mmcblk0p8

rk3576图 45

执行如下命令,卸载"/dev/mmcblk0p8"(用户数据分区),创建"/userdata/"目录,并将"/dev/mmcblk0p8"分区重新挂载至"/userdata/"目录。

备注:由于使用update工具进行系统升级时,仅支持从系统"/userdata/"挂载点获取升级镜像,因此需将用户数据分区重新挂载至"/userdata/"。

Target# umount /dev/mmcblk0p8

Target# mkdir -p /userdata

Target# mount /dev/mmcblk0p8 /userdata

rk3576图 46

执行如下命令,进入recovery模式并进行Linux系统升级。

备注:升级过程中,单板机将会重启两次,第一次重启是为了进入recovery模式进行系统升级,第二次重启是系统升级完成后单板机重启。

Target# update ota /userdata/update.img

rk3576图 47

系统升级完成,单板机重新启动后将自动登录文件系统,打印信息如下。

rk3576图 48

4.2 通过USB方式升级

(1)拷贝升级固件至eMMC升级

请先将升级固件update.img通过USB设备拷贝至单板机系统用户数据分区"/media/mmcblk0p8/"目录。执行命令,进入recovery模式并进行系统升级,打印信息如下。

备注:由于使用update工具进行系统升级时,仅支持从系统"/userdata/"挂载点获取升级镜像,因此需将用户数据分区重新挂载至"/userdata/"。

Target# cp /media/sda1/update.img /media/mmcblk0p8/

Target# umount /dev/mmcblk0p8

Target# mkdir -p /userdata

Target# mount /dev/mmcblk0p8 /userdata

Target# update ota /userdata/update.img

rk3576图 49

rk3576图 50

系统升级完成,单板机重新启动后将自动登录文件系统,打印信息如下。

rk3576图 51

(2)直接从USB设备进行升级

由于使用update工具从USB设备进行系统升级时,仅支持从系统"/udisk"挂载点获取升级镜像,因此需将USB设备重新挂载至"/udisk"。

备注:

当接入多个USB设备时,请注意识别存放升级镜像的USB设备的分区。

为确保升级流程顺利完成,需严格遵循以下环境准备要求:升级所需的镜像文件(update.img)必须存放于"/udisk/"根目录下,此路径为update程序默认的资源加载位置,若文件存放路径错误将导致程序无法识别升级资源;同时需在执行update程序前预先创建"/userdata/"空目录,这是由于升级过程中update程序会执行关键路径完整性检测,若检测到该目录不存在,系统将触发保护机制自动终止升级流程并退出Recovery模式,最终导致升级失败。

Target# umount /dev/sda1

Target# mkdir -p /udisk

Target# mount /dev/sda1 /udisk

Target# mkdir -p /userdata

Target# update ota /udisk/update.img

rk3576图 52

系统升级完成,单板机重新启动后将自动登录单板机系统,打印信息如下。

rk3576图 53

注意:

(1)使用eMMC容量为16GByte配置的单板机同时升级系统多个分区时,其userdata分区容量可能无法满足升级固件(update.img)的大小,导致升级固件update.img无法完整拷贝至"/userdata/"目录下,从而导致OTA升级失败。因此,推荐对升级固件分区进行裁剪(分多次升级),或参考《系统开发手册》文档的“配置分区大小”章节,拓展userdata分区的容量。

(2)如需定制升级固件update.img,推荐仅保留需要升级的局部分区,减少升级固件update.img大小。

(3)如在package-file文件中配置了recovery分区升级,则recovery.img将不会在recovery模式中升级,为预防出现在升级recovery.img过程中掉电导致后面其他分区无法正常升级的问题,recovery分区在当前运行的默认系统下进行升级,即执行"update ota /userdata/update.img"命令后会先检测update.img升级固件中是否有打包recovery.img,若有则先升级recovery分区,再进入recovery模式升级其他分区固件;若没有则直接进入recovery模式进行固件升级。

(4)misc分区不推荐打包至update.img升级固件中,在升级程序中该分区将被忽略,即使升级misc分区,升级成功后recovery程序仍会清空misc分区中所有命令及参数,从而导致无法达到预期结果。

由于篇幅过长等原因,部分内容均不逐一展示,如需获取完整版详细资料,请关注Tronlong创龙科技微信公众号或官网,或者评论区留言,感谢您的支持!


审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分