
回复
升级包制作工具是用于制作升级包的工具,功能主要包括:全量升级包制作、差分升级包制作以及变分区升级包制作。
/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 # 厂商升级流程脚本扩展
工具运行环境配置:
工具参数配置说明:
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