1、android启动代码/system/core/init/init.c
该启动代码读取并解析init.rc脚本代码如下:
init_parse_config_file("/init.rc");
然后通过action_for_each_trigger触发响应的动作。
2、init.rc在/system/core/rootdir目录下。
init.rc的语法主要分动作命令和服务。
动作命令例子如下:
on property:ro.debuggable=1 //包含触发条件
start console //开启服务
服务例子如下:
service console /system/bin/sh //程序例程
class core //选项配置
console
disabled
user shell
group shell log
seclabel u:r:shell:s0
服务相当于是函数,动作命令相当于对函数的调用。
3、开机脚本的添加
首先写一个shell脚本,同linux shell脚本。例如脚本文件为test.sh(脚本内容随意,此处只做例子展示)
脚本在源码中存放目录为/device/rockchip/common
修改init.rc文件添加脚本服务和动作命令(init.rc文件修改方法见上一章节)
服务添加语法如下: