您的位置:首页 > 移动开发 > Android开发

Android Recovery系统分析3----Android系统的几种启动模式

2013-03-28 10:10 806 查看
Android系统启动后可能会进入的几种工作模式,如下图所示:



由上图可知,Android系统启动后可能进入一下几种模式:

1) 组合键

Fastboot模式。若用户在启动时按了Vol down + power组合键,则会进入bootloader模式,并可进入fastboot刷机。
Recovery模式。若用户在启动是按了Vol up + power组合键,系统会直接进入recovery模式。以这种方式进入recovery模式时系统会进入一个简单的UI界面,用来提示用户进一步操作。

2) 正常启动

若启动过程中没有按下任何组合键,bootloader会读取位于MISC分区的启动控制信息快BCB(Bootloader Control Block)。它是一个结构体,存放着启动命令。根据不同的命令,系统有可以进入3种不同的启动模式。BCB结构体定义如下:

struct bootloader_message{

char command[32]; //存放不同的启动命令

char status[32]; //update-radio完成存放执行结果

char recovery[1024]; //存放/cache/recovery/command中的命令

};

其中command可能的值有两种,与值为空一起区分三种启动模式:

Command为boot-recovery时,系统会进入Recovery模式。Recovery服务会根据recovery参数和/cache/recovery/command中的命令执行相应的操作(例如升级或擦除cache、data分区等)
Command为update-radio时,系统会进入更新firmware(modem和bootloader),具体由bootloader完成。
Command为空时,没有任何启动命令,系统会进入正常的启动,最后进入主系统。这是最常见的启动流程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