展锐Android 10平台OTA升级

news2024/11/19 5:35:20

OTA 整体升级包制作步骤(以SC9863A平台为例)

  1. 下载项目 AP 的代码。
  2. 通过以下命令设置编译环境。
    source build/envsetup.sh
    lunch
    kheader
  3. 通过 make 命令全编整个工程。
  4. 进入“device/sprd/sharkle/sl8541e_1h10_32b/”目录(board 对应目录),手动建立 modem_bins 子目录。
  5. 将展锐发布的对应 AP 版本的 modem bins 按照“device/sprd/sharkle/common/ModemBuild.mk”中的规定名字改名后拷贝到“device/sprd/sharkle/sl8541e_1h10_32b/modem_bins/”目录下。

以下是 SC9863A平台 示例

device/sprd/sharkle/common/ModemBuild.mk
MODEM_COPY_LIST := ltemodem ltegdsp ltedsp pmsys ltenvitem wcnmodem ltedeltanv \
	gnssmodem gnssbdmodem

改名对应规则请参考“文档最后 Modem bins 改名映射”。

主 modem 以“.dat”为后缀的文件也要改为“.bin”为文件名后缀的文件。

ps:也可以根据ini文件中ota_partition中绿框是改名后的名字,实际的modem根据对应红框的大写名字去flash.cfg里面找

  • 通过命令“make otapackage”编译 OTA 整包 此命令运行完后会产生版本 target 包和 OTA 整包。整包目录:out/target/product/sl8541e_1h10_32b/sl8541e_1h10_32b_Natv-ota-eng.q.zip

PS:为了以后在版本升级时可以使用差分升级,要保留此版本对应的 target 文件。路径为:

out/target/product/sl8541e_1h10_32b/obj/PACKAGING/target_files_intermediates/sl8541e_1h10_32b_Natv-target_files-eng.q.zip
  • 如果要制作版本 PAC 包,请在此时执行命令生成 PAC 包。

PS:请严格在执行完 make otapackage 后做 PAC 包,因为 make otapackage 命令会对很多 img 重新编译,只有在此步骤后做的 PAC 包才是跟 target 包严格对应的。

我们也可以根据target包做ota整包:

./build/tools/releasetools/ota_from_target_files -k build/target/product/security/testkey sl8541e_1h10_32b_Natv-target_files-eng.q.zip update.zip

增量升级包制作步骤

差分升级包分为升级差分包和降级差分包。降级差分包是从新版本向老版本进行降级,Android 7.0 之后的版本支持该种升级包,由于是回退降级,要擦除 userdata,故此种升级包慎用。

  1. 下载 A 版本代码,执行“3.1 OTA 整体升级包制作步骤”中所有步骤,然后保存此版本对应的target 包 A-target.zip。
  2. 下载 B 版本代码,执行“3.1 OTA 整体升级包制作步骤”中所有步骤,然后保存此版本对应的target 包 B-target.zip。
  3. 执行命令制作差分升级包。“-k”后面参数 sign_key_dir 为实际版本的 key 的放置目录,在 user 版本是“build/target/product/security/release/releasekey”,在 userdebug 版本是“build/target/product/security/testkey”。
    升级差分包制作:
    ./build/tools/releasetools/ota_from_target_files –k sign_key_dir -i A-target.zip B-target.zip A-B_update.zip
    降级差分包制作此处须注意 A 版本必须要比 B 版本新,即编译时间靠后。这种差分包需要加入“--downgrade”参数。
    ./build/tools/releasetools/ota_from_target_files --downgrade –k sign_key_dir -i A-target.zip B-target.zip A-B__downgrade_update.zip
    
    举例子:
    ./build/tools/releasetools/ota_from_target_files -k build/target/product/security/testkey -i sl8541e_1h10_32b_Natv-target_files-eng.q.V1.zip sl8541e_1h10_32b_Natv-target_files-eng.q.zip update.zip

通过 PAC 包产生 OTA 升级包 

PAC 包直接产生 OTA 升级包好处有:

  • 无需进行 target 包编译,节省编译时间。
  • 不会因 target 包遗失而无法产生升级包。
  • 无需另辟很大存储空间进行 target 包和 OTA 整包存储。

具有该种功能的 OTATOOLS 思路是从 PAC 包中的 imgs 和分区表中解析出制作 OTA 升级包所必须的要素,并最终制作出 OTA 升级包。

目前已有的 OTATOOLS 能同时使用 PAC 包和 target 包产生升级包,能产生 OTA 整包、差分包、downgrade 包等。

OTATOOLS 工具获取

依次执行如下命令即可编译出项目对应 otatool:

1. source build/envsetup.sh
2. lunch 对应项目工程
3. kheader
4. make otatools

编译出的 otatool 在 out/target/product/spXXXX/目录下,由于该目录可能会被频繁的删除并重编,请将otatool 文件夹(otatools.zip 解压也行)直接挪至其他非工程代码 linux 环境的单独目录使用。

该 otatool 的特点:

  • 经一次编译,可长期使用,无需每个版本都重新产生。
  • 该 tool 即能用 target 包产生 OTA 升级包,也能用 PAC 包产生 OTA 升级包。

 

具体做包指令

制作 OTA 整包
./build/make/tools/releasetools/ota_from_pac_files -p product_name -k sign_key -t pac_target full_update.zip
制作 OTA 差分升级包
./build/make/tools/releasetools/ota_from_pac_files -p product_name -k sign_key -b pac_base -t pac_target delta_base-to-target.zip
制作降级差分升级包
./build/make/tools/releasetools/ota_from_pac_files -d -p product_name -k sign_key -b pac_newer_build -t pac_oldrget delta_update_newer-to-old.zip

 

Modem bins 改名映射

 

 

 

 以上即可做出OTA整包或者差分包。 

 单曲循环《如愿》

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/82273.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

5G无线技术基础自学系列 | 站点详细勘测

素材来源:《5G无线网络规划与优化》 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 站点的勘测结果非常重要,直…

高压放大器在硅氧烷近晶相单体合成中的应用

实验名称:高压放大器在硅氧烷近晶相单体合成中的应用 研究方向:晶体材料 测试目的: 双稳态包括向列相双稳态、近晶A相双稳态和胆甾相双稳态,目前主要的研究是在近晶A相双稳态,由近晶&#xff21…

自动驾驶专题介绍 ———— 转向系统

文章目录转向系统转向器齿轮齿条式循环球式蜗杆曲柄指销式转向助力液压转向助力系统电动转向助力系统发展转向系统 转向系统是按照驾驶员的意图改变或保持汽车行驶方向的系统。根据转向能源的不同,可以将转向系统分为机械转向系统和动力转向系统。   1. 机械转向系…

188: vue+openlayers上传GeoJSON文件,导出CSV格式文件

第188个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers上传geojson文件,解析文件在地图上显示图形,同时利用上传的文件,获取features数据,整合重新配置格式,导出CSV(Comma Separated Values)形式的文件。如果文件仅包含点要素,则会添加经度和纬度列。 …

能源管理系统的主要功能|瑜岿科技|能源监测

能源管理系统利用过程控制技术、网络通信技术、教据库技术将分布在现场的数据采集监测站、现场控制站以及管理控制中心联系了起来,实现对企业生产数据采集、存储、处理、统计、查询及分析的功能,以及对企业生产数据的监控、分析和诊断,通过对…

Dynamic Few-Shot Visual Learning without Forgetting

摘要 人类视觉系统有显著的能力去毫不费力的从零样本示例中学习新颖概念。机器学习视觉系统上模仿相同的行为是一个有趣的非常具有挑战性的研究问题,这些研究问题有许多实际的优势在真实世界视觉应用上。在这篇文章中,我们目标是去设计一个零样本视觉学…

mysql中MVCC--多版本并发控制

读读:不存在任何安全问题,不需要并发控制 读写:有线程安全问题,脏读、幻读、不可重复读 写写:有线程安全问题,更新丢失 为了解决读写的并发问题 什么是MVCC 只有InnoDB引擎支持mvcc,mysql默认支持可重复读,就是依赖…

常用数据库之mysql的搭建与使用

1. 简介 mysql为关系型数据库,是由瑞典的MySQLAB公司开发的,但是几经辗转,现在是Oracle产品。它是以“客户/服务器”模式实现的,是一个多用户、多线程的小型数据库服务器。而且MySQL是开源数据的,任何人都可…

Qt 模型视图编程之自定义只读数据模型

