深入探索SELinux策略加载与SELinuxFS
1. Android设备的启动与策略加载
1.1 启动流程概述
Android设备的启动顺序与*NIX系统类似。启动加载器会启动内核,内核最终执行 init 进程。 init 进程负责通过 init 脚本和守护进程中的一些硬编码逻辑来管理设备的启动过程。与所有进程一样, init 进程的入口点是 main 函数,这也是第一个用户空间进程的起点,其代码位于 system/core/init/init.c 。
1.2 策略加载代码分析
当 init 进程进入 main 函数时,它会处理命令行参数,挂载一些 tmpfs 文件系统(如 /dev )和一些伪文件系统(如 procfs )。对于支持SELinux的Android设备, init 进程会在启动过程中尽早将策略加载到内核中。SELinux系统的策略并非内置于内核,而是存放在一个单独的文件中。在Android早期启动时,唯一挂载的文件系统是根文件系统,它是一个内置在 boot.img 中的ramdisk,策略文件可以在根文件系统的 /sepolicy 路径下找到。以下是相关代码:
超级会员免费看
订阅专栏 解锁全文
1503

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



