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

Saso Slavicic saso.linux at astim.si
Thu Jun 18 15:50:37 EDT 2015

> Can anyone supply any different ideas or provide some feedback?

I have solved this (or something similar) in my builds with an additional
AUTOENABLE flags in init scripts.

IMHO except for critical services (like network...) other packages should
not be automatically enabled when installed since they probably need to be
configured first anyway.
For instance, installing something like openswan (or including it in
firmware image because ipsec modules are quite large) should not load entire
ipsec stack by default because it might not be configured or used anyway.

The modified init script looks like:

--- a/packages/net/openswan/files/ipsec.init
+++ b/packages/net/openswan/files/ipsec.init
@@ -31,6 +31,7 @@
 # KLIPS is the kernel half of it, Pluto is the user-level management
 EXTRA_HELP="	status	Show the status of the service"

Now, since my list of packages is fairly static, I have only explicitly
disabled AUTOENABLE for services I don't want starting by default (like
ipsec) - AUTOENABLE defaults to 'yes' if not present in the init script.
In contrast, using something like this in OpenWRT, there might be a list of
services that should always be enabled by default with the rest needing to
be manually enabled by the administrator (thus defaulting AUTOENABLE to
'no'). You could build customized images with dropbear and firewall services
having AUTOENABLE=no.

This idea solves:
 - no unneeded services started after fresh firmware install (before being
 - backups (every service that has been configured is also explicitly
enabled with symlink in /overlay)
 - sysupgrade (if /overlay/etc/rc.d is preserved)

My current patches are against AA, if this idea seems acceptable I can
prepare something for CC or trunk...

Saso Slavicic
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org

More information about the openwrt-devel mailing list