如何在OpenWrt上开发(续)
source link: https://blog.chaofan.io/archives/how-to-develop-on-openwrt-2
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
如何在OpenWrt上开发(续)
本文链接:如何在OpenWrt上开发(续)
在上篇文章里,已经写了如何将可执行文件加入OpenWrt包中。这次再写一些更深入,但是常用的话题。
在Linux中,把启动脚本放在/etc/init.d
中可以自启动,OpenWrt也不例外。问题是如何把启动脚本打在包中。
在mypackage
目录下运行:
修改刚创建的mypackage
文件,这里用了procd
工具,最简单的写法只需要定义start_service
:
在mypackage
目录下的Makefile
中,修改安装的部分:
这样,在安装包的同时,也会将启动脚本也安装上。并且opkg会在安装后自动运行mypackage
命令。同样,也可以用以下命令来手动运行:
可以使用和启动脚本类似的方式来安装配置文件,只不过换成了$(INSTALL_CONF)
:
但这样有个问题,每次更新包的时候,配置文件都会被覆盖,这是我们不想看到的。为了不覆盖,还需要在Makefile
里面加入以下内容:
这样,在安装时候就不会覆盖,而是将更新的配置改名为mypackage.opkg
,旧配置不变。
如果不想有这样的行为,也可以用preinst
和postinst
脚本来完成这个功能:
有了程序、配置和自启动脚本,一个完整的服务就有了,把它安装到OpenWrt里之后,就可以安心使用了。下篇文章我会介绍如何扩展界面(也就是Luci)。
此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK