当前位置: 首页 > 工具软件 > Android-Init > 使用案例 >

【IVI】8. Android Automotive OS 启动详解-Init篇

法烨华
2023-12-01

1.首次启动init进程,并进入启动第一阶段
/system/bin/init → main.cpp:main()-→FirstStageMain()

int main(int argc, char** argv) {
#if __has_feature(address_sanitizer)
    __asan_set_error_report_callback(AsanReportCallback);
#endif

    if (!strcmp(basename(argv[0]), "ueventd")) {
        return ueventd_main(argc, argv);
    }

    if (argc > 1) {
        if (!strcmp(argv[1], "subcontext")) {
            android::base::InitLogging(argv, &android::base::KernelLogger);
            const BuiltinFunctionMap function_map;

            return SubcontextMain(argc, argv, &function_map);
        }

        if (!strcmp(argv[1], "selinux_setup")) {
            return SetupSelinux(argv);//SELinux初始化
        }

        if (!strcmp(argv[1], "second_stage")) {
            return SecondStageMain(argc,

 类似资料: