init进程是android系统启动的第一个进程,其源码位置:system/core/init/init.c
从代码可以看到init进程主要有以下几个功能:
1、创建目录,挂载分区目录;
代码启动框架如下:
2、解析启动脚本,服务启动;
启动脚本即根目录的init.rc文件,主要有以下几个命令:
import导入文件,比如init.environ.rc、init.usb.rc、init.$(ro.hardware).rc等脚本文件的导入。
on选项:主要包括on early-init、on early-boot、on boot、on init等,主要是根据这些选项按照顺序解析执行其命令。
service选项:用于启动系统服务,大致结构为
service name path arg
user xxx
group xxx
oneshot/disable
3、守护服务。
守护系统服务即系统服务退出时init进程会根据设置重启系统服务。