感谢您的阅读与点赞!欢迎点击右上角关注:「大猫玩程序」
上一节主要讲了Init进程的整体架构,以及Kernel启动的部分内容。
Android系统启动之init进程(一)-「Android取经之路」
本节主要讲解Android第一阶段启动的相关内容。第一阶段主要有以下内容:
- ueventd/watchdogd跳转及环境变量设置
- 挂载文件系统并创建目录
- 初始化日志输出、挂载分区设备
- 启用SELinux安全策略
- 开始第二阶段前的准备
4. Init 进程启动源码分析
我们主要是分析Android Q(10.0) 的init的代码。 涉及源码文件:
platform/system/core/init/main.cppplatform/system/core/init/init.cppplatform/system/core/init/ueventd.cppplatform/system/core/init/selinux.cppplatform/system/core/init/subcontext.cppplatform/system/core/base/logging.cppplatform/system/core/init/first_stage_init.cppplatform/system/core/init/first_stage_main.cppplatform/system/core/init/first_stage_mount.cppplatform/system/core/init/keyutils.hplatform/system/core/init/property_service.cppplatform/external/selinux/libselinux/src/label.cplatform/system/cor

本文详细解析Android系统启动第一阶段,包括init进程入口、ueventd进程如何处理设备节点创建,尤其是冷插拔和热插拔设备的处理,以及初始化日志输出和加载SELinux规则。重点关注ueventd_main函数和FirstStageMain函数中的关键操作。
最低0.47元/天 解锁文章
-「Android取经之路」...&spm=1001.2101.3001.5002&articleId=112137346&d=1&t=3&u=e5f7ed2fc8c64fdaa5493d5e339f6a61)
4257

被折叠的 条评论
为什么被折叠?



