SlackBuilds Repository

15.0 > System > s6-linux-init (

s6-linux-init is a set of minimalistic tools used to create a s6-based
init system, including a /sbin/init binary, on a Linux kernel.

The resulting architecture follows the Unix philosophy (one job -> one
tool) as closely as possible, and is fully dedicated to the s6 way of
managing a system:
- s6-svscan runs as process 1 for the whole machine lifetime.
- Every daemon is supervised.
- No logs are ever lost.
- Policy is entirely left to the user. Typically, any service manager
can be run on top of s6-linux-init.

Nevertheless, the architecture is fully compliant with various empirical
and historical specifications. For instance, it provides:
- utmp management compatible with sysvinit,
- runlevel management, with a configurable default, overridable from the
kernel command line,
- sysvinit-like commands to shut the system down, including a shutdown
command that follows the LSB specification.

Optional dependencies:
nsss ( (not available at SBo)
utmps ( (not available at SBo)

s6-linux-init has some skeleton files that will be used to build a
complete s6-based init system. These files will be placed under
/etc/s6-linux-init/skel by default. You can change this by passing
SKEL_DIR=/path/to/directory environment variable to this SlackBuild
script like below:

SKEL_DIR=/path/to/directory ./s6-linux-init.SlackBuild

The s6-based init system created by s6-linux-init needs an early boot
tmpfs to work properly. By default, the created init system assumes that
this tmpfs will be mounted on /run. You can change this by passing
TMPFS_DIR=/path/to/directory to the script like below:

TMPFS_DIR=/path/to/directory ./s6-linux-init.SlackBuild

At some point in boot time, an instance of s6-svscan will become PID 1,
using $TMPFS_DIR/service as its scan directory by default. This can be
altered by passing SCAN_DIR=path/to/directory to the script, changing
the scan directory to $TMPFS_DIR/path/to/directory. For example, if you
want to change the scan directory to /run/s6/rc, you can pass
SCAN_DIR=s6/rc to the script like below:

SCAN_DIR=s6/rc ./s6-linux-init.SlackBuild

Note that we don't use absolute path for SCAN_DIR here, since it is
relative to $TMPFS_DIR, which defaults to /run (as mentioned

Upstream recommends building software with static libraries,
as most of software are small enough that shared libraries
are generally not worth using. Therefore, by default, shared libraries
are not built and binaries are linked against the static versions of the libraries.

If you want to also build the shared libraries, pass BUILD_SHARED=yes to
the script like below:

BUILD_SHARED=yes ./s6-linux-init.SlackBuild

Similarly, to avoid building the static libraries, you can pass
BUILD_STATIC=no to the script. For example, to only build the shared
libraries and not the static ones, you can do something like:

BUILD_SHARED=yes BUILD_STATIC=no ./s6-linux-init.SlackBuild

If you just want to build and use software, building only
the static libraries should be sufficient.

If you want the binaries to be linked against the shared versions of the libraries, pass LINK_SHARED=yes to the script, i.e.,

LINK_SHARED=yes ./s6-linux-init.SlackBuild

This requires: s6

Maintained by: Muhammad Mahendra Subrata
Keywords: s6-based init system maker,s6-based init system,init system maker,init system,s6-linux-init,s6
ChangeLog: s6-linux-init


Source Downloads:
s6-linux-init- (e0e7b3d3547d11b4e16a6dd3e2c6eca0)

Download SlackBuild:
s6-linux-init.tar.gz.asc (FAQ)

(the SlackBuild does not include the source)

Validated for Slackware 15.0

See our HOWTO for instructions on how to use the contents of this repository.

Access to the repository is available via:
ftp git cgit http rsync

© 2006-2023 Project. All rights reserved.
Slackware® is a registered trademark of Patrick Volkerding
Linux® is a registered trademark of Linus Torvalds