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));
}
相关推荐
橙子199110169 分钟前
Scaffold
android·kotlin·android jetpack
我命由我1234524 分钟前
Android 消息机制 - Looper(Looper 静态方法、Looper 静态方法注意事项、Looper 实例方法、Looper 实例方法注意事项)
android·java·android studio·安卓·android jetpack·android-studio·android runtime
消失的旧时光-194327 分钟前
从 JVM 到 Linux:一次真正的系统级理解
android·linux·jvm
习惯就好zz30 分钟前
Android 12 RK3588平台电源菜单深度定制指南
android·rockchip·3588·电源按钮
nono牛32 分钟前
Android.bp 语法编程指南 1
android
李坤林35 分钟前
Android 12 BLASTBufferQueue 深度分析
android
感觉不怎么会36 分钟前
Android13 - 网络模式默认 NR only(仅5G)
android·5g
盐焗西兰花36 分钟前
鸿蒙学习实战之路-Core Vision Kit人脸检测实现指南
android·学习·harmonyos
码农搬砖_202038 分钟前
【一站式学会compose】 Android UI体系之 Text的使用和介绍
android·compose
介一安全40 分钟前
【Frida Android】实战篇18:Frida检测与绕过——基于内核指令的攻防实战
android·网络安全·逆向·安全性测试·frida