runit (a UNIX init scheme with service supervision) A cross-platform Unix init scheme with service supervision, a replacement for sysvinit, and other init schemes. runit can replace init or its service supervision can be used with traditional init. runit is compatible with djb's daemontools. By default, this slackbuild sets-up a basic configuration to replace init with runit. To disable this, pass CONFIG=no to the script. To use runit with init, just call it /sbin/runsvdir-start & To replace init with runit, reboot and enter init=/sbin/runit-init in the Lilo prompt. Alternatively, if you do not have a multi boot system, you may append this line in /etc/lilo.conf E.g: append="vt.default_utf8=0 init=/sbin/runit-init" Then run lilo: # lilo -v Or just replace /sbin/init with /sbin/runit-init # mv /sbin/init /sbin/init.sysv # cp /sbin/runit-init /sbin/init Be warned that if you had booted with the original init, the system may refuse to reboot, therefore boot from runit-init first. To migrate a service to runit, switch it off and disable it as usual, place an initialisation script called run under a suitably named directory under /etc/sv/ and symlink it to /service. E.g.: # /etc/rc.d/rc.networkmanager stop # chmod -x /etc/rc.d/rc.networkmanager # mkdir /etc/sv/networkmanager/ Write a script to start the service in /etc/sv/networkmanager/run such as #!/bin/sh exec NetworkManager -n > /dev/null 2>&1 Give it executable permission: # chmod +x /etc/sv/networkmanager/run Link it to /service and NetworkManager will start in a few seconds and enabled under current runlevel # ln -s /etc/sv/networkmanager /service Hint: To Reboot: # runit-init 6 To Halt: # runit-init 0 A /usr/sbin/shutdown shell script has been included with the configuration files if you enabled them.