android5.1 init对rc文件解析执行顺序
2017-03-31 18:09
337 查看
android5.1 init对rc文件解析执行顺序
备注,下面on对应的section下面内容的数字,代表内核启动log所在的行数
比如我们的init.rc文件部分内容如下:
import /init.environ.rc
import /init.usb.rc
import/init.${ro.hardware}.rc
import /init.${ro.zygote}.rc
import /init.trace.rc
on early-init
…
mkdir /mnt 0775 root system
on init
sysclktz 0
…
symlink/system/etc /etc------------1975
…
chmod 0440/sys/fs/pstore/console-ramoops--------------------2125
上面的ro.hardware对于高通平台是qcom,也就是import /init.qcom.rc,此文件位于\device\qcom\common\rootdir\etc目录下,接着看init.qcom.rc
import init.qcom.usb.rc
import init.target.rc
import init.qcom.factory.rc
on early-init
mountdebugfs debugfs /sys/kernel/debug
on init
mkdir/persist 0771 system system----------2153
…
symlink/mnt/shell/emulated/0 /storage/emulated/legacy-------2189
接着看init.target.rc内容
on init
write /sys/module/qpnp_rtc/parameters/poweron_alarm 1-----------2199
所以可以看出,有几个规律:
(1) 不同的rc文件
init在解析rc文件的时候,会先执行init.rc文件的内容,然后才是执行它import的其他rc文件,其他先import进来的会先执行
比如init.rc:
Import /init.A.rc
Import /init.B.rc
就会先执行A.rc,然后才是B.rc,但不是执行完A.rc所有的内容,然后才是执行B.rc的内容,而是按照先执行完A.rc中init section,然后再执行B.rc的init section
(2) 同一个rc文件,比如init.rc文件,依次执行early-init、init、late-init等部分
on early-init
…
#create mountpoints
mkdir /mnt 0775root system---------内核启动log里找不到
on init
…
#Backward compatibility
symlink/system/etc /etc--------1975
…
chmod 0440/sys/fs/pstore/console-ramoops--------------------2125
# Mount filesystems and start core systemservices.
on late-init
trigger early-fs---------------------------2217(2125~2217之间执行其他rc的init的section了)
…
备注,下面on对应的section下面内容的数字,代表内核启动log所在的行数
比如我们的init.rc文件部分内容如下:
import /init.environ.rc
import /init.usb.rc
import/init.${ro.hardware}.rc
import /init.${ro.zygote}.rc
import /init.trace.rc
on early-init
…
mkdir /mnt 0775 root system
on init
sysclktz 0
…
symlink/system/etc /etc------------1975
…
chmod 0440/sys/fs/pstore/console-ramoops--------------------2125
上面的ro.hardware对于高通平台是qcom,也就是import /init.qcom.rc,此文件位于\device\qcom\common\rootdir\etc目录下,接着看init.qcom.rc
import init.qcom.usb.rc
import init.target.rc
import init.qcom.factory.rc
on early-init
mountdebugfs debugfs /sys/kernel/debug
on init
mkdir/persist 0771 system system----------2153
…
symlink/mnt/shell/emulated/0 /storage/emulated/legacy-------2189
接着看init.target.rc内容
on init
write /sys/module/qpnp_rtc/parameters/poweron_alarm 1-----------2199
所以可以看出,有几个规律:
(1) 不同的rc文件
init在解析rc文件的时候,会先执行init.rc文件的内容,然后才是执行它import的其他rc文件,其他先import进来的会先执行
比如init.rc:
Import /init.A.rc
Import /init.B.rc
就会先执行A.rc,然后才是B.rc,但不是执行完A.rc所有的内容,然后才是执行B.rc的内容,而是按照先执行完A.rc中init section,然后再执行B.rc的init section
(2) 同一个rc文件,比如init.rc文件,依次执行early-init、init、late-init等部分
on early-init
…
#create mountpoints
mkdir /mnt 0775root system---------内核启动log里找不到
on init
…
#Backward compatibility
symlink/system/etc /etc--------1975
…
chmod 0440/sys/fs/pstore/console-ramoops--------------------2125
# Mount filesystems and start core systemservices.
on late-init
trigger early-fs---------------------------2217(2125~2217之间执行其他rc的init的section了)
…
相关文章推荐
- android5.1 init对rc文件解析执行顺序
- android5.1 init对rc文件解析执行顺序
- Android中init.rc文件的解析
- Android init.rc文件解析过程详解(一)
- init进程解析rc文件的相关函数分析
- 【总结】/etc/rc.d/rc.local 与 /etc/profile .bash_profile .bashrc 文件执行顺序
- Android init.rc文件解析
- init.rc文件解析过程详解
- init.rc的执行顺序
- init进程 && 解析Android启动脚本init.rc && 修改它使不启动android && init.rc中启动一个sh文件
- Android init进程之解析及运行init.rc文件`
- /etc/rc.d/rc.local 与 /etc/profile .bash_profile .bashrc 文件执行顺序
- Android init.rc文件解析过程详解(三)
- Android init.rc执行顺序
- Android中init.rc文件的解析
- Android init.rc 文件解析
- android中init.rc文件的解析问题
- init进程 && 解析Android启动脚本init.rc && 修改它使不启动android && init.rc中启动一个sh文件
- Android init.rc文件格式解析