android系列-init SetupSelinux

1.FirstStageMain

cpp 复制代码
//android10\system\core\init\first_stage_init.cpp

int FirstStageMain(int argc, char** argv) {
    const char* path = "/system/bin/init";
    const char* args[] = {path, "selinux_setup", nullptr};
    execv(path, const_cast<char**>(args));
}

2.main

cpp 复制代码
//android10\system\core\init\main.cpp
int main(int argc, char** argv) {

    if (argc > 1) {

        if (!strcmp(argv[1], "selinux_setup")) {
            return SetupSelinux(argv);
        }
    }
}

3.SetupSelinux

java 复制代码
//android10\system\core\init\selinux.cpp

int SetupSelinux(char** argv) {
    InitKernelLogging(argv); //为啥调用多次

    // Set up SELinux, loading the SELinux policy.
    SelinuxSetupKernelLogging();
    SelinuxInitialize();

    const char* path = "/system/bin/init";
    const char* args[] = {path, "second_stage", nullptr};//4.second_stage
    execv(path, const_cast<char**>(args));
}
相关推荐
_小马快跑_23 分钟前
从VSync心跳到SurfaceFlinger合成:拆解 Choreographer与Display刷新流程
android
_小马快跑_23 分钟前
Android | 视图渲染:从invalidate()到屏幕刷新的链路解析
android
Monkey-旭3 小时前
Android 定位技术全解析:从基础实现到精准优化
android·java·kotlin·地图·定位
树獭非懒4 小时前
Android 媒体篇|吃透 MediaSession 与 MediaController
android·架构
一起搞IT吧6 小时前
高通Camx hal进程CSLAcquireDeviceHW crash问题分析一:CAM-ICP FW response timeout导致
android·图像处理·数码相机
南风里6 小时前
Android Studio下载gradle文件很慢的捷径之路
android·ide·android studio
fatsheep洋9 小时前
文件上传 --- uploadlabs靶场
android
雨白18 小时前
Android 自定义 View:从绘制基础到实战仪表盘与饼图
android
jiunian_cn18 小时前
【Linux】线程
android·linux·运维·c语言·c++·后端
Frank_HarmonyOS1 天前
Android MVVM(Model-View-ViewModel)架构
android·架构