[OpenWrt-Devel] How to keep disabled services disabled after sysupgrade

Stefan Tomanek stefan.tomanek+openwrt at wertarbyte.de
Thu Jun 18 07:28:54 EDT 2015

Whenever I update my OpenWrt system using sysupgrade, unwanted services
pop up; I am using one of my devices as a simple AP, so it must not start
dnsmasq, odhcpd or the firewall service. Running sysupgrade however reinstates
the links in /etc/rc.d/ removed by '/etc/init.d/foo disable'.

I was thinking about an elegant way to change this behaviour and would like to
request some feedback.

1) do not remove the link, but change it

I tried patching rc.common to change the service link in /etc/rc.d/ to a new
script /etc/init.d/DISABLED that just forwards any call to the real script - except
the start instruction which is disabled.

For example: After running '/etc/init.d/dnsmasq disable', /etc/rc.d/S60dnsmasq
will still be present, but point toward ../init.d/DISABLED which defies service

While this all works, it doesn't help for sysupgrade purposes: the links in
/etc/rc.d/ are replaced during a sysupgrade.

2) add some flag file for disabled services

I also thought about adding a flagfile like /etc/disable/dnsmasq that get's checked
in /etc/rc.common before running the start command; this however would prevent the
manual startup of a service that is still possible with option 1).

Can anyone supply any different ideas or provide some feedback?
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org

More information about the openwrt-devel mailing list