全志科技
直播中

文小二

2年用户 830经验值
擅长:嵌入式技术 处理器/DSP 控制/MCU
私信 关注
[经验]

如何在全志V853开发板如何在Tina Linux中使用脚本完成定制化升级?

全志V853开发板购买链接:https://item.hqchip.com/2500386536.html

1.主题

在Tina Linux中,如何使用脚本完成定制化升级

2.问题背景

硬件:全平台
软件:Tina
其他:支持OTA升级的平台,可实现脚本定制化升级

3.具体表现

在OTA升级过程中,添加定制化需求,实现控制变量升级。

4.问题分析

利用swupdate升级满足定制化脚本需求

5.解决办法

因为swupdate支持脚本,所以在升级过程中,添加能够实现定制升级的脚本即可,将带有定制升级的脚本编入策略描述文件(sw-descrition)OTA升级配置文件中(sw-subimgs),在打包ota升级包时,将脚本一起打包进ota包中。在进行下面的配置后,输入升级命令时,首先开始执行脚本中的内容,满足升级条件后,再进行升级流程。下面进行详细的步骤介绍:

1.swupdate支持shellscript脚本,需要以下功能配置(默认选中)

执行:make menuconfig/make ota_menuconfig
Allwinner  --->
    <*> swupdate............................. software update for embedded system
        Swupdate Settings  --->
            General Configuration  --->
                [*] enable pre and postinstall scripts
        Image Handlers  --->
            [*] shellscript

2.在swupdate文件夹下创建脚本,名字随意,在脚本中写入要实现的功能。例如:目前有一个方案需要升级,但是分为A,B两种产品,对应做了不同的功能,为了防止升级混淆,可以利用脚本去控制变量升级,比如A产品方案中的env,可以添加一个变量project=a,B产品方案中的env添加一个变量project=b,那么脚本中的内容就可以判断project=a或b时,继续完成升级。env中添加内容和脚本内容举例如下:
env中:
在这里插入图片描述

脚本内容如下:
在这里插入图片描述

3.在描述文件中添加脚本功能,在sw-description中添加以下代码:
在这里插入图片描述

4.将脚本打包进ota包中,脚本名字可以任意起,我这里是preinstall_checkAB.sh。
在这里插入图片描述

5.重新编译主系统和recovery系统,烧录固件,打包ota包,再进行验证。

6.验证:当校验失败时,返回值为1,会看到如下打印,不能升级。
在这里插入图片描述

校验成功时,返回值为0,看到如下打印,升级成功。
在这里插入图片描述

更多回帖

发帖
×
20
完善资料,
赚取积分