完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1.1 Recovery 模式简介 Recovery 模式指的是一种可以对安卓机内部的数据或系统进行修改的模式,(类似于windows pe 或 DOS)。在这个模式下我们可以刷入新的安卓系统,或者对已有的系统进行备份或升级,也可以在此恢复出 厂设置。 1.2 Recovery 模式在框架层的位置 Android 启动后,会先运行bootloader。Bootloader 会根据某些判定条件决定是否进入recovery 模 式。Recovery 模式会装载recovery 分区,该分区包含recovery.img。Recovery.img 包含了标准内核(和 boot.img 中的内核相同)以及recovery 根文件系统。 Android recovery 三个部分两个接口,recovery 的工作需要整个软件平台的配合,从架构角度看,有 三个部分: 1. Main System: 用boot.img 启动的Linux 系统,Android 的正常工作模式。 2. Recovery:用recovery.img 启动的Linux 系统,主要是运行recovery 程序。 3. Bootloader:除了加载、启动系统,还会通过读取flash 的MISC 分区获得来自Main System 和 Recovery 的消息,并以此决定做何种操作。 两个通信接口: 1. /cache/recovery/:command、log、intent 2. BCB(Bootloader Control Block):misc 分区 我们先来看以上三部分是如何通信的,先看下图: Main System 如何进入Recovery 模式:当我们在Main System 使用update.zip 包进行升级时, 系统会重启并进入recovery 模式。在系统重启前,我们可以看到Main System 定会向recovery 域写入 boot-recovery(粉红色线),用来告知bootloader 重启后进入Rcovery 模式。这一步是必须的,至于 Main System 是否会向recovery 域写入值我们在源码中不能肯定这一点。即便如此,重启进入Recovery 模式后,Bootloader 会从/cache/recovery/command 中读取值并放入到BCB 的recovery 域。而Main System 在重启之前肯定会向/cache/recovery/command 中写入Recovery 将要进行的操作命令。 下图是Main System 进入Recovery 模式调用接口的流程图: 请参考视壮科技官网里面的社区交流,有详细资料。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
9742 浏览 19 评论
9992 浏览 0 评论
3890 浏览 0 评论
8793 浏览 8 评论
2433 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-6 09:20 , Processed in 0.687075 second(s), Total 75, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号