An overview of s6-linux-init

Organisation of the package

When installed, the s6-linux-init package provides the following:

Organisation of the booted system

When a system has booted on an /sbin/init program created by s6-linux-init-maker, the following invariants are met:

Integration with the service manager

The s6-linux-init package's duties stop where the service manager's start. s6-linux-init simply brings the system up to the point where it is stable and operational enough for the service manager to take over; and at shutdown time, s6-linux-init just tells the service manager to bring down the services, and then performs the last steps of the shutdown: killing all the remaining processes, unmounting the file systems and halting/powering off/rebooting the machine.

All the interactions between s6-linux-init and the service manager are configurable: they happen in the rc.init, rc.shutdown and runlevel scripts. Examples are provided in the skeleton scripts, that you should review and edit.