请选择 进入手机版 | 继续访问电脑版

扫一扫,访问微社区

查看: 126|回复: 0

教你如何生成用于 Verifiedboot 的 system.img

[复制链接]

36

主题

36

帖子

910

积分

超级版主

Rank: 8Rank: 8

积分
910
发表于 2018-8-28 14:12:17 | 显示全部楼层 |阅读模式


Android 从 6.0 开始启用了 Verifiedboot,来保证系统的完整性
¶GetVerityTreeSize 和 GetVerityMetadataSizebuild_verity_tree -s 2046820352build_verity_metadata.py -s 2046820352该两个方法在源码的 ./tools/releasetools/build_image.py 中.参数是真实 system 分区的大小
¶生成预留空间的 system.simg要重新打包 system.simg 给 verity_tree 和 verity_metadata 预留出空间, -l 指定的大小为真实 system 空间的大小减去上一步分别得到的大小
¶生成 root_hash 即 verity_treebuild_verity_tree -A aee087a5be3b982978c923f566a94613496b417f2af592639bc80d141e34dfe7 system.simg verity.img其中 aee087a5be3b982978c923f566a94613496b417f2af592639bc80d141e34dfe7 是 salt, system.simg 需要是 sparse image,生成 verity.img.命令输出例子3a82cfc74206a6a8b467fb699022d86ea36dee48b04fc8b40585d2cad941f463 aee087a5be3b982978c923f566a94613496b417f2af592639bc80d141e34dfe7第一个就是后面要用到的 root_hash 值。
¶生成 verity_metadatabuild_verity_metadata.py 2030665728 verity_metadata.img 3a82cfc74206a6a8b467fb699022d86ea36dee48b04fc8b40585d2cad941f463aee087a5be3b982978c923f566a94613496b417f2af592639bc80d141e34dfe7 /dev/block/platform/msm_sdcc.1/by-name/system verity_signer verity.pk8其中第一个参数是预留了空间后的 system 大小,后面的分别是 root_hash、salt、system 分区在手机里的分区、signer_path、私钥。最后生成 verity_metadata.img,32768 个字节 32kb 是固定值。
¶生成最终的 imageappend2simg system.simg verity_metadata.imgappend2simg system.simg verity.img分别是前两步中生成的文件。
¶参考
Android 从 6.0 开始启用了 Verifiedboot,来保证系统的完整性
¶GetVerityTreeSize 和 GetVerityMetadataSizebuild_verity_tree -s 2046820352build_verity_metadata.py -s 2046820352该两个方法在源码的 ./tools/releasetools/build_image.py 中.参数是真实 system 分区的大小
¶生成预留空间的 system.simg要重新打包 system.simg 给 verity_tree 和 verity_metadata 预留出空间, -l 指定的大小为真实 system 空间的大小减去上一步分别得到的大小

来源:{http://bbs.zecoki.com/forum-70-1.html}
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




上一篇:boot.img格式文件结构解析
下一篇:Odex合并神器|SVADeodexerForArt V5.5|支持安卓7.0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表