软件架构
Recovery升级系统原理:
- Main System下载新版本升级包到设备存储;
- 重启进入Recovery System;
- Recovery从设备存储load升级包并升级Main System;
- 最后重启回到Main System。
与之对应的软件架构如下图所示:

- Main System
由五个软件层级组成,自下而上依次是:BootLoader、Kernel、Native、Framework、Application。 - Recovery System
由三个软件层级组成:BootLoader、Kernel、Native。
从图中可以看出Main System和Recovery System启动过程中共用一个BootLoader,BootLoader决定启动到哪个目标系统,然后从不同的分区加载软件镜像到内存中并跳转执行。
- BootLoader
比如高通平台使用UEFI作为BootLoader,从abl分区加载运行(MTK平台使用LK,从lk分区加载运行)。至于谁加载BootLoader并跳转到BootLoader运行?读者可以认为是固化在CPU上的一段代码完成的(实际上要比这复杂的多,但是原理一致)。 - Kernel
Main System和Recovery System的kernel是独立的(虽然内容一模一样,但根据传递的cmdline部分软件流程有差异)。都是BootLoader从指定分区load到固定的内存区域并调转运行的(Main System是从boot分区加载,Recovery System从recovery分区加载)。 - Native
Main Syst

本文介绍了Recovery系统升级原理及与MainSystem的关系。通过下载新版本升级包到设备存储,在RecoverySystem中加载并升级MainSystem,实现系统更新。文章详细解析了两者的软件架构区别,包括BootLoader、Kernel、Native等层级。
最低0.47元/天 解锁文章
5万+

被折叠的 条评论
为什么被折叠?



