rockchip ota差异包制作

基于rockchip平台制作ota差异包,废话不多说,直接上方法。

 

一、OTA完整包生成方法

OTA完整包可用于T卡本地升级和OTA在线升级。OTA完整包包含完整的system、recovery.

和boot.img。

发布一个版本固件正确顺序:

make -j4

make otapackage

./mkimage.sh ota

 

注意:发布固件必须使用./mkimage.sh ota,将bootkernel打包,不需要单独烧kernel,如果量产固件是分开的,将会影响后面差异包升级,除非你不需要用差异升级!

 

在out/target/product/rk3188/目录下会生成ota完整包rk3188-ota-eng.root.zip,改名成

update.zip即可拷贝到T卡或内置flash中进行固件升级。

 

二、OTA差异包生成方法

OTA差异包只有差异内容,包大小比较小,主要用于OTA在线升级,也可T卡本地升级。OTA差异包制作需要特殊的编译进行手动制作。

  1. 首先发布v1版本的固件,生成v1版本的完整包
  2. 保存

out/target/product/rk3188/obj/PACKAGING/target_files_intermediates/rk3188-target_files-eng.root.zip 为rk3188-target_files-v1.zip,作为v1版本的基础素材包。

  1. 修改kernel代码或者android 代码,发布v2版本固件,生成v2版本完整包

(4)保存

out/target/product/rk3188/obj/PACKAGING/target_files_intermediates/rk3188-target_files-eng.root.zip 为rk3188-target_files-v2.zip,作为v2版本的基础素材包。

  1. 生成v1-v2的差异升级包:

./build/tools/releasetools/ota_from_target_files  -v  -i  rk3188-target_files-v1.zip 

-p  out/host/linux-x86  -k  build/target/product/security/testkey  rk3188-target_files-v2.zip 

out/target/product/rk3188/rk3188-v1-v2.zip

 

说明:  生成差异包命令格式:

ota_from_target_files 

-v -i  用于比较的前一个target file 

-p host主机编译环境

-k  打包密钥

用于比较的后一个target file

最后生成的ota差异包

 

  • 版本管理

从生成差异包的方法可以知道,差异包是两个版本的素材包做差异生成,所以每发布一个版本固件必须保存obj下的素材包以及可升级的完整包和./mkimage.sh ota生成的各个image。

 

如果有使用在线升级,必须给每个版本固件配置唯一的ota版本号:

 

device/rockchip/rksdk/rksdk.mk中的

ro.product.version = 1.0.0(也可以是其他格式的版本号字符串

 

你可能感兴趣的:(rockchip ota差异包制作)