在C800上曾经做个类似的工作: wifi-engineermode的时候曾经加过对应service的启动代码。 同样,在hardware/interface/目录下有很多**.rc 的启动代码。
init.rc脚本的4种类型
- Action(动作)
- Commands(命令)
- Services(服务)
- Options(选项)
Action
格式:
on < trigger > ##触发条件
< command1 > ## 执行命令
< command2 > ##可以执行多个命令
< command3 >
…
比如系统源码中的: on property:sys.boot_from_charger_mode=1
class_stop charger
trigger late-init
当相应的事件发生时,系统会对init.rc中的各进行匹配,只要发现符合条件的Action,就会把它加入”命令执行队列”的尾部,(除非这个Action在队列中已经存在)。然后系统在对这些命令按顺序执行。
Commands
trigger
Trigger | Description |
---|---|
bott | 这是init程序启动后出发的第一个事件 |
< name > = < value > | 当属性< |