<aside> 💡

开始操作前,请确保你的系统是ColorOS 15

</aside>

操作须知

什么是 init_boot

init_boot‌是Android系统中启动过程中的一个关键组件,主要负责在系统启动时初始化各种服务和系统配置。‌init_boot‌是init进程的前身,它在系统启动时执行一系列操作,为后续的系统启动和运行做准备。

init_boot的作用和功能

  1. 初始化服务和系统配置‌:在系统启动时,init_boot会读取配置文件(如init.rc),启动各种服务和系统配置,确保系统能够正常运行。
  2. 创建zygote进程‌:init_boot负责创建zygote进程,zygote进程是Android系统中所有应用的父进程,负责在需要时创建新的应用进程。
  3. 属性服务‌:init_boot还会启动属性服务,管理系统的各种属性设置。

init_boot的启动过程

  1. 电源开启和系统启动‌:首先,电源开启后,系统硬件进行初始化,包括CPU、内存、总线、外设等。
  2. 引导程序Bootloader‌:Bootloader负责从存储设备加载内核映像文件到内存中,并跳转到内核的起始位置开始执行。
  3. Linux内核启动‌:内核启动后,会初始化硬件设备,包括CPU、内存、总线、外设等,并创建进程。
  4. init进程启动‌:内核启动完成后,init进程作为第一个用户级进程被创建,它负责进一步初始化系统和启动各种服务。

init_boot与init进程的关系

init_boot是init进程的前身,负责在系统启动时进行一系列初始化操作。当init_boot完成其任务后,它通常会转变为init进程,继续负责系统的日常管理和服务启动。

为何要提取init_boot

提取init_boot的原因主要与Android系统的分区结构变化有关。从Android 13开始,Google对Android设备的分区方式进行了修改,引入了init_boot分区来包含通用的ramdisk。这个分区包含了系统启动时所需的关键服务和脚本,用于初始化系统和启动核心服务。因此,对于运行Android 13及以上版本的设备,如果要进行高级操作如获取root权限或安装第三方ROM,就需要提取init_boot.img文件,而不是之前的boot.img。这是因为init_boot分区包含了启动时需要的ramdisk,对其进行修补可以允许用户对系统进行更深层次的定制和控制。简而言之,提取init_boot是为了适配新的系统分区结构,确保系统启动和root权限获取等操作的兼容性和有效性。

操作环境

手机型号:一加 13