1.Android的启动流程图
2.基于QualComm SOC的设备启动流程
PBL(Primary Boot Loader)→ XBL(eXtensible Boot Loader/Secondary bootloader) → ABL(Application bootloader)→ Kernel→ Android
- PBL:主引导加载程序,固化在ROM上;(QC SOC的启动固件,负责上电后的第一步操作;空板上电自动进9008)
QualComm bootloader 采用UEFI(Universal Extensible Firmware Interface):XBL、ABL
- XBL(Extensible Boot Loader / Secondary bootloader):
扩展引导加载程序(有时加载会被细分为SBL1、SBL2、SBL3);
XBL中会编译firehose_programmer(firehose_programmer.c),分区表,用于provision,下载和第一次启动;
- ABL(Application bootloader):应用引导程序,引导android启动,加载Linux内核(linuxloader.c,内核加载器);
xbl初始化后的信息传递给内核,此阶段会加载启动logo;
XBL:负责芯片驱动及充电等核心应用功能等初始化(在该阶段会进行项目、板级、器件等区分,并将区分的信息通过数据结构传递至ABL)
ABL:包括芯片无关的应用如fastboot,并接收XBL一些初始化的信息并将其传递至kernel(内核会解析传递进来的信息)