摘要:
本文接着上文开始往下讲 1. SecondStageMain 此时就到了init的第二阶段。 int main(int argc, char** argv) { ... //执行此处 if (!strcmp(argv[1], "second_stage")) { return SecondStage 阅读全文
posted @ 2025-07-29 21:38
yooooooo
阅读(66)
评论(0)
推荐(0)
摘要:
本文接着上文开始讲解,上文中最后一步执行后会执行init启动过程中的第二步SetupSelinux(Selinux配置阶段),这样又会走到main.cpp中的main方法。 1. SetupSelinux 由于上一篇中最后一步在重新执行init的时候携带了参数selinux_setup,所以此处会走 阅读全文
posted @ 2025-07-29 21:24
yooooooo
阅读(51)
评论(0)
推荐(0)
摘要:
开机有好几种方式启动,本文主要讲的是按Power键开机流程。 本文参考AOSP 12原生代码,链接为:AOSP 12 Searchhttp://aospxref.com/android-12.0.0_r3/ 1. BootLoader加载 当按下设备电源键时,最先运行的就是 bootloader(固 阅读全文
posted @ 2025-07-29 20:58
yooooooo
阅读(119)
评论(0)
推荐(1)
摘要:
通用内核映像 (GKI) 可能不包含使设备能够装载分区所需的驱动程序支持。为了使设备能够装载分区并继续启动,增强了第一阶段 init,用于加载 ramdisk 上的内核模块。ramdisk 被拆分为通用 ramdisk 和供应商 ramdisk。供应商内核模块存储在供应商 ramdisk 中。内核模 阅读全文
posted @ 2025-07-29 20:33
yooooooo
阅读(44)
评论(0)
推荐(0)


浙公网安备 33010602011771号