Android init.rc文件简单介绍

Android init.rc文件简单介绍

init.rc脚本是由Android中linux的第一个用户级进程init进行解析的。

init.rc 文件并不是普通的配置文件,而是由一种被称为“Android初始化语言”(Android Init Language,这里简称为AIL)的脚本写成的文件。

该文件在ROM中是只读的,即使有了root权限,可以修改该文件也没有。因为我们在根目录看到的文件只是内存文件的镜像。也就是说,android启动后,会将init.rc文件装载到内存。而修改init.rc文件的内容实际上只是修改内存中的init.rc文件的内容。一旦重启android,init.rc文件的内容又会恢复到最初的装载。想彻底修改init.rc文件内容的唯一方式是修改Android的ROM中的内核镜像(boot.img)。

 init.rc脚本包括了文件系统初始化、装载的许多过程。init.rc的工作主要是:

1)设置一些环境变量
2)创建system、sdcard、data、cache等目录(见案例1)
3)把一些文件系统mount到一些目录去,如,mount tmpfs tmpfs /sqlite_stmt_journals
4)设置一些文件的用户群组、权限
5)设置一些线程参数
6)设置TCP缓存大小

init脚本的关键字(如mkdir,chmod,service等等)可以参考init进程的system/core/init/keyword.h文件。

init.rc的使用方法,可以参考说明文件system/core/init/readme.txt

如果想要修改启动过程只需要修改init.c(system/core/init)或者init.rc里的内容即可. 

init.c与init.rc在源码中的位置分别位于如下:

1 init.c : /system/core/init
2 init.rc : /system/core/rootdir

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!