s6-linux-init
Software
skarnet.org

Quickstart and FAQ for s6-linux-init

Quickstart

FAQ

Why is it so complicated to use s6 as an init process? It's much simpler with runit.

Yes, runit is simpler, because it provides a simple runit binary suitable as a /sbin/init program and calls scripts to handle the three stages of init. However, the runit design has a few perfectible points:

Running a s6-based init addresses those issues:

To sum up, a s6-based init is cleaner than a runit-based init; it's a bit more complex to set up, but it organizes the system in a better way, without using more resources. And the goal of s6-linux-init is to make the setup more accessible.

My /etc/rc.init script is not printing anything!

You probably gave the -r option to s6-linux-init-maker, and your /etc/rc.init's output is being logged into the /run/uncaught-logs directory instead of printed to /dev/console.

I want to run s6 in a container, and I just want to log to stdout/stderr, without this tmpfs and /dev/console stuff and without having a catch-all logger inside the container. Is it possible ?

Yes, it is possible, but then s6-linux-init may not be what you are looking for. For your case, it will be simpler to run s6-svscan directly!

If you are using Docker, there is a s6-overlay project specifically made for integrating s6 into Docker images.