关键字以下的行称为"选项",没一个选项占用一行,选项也有多种,常见的"class"表示服务所属的类别。 services 其实是可执行程序,它们在特定选项的约束下是被init程序运行或者重启(service可以在配置中指定是否需要退出重启,这样当service出现异常crash时就可以有机会复原) 代码语言:javascript 代码运行次数:0 运行 AI代码解释
在init.rc文件中一条语句通常是占据一行. 单词之间是通过空格符来相隔的. 如果需要在单词内使用空格,那么得使用转义字符"",如果在一行的末尾有一个反斜杠,那么是换行折叠符号,应该和下一行合并成一起来处理,与C语言中的含义是一致的。 注释是以#号开头。 关键字 动作(Action) 动作表示了一组命令(commands)组成....
Android系统的启动过程是一个复杂而有序的流程,其中init.rc文件扮演着至关重要的角色。这个文件位于Android系统的根目录下,是init进程(Android的第一个进程)启动时读取的脚本。通过init.rc,系统能够正确地初始化和配置各种服务、属性、挂载点等,从而确保系统能够正常运行。 init.rc的结构 init.rc文件由一系列的动作(...
从目录上大致可以猜测,这两个init.rc使用场景不一样,一个是刷机用到的,也就是进入recorvery模式,一个是正常启动用到的;我们这里重点分析的是上面那个,也是init.c关联的那个。 1.3 .rc文件的存放目录以及目的 /init.rc是主要的.rc文件,由init可执行文件在开始执行时加载。它负责系统的初始设置。 在加载主目录/i...
Android init.rc 中的各个阶段对应了系统启动过程中的不同时期。让我详细解释一下各个主要阶段,特别是 post-fs 阶段,以及它们与文件系统挂载和文件操作的关系: early-init: 最早的阶段,在其他任何服务或挂载操作之前执行。 主要用于设置初始的内核参数和一些基本的系统属性。
一init.rc概述 init是由Android的Linux内核启动的第一个第一个进程,这个进程非常特殊,它的PID永远是1,并且这个进程是不会死亡的,如果它死亡,内核就会崩溃,init.rc是一个规定init进程行为和动作的配置文件。init进程可以做哪些事情,都由它规定。init.rc 文件并不是普通的配置文件,而是由一种被称为“Android初始化...
深入理解init_2—–解析配置文件init.rc 1、 parse_config_file函数解析配置文件 根据上文我们可知,在init中会解析两个配置文件,其中一个是系统配置文件init.rc,另外一个是与平台相关的配置文件。以HTC G7手机为例,这个配置文件名为init.Bravo.rc,其中bravo是硬件平台的名称。对这两个配置文件进行解析,调用的是...
1)init.rc基础概念 Adnroid系统就像是是运行在linux系统上的一个“服务进程”,并不算是一个完整的操作系统。 这些服务进程是维持设备正常运转的关键,而这些进程的鼻祖就是init进程。 进程ID为1,源代码位于system/core/init 目录。 作为Android系统的第一个进程,Init进程承担这很多重要的初始化任务,一般Init进程的初...
} return 0; } // 加载,解析init.rc文件 static void LoadBootScripts(ActionManager& action_manager, ServiceList& service_list) { Parser parser = CreateParser(action_manager, service_list); // ... parser.ParseConfig(bootscript); //【--- 2 -->】 } Parser CreateParser(ActionManager& action...
init.rc中常见的Commands有以下一些: exec <path> [ <argument> ] 创建和执行程序(<path>). 这将会阻塞init,直到程序执行完成。由于它不是内置命令,应尽量避免使用exec,它可能会引起init卡死。 export <name> <value> 在全局环境变量中设在环境变量 <name>为<value>。(这将会被所有在这命令之后运行的进程所...