安卓的启动需要经历一系列的工作。首先,需要启动ROM,接下来需要引导加载程序、内核、init、Zygote与系统服务器。其中,后三者为Android特有的启动过程。

顺序 组件 Android Android Automotive
1 启动ROM 将引导加载程序的第一个阶段加载到内部RAM中。
2 引导加载程序 初始化内存、验证安全性并加载内核。
3 内核 设置中断控制器、内存保护、缓存和调度,并启动用户空间进程。
4 init 解析init.rc脚本、装载文件系统、启动 zygote、启动系统进程。 VHAL作为核心服务的一部分在 init 阶段启动。可移至早前状态,具体取决于 ServiceManager;需要移除共享库的依赖项(例如 init)。
5 Zygote 为 Android 对象设置 Java 运行时和 init 内存。
6 系统服务器 系统中的第一个 Java 组件,用于启动核心 Android 服务。 CarService在所有系统服务启动后启动。