首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >全志系列芯片如何在Tina Linux中使用脚本完成定制化升级?

全志系列芯片如何在Tina Linux中使用脚本完成定制化升级?

作者头像
阿志小管家
发布2024-02-02 17:31:17
发布2024-02-02 17:31:17
8590
举报

1.主题

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

2.问题背景

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

3.具体表现

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

4.问题分析

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

5.解决办法

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

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

代码语言:javascript
复制
执行: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,看到如下打印,升级成功。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-02-02,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 1.主题
  • 2.问题背景
  • 3.具体表现
  • 4.问题分析
  • 5.解决办法
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档