ery-from-boot.p,目录结构如下所示:
├── bin
│ └── install-recovery.sh
└── recovery-from-boot.p
其中:
- recovery-from-boot.p 是boot.img和recovery.img的补丁(patch)
- install-recovery.sh 则是来用安装recovery-from-boot.p的升级脚本, 主要是利用android系统的 applypatch 工具来打补丁。
至此,一个完整的OTA包升级就正式完成了!
4. Bootloader、BCB、Recovery与Main System之间的交互
首先,通过前面的介绍,可以知道, Recovery System与Main System的交互,主要是通过/cache分区下的文件进行信息交互的。具体如下:
其中,command的值一般有以下一个或多个:
其次,Bootloader与Recovery和Main System之间也是存在交互的: Bootloader会通过解析BCB模块,决定启动系统到Recovery或Main System。而Recovery或Main System也能够操作BCB,进而影响到Bootloader的行为。
当Main System系统关键进程崩溃太多次的时候,系统还会自发启动进入到Recovery模式。
另外,部分平台的Android设备,在Recovery模式下,也能够对Bootloader进行升级。
Bootloader、BCB、Recovery与Main System四者相互影响,又独立工作。它们之间斩不断理还乱的关系,可以以下图概括之: