android5.1 init对rc文件解析执行顺序
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了)
…
android5.1 init对rc文件解析执行顺序相关推荐
- Android init.rc文件解析过程详解(三)
Android init.rc文件解析过程详解(三) 三.相关结构体 1.listnode listnode结构体用于建立双向链表,这种结构广泛用于kernel代码中, android源代码中定义了l ...
- Android init.rc文件解析过程详解(一)
Android init.rc文件解析过程详解(一) 一.init.rc文件结构介绍 init.rc文件基本组成单位是section, section分为三种类型,分别由三个关键字(所谓关键字 ...
- 安卓 linux init.rc,[原创]Android init.rc文件解析过程详解(二)
Android init.rc文件解析过程详解(二) 3.parse_new_section代码如下: void parse_new_section(struct parse_state *state ...
- Android init.rc文件解析过程详解(二)
Android init.rc文件解析过程详解(二) 3.parse_new_section代码如下: void parse_new_section(struct parse_state *state ...
- A20 init.sun7i.rc 文件
如果需要在开机的时候,自动加载一些ko文件,或者通过chmod修改一些设备文件的属性,都可以再 init.sun7i.rc文件中添加insmod和chmod命令来实现. init.sun7i.rc文件 ...
- SaltStack(4)——SaltStack目录中有多个sls文件的执行顺序
一.saltstack文件中有多个sls文件的执行顺序 在stalstack的目录中有多个sls文件,系统会默认编译init.sls文件 所以编译sls文件中的模块可以在文件中定义 salt执行的目录 ...
- Android Init Language(RC文件)介绍
Android Init Language介绍 基本概念 什么是rc文件? Android Init进程用rc做了什么? 相关内容 Android RC文件应用 Android rc文件语法解析 Li ...
- Android init.rc文件格式解析
/****************************************************************************** Android init.rc文件格式解 ...
- [日更-2019.4.8、4.9、4.12、4.13] cm-14.1 Android系统启动过程分析(一)-init进程的启动、rc脚本解析、zygote启动、属性服务...
2019独角兽企业重金招聘Python工程师标准>>> 声明 前阶段在项目中涉及到了Android系统定制任务,Android系统定制前提要知道Android系统是如何启动的. 本文 ...
最新文章
- linux命令eric,Linux命令行下连接无线网
- 脉冲电子围栏系统介绍_网络型脉冲电子围栏系统介绍
- 【Java报错】GP数据库 function point(unknown) is not unique.Could not choose a best candidate function 问题解决
- 洛谷 P1615 西游记公司
- ES6 中 class 和 extends 的es5实现
- 深入浅出曲面的切平面方程和曲面的法线方程
- 炫酷背光文字html,PS制作背光放射出来的文字效果
- 微信公众号使用:给微信公众号自定义菜单中设置查看历史记录的功能
- nagios一些安装注意
- 【Pigeon源码阅读】服务注册发布流程(四)
- java笔记--多敲代码四
- Eureka 服务注册中心的探究
- shell脚本入门与Netkeeper破解路由
- c语言中的static inline
- 取消华为mate30 删除图片时手机弹出提示:“..检测xx删除了图片..“
- HDU - 1431 素数回文 【素数打表】+【判断回文】
- 数据结构课程设计(八)---家谱管理系统(十几个功能)
- 马克鳗(美术设计稿标注工具)
- 联想拯救者y7000充电一闪一闪,接触不良
- Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.1.0:resources (default-reso
热门文章
- jvm 9种垃圾收集器
- 051_InfiniteScroll无限滚动
- 002_Spring Data JPA CRUD
- 035_jdbc-mysql-dbutils的使用
- java分布式事务原理_JAVA分布式事务原理及应用
- 语言专升本必背代码_2020年【山西省专升本】,专升本专业与考试科目,专升本招生院校,专升本报名流程大全!...
- 页面转发后文本显示???_使用Divi的滑动动画显示过程的进度
- Windows10 对系统盘C 有效清理
- page fault in nonpaged area 蓝屏_由于错误的更新,安装Windows 10 KB4549951后蓝屏死机解决办法...
- r语言必学的十个包肖凯_30 天学会R DAY 14:R语言必学包dplyr