1 linux 启动
android 系统其实也就是 linux 系统,其启动方式与 linux 系统盘是一样的。一般的 android 设备使用 uboot 做引导程序,用来启动 kernel。kernel 启动完成后挂载 android 的文件系统盘。
从 cpu 上电到 kernel 有以下执行过程:
上电 –> cpu片内rom –> uboot spl –> uboot –> kernel
部分设备不包含 uboot spl 阶段,都放在 uboot。spl 是 Second Program Loader 简写,主要是 pmu,DRAM 及栈初始化程序。其他程序初始化,包括以太网等程序是放在 uboot 阶段的。
2 fastboot recovery模式
在 uboot 中实现较为复杂的功能,如 tftp 下载,可以完成镜像升级。fastboot 模式就是在 uboot 阶段可以对分区中的镜像升级的模式,而 recovery 模式与 fastboot 模式有较大区别,recovery 模式需要进入linux系统,使用 linux 命令到完成镜像升级。
两种模式都是在 uboot 中完成选择,设备开机后,执行相关的硬件操作,uboot 根据相应的操作进入不同的模式。