背景 Qt 中的模型视图架构是用来实现大量数据的存储、处理及其显示的,主要原理是将数据的存储与显示分离:模型定义了标准接口对数据进行访问;视图通过标准接口获取数据并定义显示方式;模型使用信号与槽机制通知视图数据变化。 Q…

基于Java Web技术的动车购票系统

毕 业 设 计 中文题目基于Java Web技术的动车购票系统英文题目Train ticket system based on Web JavaTechnology毕业设计诚信声明书 本人郑重声明:在毕业设计工作中严格遵守学校有关规定,恪守学术规范;我所提交的毕业设计是本人在 指导教师…

零入门容器云网络-7:基于golang编程实现给ns网络命名空间添加额外的网卡

已发表的技术专栏(订阅即可观看所有专栏) 0  grpc-go、protobuf、multus-cni 技术专栏 总入口 1  grpc-go 源码剖析与实战  文章目录 2  Protobuf介绍与实战 图文专栏  文章目录 3  multus-cni   文章目录(k8s多网络实现方案) 4  gr…

“美亚杯”第三届中国电子数据取证大赛答案解析(个人赛)

试题 1 Gary的笔记本电脑已成功取证并制作成镜像 (Forensic Image),下列哪个是其MD5哈希值。 A. 0CFB3A0BB016165F1BDEB87EE9F710C9 B. 5F1BDEB87EE9F710C90CFB3A0BB01616 C. A0BB016160CFB3A0BB0161661670CFB3 D. 16160CFB3A0BB016166A0BB0161661…

独立产品灵感周刊 DecoHack #041 - 那些独立开发者是怎么养活自己的

本周刊记录有趣好玩的独立产品设计开发相关内容,每周发布,往期内容同样精彩,感兴趣的伙伴可以点击订阅我的周刊。为保证每期都能收到,建议邮件订阅。欢迎通过 Twitter 私信推荐或投稿。 💻 产品推荐 1. SOCCER STREAM…

分布式的设计思想

一、分布式设计基础 传统架构问题 ① 单机资源不足 存储:3台机器,每台机器都有2T的硬盘空间,但是现在有1个3T的文件要存储计算:3台机器,每台机器都有8核CPU和8GB内存,但是现在有1个程序需要12核CPU和24G…

启明智显分享| Sigmastar SSD212 SPI+RGB点屏示例(2.1寸 480*480圆屏,可应用于旋钮)

SSD20X 点SPIRGB屏和SSD212 类似,区别在于对应文件名不同、SSD20X没有config.ini文件。 SSD20X SPI初始化文件:vi boot/common/cmd_customer_init.c SSD20X由于没有config.ini 可以用jpeg2disp 中.h 屏参头文件的方式实现显示logo。 这里以SSD212 点屏为…

Java——AVL树

平衡二叉树 在之前的blog中讲到,平衡二叉树是一棵树,任意一个节点的左树的所有节点都小于这个节点,右树的所有节点都大于这个节点 因此,可以利用这个性质来中序遍历,就可以得到一个有序的序列,而如果我们要…

谷歌地图商家抓取工具 G-Business Extractor 7.5

G 业务提取器 | 谷歌地图抓取工具 G-Business Extractor是一款功能强大的工具,可帮助您从 Google 地图中寻找商机。它是最好的Google Maps Scraper工具,能够从最重要的企业目录中提取数据。 Google 地图是一个来源,您可以在其中找到按类别和位…

“美亚杯”第三届中国电子数据取证大赛答案解析(团体赛)

Questions Gary被逮捕后,其计算机被没收并送至计算机取证实验室。经调查后,执法机关再逮捕一名疑犯Eric,并检取其家中计算机(window 8), 并而根据其家中计算机纪录, 执法机关再于其他地方取得一台与案有关的服务器,而该服务器内含四个硬盘。该服务器是运…

跨端开发浪潮中的变与不变

自 90 年代初开启 PC 时代以来,随着移动网络的快速普及,在 2010 年左右,进入移动时代、IOT 时代,各种移动互联设备不断涌现,除了最常见的 PC、Pad、智能手机外,它还可能是小小的一块智能手表,也…

NKOJ P9492 【USACO】视频共享

题目分析 这道题其实最容易想到的方法是离线枚举,但是其时间复杂度为,很明显会超时(这题数据连离线化都救不了) 那该如何办? 并查集;因为他说有一个推荐列表,而这个推荐列表中i号视频推荐了j号视频&#…