按下电源到拉起bootloader不在我目前能研究的范围,所以从github找了份Pixel6的kernel源码看看https://github.com/GrapheneOS/kernel_gs ,看一下linux kernel拉起Android的init

kernel源码目录/init/main.c#kernel_init,先初始化环境信息,再通过run_init_process进行Android init拉起动作,默认尝试加载根目录下的ini文件。

至于/init不存在,验证参数初始函数init_setup给execute_command赋的路径,再不存在就尝试验证/sbin/init||/etc/init||/bin/init ||/bin/sh

上图可以看到,/init只是个软链接,最终指向了/system/bin/init

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注