less than 1 minute read

页-1 Actor lifeline system/core/init/main.cpp 工作表.2 工作表.3 工作表.4 system/core/init/main.cpp Object lifeline system/core/init/first_stage_init.cpp 工作表.6 工作表.7 工作表.8 工作表.9 system/core/init/first_stage_init.cpp Object lifeline.54 system/core/init/util.cpp 工作表.11 工作表.12 工作表.13 工作表.14 system/core/init/util.cpp Activation 激活.60 激活.17 Message.21 SetupSelinux SetupSelinux 消息.132 InstallRebootSignalHandlers InstallRebootSignalHandlers 黄色便条 userdebug和eng版本中如果init进程崩溃如收到SIGABRT,SIGBUS等信号则重启bootloaderRe... userdebugeng版本中如果init进程崩溃如收到SIGABRT,SIGBUS等信号则重bootloaderRebootSystem其实就是执行reboot命令 Object lifeline.150 external/selinux/libselinux/src/android/android_platform.c 工作表.22 工作表.23 工作表.24 工作表.25 external/selinux/libselinux/src/android/android_platform.c 激活.157 其他片段 工作表.28 init进程启动第二阶段 -- selinux初始化 init进程启动第二阶段 -- selinux初始化 Object lifeline.42 system/core/init/reboot_utils.cpp 工作表.31 工作表.32 工作表.33 工作表.34 system/core/init/reboot_utils.cpp 激活.47 消息.48 InitFatalReboot InitFatalReboot 激活.37 消息.38 RebootSystem RebootSystem 激活.53 消息.59 InitKernelLogging InitKernelLogging 黄色便条.77 初始化kernel日志系统不再赘述 初始化kernel日志系统(不再赘述) 黄色便条.62 初始化Selinux信息 初始化Selinux信息 Object lifeline.86 external/selinux/libselinux/src/load_policy.c 工作表.70 工作表.71 工作表.72 工作表.73 external/selinux/libselinux/src/load_policy.c 激活.91 消息.119 执行/system/bin/init 入参second_stage 执行/system/bin/init入参second_stage 黄色便条.120 执行init启动的第三个阶段就是传入参数"second_stage" 执行init启动的第三个阶段就是传入参数"second_stage" 激活.103 消息.104 SelinuxSetupKernelLogging SelinuxSetupKernelLogging 激活.105 消息.106 SelinuxKlogCallback SelinuxKlogCallback Object lifeline.107 system/core/base/logging.cpp 工作表.108 工作表.109 工作表.110 工作表.111 system/core/base/logging.cpp 激活.112 消息.113 KernelLogger KernelLogger 黄色便条.114 参照InitKernelLogging此处就是将加载Selinux的日志在kernel内核中打印 参照InitKernelLogging此处就是将加载Selinux的日志在kernel内核中打印 激活.116 消息.21.117 SelinuxInitialize() SelinuxInitialize() 激活.118 消息.21.119 LoadPolicy() LoadPolicy() 黄色便条.120 LoadPolicy()加载策略文件 调用IsSplitPolicyDevice()判断是否存在"/system/etc/... LoadPolicy()加载策略文件调用IsSplitPolicyDevice()判断是否存在"/system/etc/selinux/plat_sepolicy.cil"文件一般都存在存在则调用LoadSplitPolicy()否则调LoadMonolithicPolicy() 激活.121 Message.119 LoadSplitPolicy() LoadSplitPolicy() 激活.124 Message.125 FindPrecompiledSplitPolicy FindPrecompiledSplitPolicy Yellow note.120 FindPrecompiledSplitPolicy 依次从/vendor/etc/selinux/precompiled... FindPrecompiledSplitPolicy依次从/vendor/etc/selinux/precompiled_sepolicy/odm/etc/selinux/precompiled_sepolicy中寻找selinux预编译文件一般是从/vendor/etc/selinux/ precompiled_sepolicy中获取 消息.127 selinux_android_load_policy_from_fd selinux_android_load_policy_from_fd 激活.128 Message.129 security_load_policy security_load_policy Yellow note.130 将参数data所描述的安全策略写入到/sys/fs/selinux/load文件中就相当于是将安全策略从用户空间加载到SE... 将参数data所描述的安全策略写入到/sys/fs/selinux/load文件中就相当于是将安全策略从用户空间加载到SELinux LSM模块中

Leave a comment