安卓android的结构内容摘要:

来看看。 升级中还涉及到包的数字签名,签名方式和普通 JAR 文件签名差不错。 公钥会被硬编译入 recovery,编译时生成在: out/target/product/XX/obj/PACKAGING/ota_keys_inc_intermediates/ 三 种启动模式 MAGIC KEY: camera + power: bootloader 模式, ADP 里则可以使用 fastboot 模式 home + power: recovery 模式 正常启动 Bootloader 正常启动,又有三种方式,按照 BCB( Bootloader Control Block, 下节介绍)中的 mand分类: mand == 39。 bootrecovery39。 → 启动。 recovery 模式 mand == 39。 updateradio/hboot39。 → 更新 firmware( bootloader) 其他 → 启动 Recovery 涉及到的其他系统及文件 CACHE 分区文件 Recovery 工具通过 NAND cache 分区上的三个文件和主系统打交道。 主系统(包括恢复出厂设置和 OTA 升级)可以写入 recovery 所需的命令,读出 recovery 过程中的 LOG 和 intent。 /cache/recovery/mand: recovery 命令,由主系统写入。 所有命令如下: send_intent=anystring write the text out to update_package=root:path verify install an OTA package file wipe_data erase user data (and cache), then reboot wipe_cache wipe cache (but not user data), then reboot /cache/recovery/log: recovery 过程日志,由主系统读出 /cache/recovery/intent: recovery 输出的 intent MISC 分区内容 Bootloader Control Block (BCB) 存放 recovery bootloader message。 结构如下: struct bootloader_message { char mand[32]。 char status[32]。 // 未知用途 char recovery[1024]。 }。 mand 可以有以下两个值 “ bootrecovery”:标示 recovery 正在进行,或指示 bootloader 应该进入 recovery mode “ updatehboot/radio”:指示 bootloader 更新 firmware recovery 内容 “ recovery\n recovery mand\n recovery mand” 其中 recovery mand 为 CACHE:/recovery/mand 命令 两种 Recovery Case FACTORY RESET(恢复出厂设置) 用户选择“恢复出厂设置” 设 置系统将 wipe_data命令写入 /cache/recovery/mand 系统重启,并进入 recover 模式( /sbin/recovery) get_args() 将 bootrecovery和 wipe_data写入 BCB erase_root() 格式化(擦除) DATA 分区 erase_root() 格式化(擦除) CACHE 分区 finish_recovery() 擦除 BCB 重启系统 OTA INSTALL( OTA 升级) 升级系统下载 OTA 包到 /cache/ 升级系统写入 recovery 命令 update_package=CACHE: 重启,并进入 recovery 模式 ge。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。