鸿蒙开源组件——升级包制作工具

jacksky
发布于 2021-11-22 18:34
浏览
1收藏

升级包制作工具

简介

升级包制作工具是用于制作升级包的工具,功能主要包括:全量升级包制作、差分升级包制作以及变分区升级包制作。

  • 全量升级包制作:升级包中只包括镜像全量升级相关数据,用于镜像全量升级;

  • 差分升级包制作:升级包中只包括镜像差分升级相关数据,用于镜像差分升级;

  • 变分区升级包:升级包中包括分区表、镜像全量数据,用于变分区处理和变分区后的镜像恢复。

目录

/base/update/packaging_tools
├── lib                         # 制作升级包工具依赖库目录
├── blocks_manager.py           # BlocksManager类定义,用于block块管理
├── build_update.py             # 差分包制作工具入口代码,入口参数定义
├── gigraph_process.py          # 生成Stash,重置ActionList的顺序
├── image_class.py              # 全量镜像、稀疏镜像解析处理
├── log_exception.py            # 全局log系统定义,自定义exception
├── patch_package_process.py    # 差分镜像处理,Block差分获取patch差异
├── script_generator.py         # 升级脚本生成器
├── transfers_manager.py        # 创建ActionInfo对象
├── update_package.py           # 升级包格式管理、升级包写入
├── utils.py                    # Options管理,其他相关功能函数定义
└── vendor_script.py            # 厂商升级流程脚本扩展

说明

工具运行环境配置:

  • Ubuntu18.04或更高版本系统;

  • python3.5及以上版本;

  • python库xmltodict, 解析xml文件,需要单独安装;

  • bsdiff可执行程序,差分计算,比较生成patch;

  • imgdiff可执行程序,差分计算,针对zip、gz、lz4类型的文件,对比生成patch;

  • e2fsdroid可执行程序,差分计算,用于生成镜像的map文件。

工具参数配置说明:

positional arguments:
target_package         Target package file path.
update_package        Update package file path.
optional arguments:
-h, --help                                                show this help message and exit
-s SOURCE_PACKAGE, --source_package SOURCE_PACKAGE        Source package file path.
-nz, --no_zip                                             No zip mode, Output update package without zip.
-pf PARTITION_FILE, --partition_file PARTITION_FILE       Variable partition mode, Partition list file path.
-sa {ECC,RSA}, --signing_algorithm {ECC,RSA}              The signing algorithm supported by the tool include['ECC', 'RSA'].
-ha {sha256,sha384}, --hash_algorithm {sha256,sha384}     The hash algorithm  supported by the tool include ['sha256', 'sha384'].
-pk PRIVATE_KEY, --private_key PRIVATE_KEY                Private key file path.

全量升级包制作命令示例:

python build_update.py ./target/ ./target/package -pk ./target/updater_config/rsa_private_key2048.pem

差分升级包制作命令示例:

python build_update.py -s source.zip ./target/ ./target/package -pk./target/updater_config/rsa_private_key2048.pem

相关仓

升级子系统

update_packaging_tools

update_packaging_tools-master.zip 3.94M 27次下载
已于2021-11-22 18:34:13修改
1
收藏 1
回复
举报
1条回复
按时间正序
/
按时间倒序
wx634e5941cc80a
wx634e5941cc80a

稀疏镜像可以做差分包吗 ?  这上面的做差分包的命令在基于 raw 还是稀疏镜像做的差分 

回复
2022-10-18 15:53:24
回复
    相关推荐