OpenWrt 如何创建开机自启动服务
在课时14中已经大致讲了开机启动的过程,现在我们来创建一个开机启动的服务。OpenWrt开机启动服务实现和普通Linux发行版并无明显差异,基本上就是/etc/init.d和/etc/rc.d两个目录在起关键作用。/etc/init.d目录存放的是所有的开机启动脚本(包含启动和未启用的服务),/etc/rc.d存放的是启用的开机启动脚本。服务的启用和禁用可以通过service enable/disable命令来实现。
虽然通过/etc/rc.local脚本也可以实现创建开机启动脚本,但并不推荐。首先开机启动的顺序不可控、管理混乱、其次违背了openwrt service的规则。通常作为service通常需要具备start、stop、restart、enable、disable几大操作,rc.local仅仅提供了start的操作。假如我们把/etc/rc.local打包到package的话会导致管理混乱,rc.local是全局性的开机启动脚本并不属于某个package。/etc/rc.local是最后被执行的,隶属于S95done。
代码下载
https://forgotfun.org/zb_users/upload/2018/08/lesson23-examples.zip