|
|
|
@ -4,7 +4,6 @@ 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. |
|
|
|
@ -13,7 +12,6 @@ managing a system: |
|
|
|
|
|
|
|
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, |
|
|
|
@ -25,29 +23,34 @@ nsss (https://skarnet.org/software/nsss/) (not available at SBo) |
|
|
|
utmps (https://skarnet.org/software/utmps/) (not available at SBo) |
|
|
|
|
|
|
|
NOTE: |
|
|
|
s6-linux-init has some skeleton files that will be used to build the |
|
|
|
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 the SlackBuild |
|
|
|
SKEL_DIR=/path/to/directory environment variable to this SlackBuild |
|
|
|
script like below: |
|
|
|
|
|
|
|
SKEL_DIR=/path/to/directory ./s6-linux-init.SlackBuild |
|
|
|
|
|
|
|
The init system created by s6-linux-init will need an early boot tmpfs |
|
|
|
in order to work properly. By default, s6-linux-init will assume that |
|
|
|
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 |
|
|
|
|
|
|
|
Upstream recommends building skarnet.org softwares with static libraries |
|
|
|
as most of skarnet.org softwares are small enough that using 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 skarnet.org libraries. |
|
|
|
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. |
|
|
|
|
|
|
|
Upstream recommends building skarnet.org software with static libraries, |
|
|
|
as most of skarnet.org 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 |
|
|
|
skarnet.org libraries. |
|
|
|
|
|
|
|
If you want to also build the shared libraries, pass BUILD_SHARED=yes |
|
|
|
to the script like below: |
|
|
|
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 |
|
|
|
|
|
|
|
@ -57,7 +60,7 @@ 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 skarnet.org softwares, building only |
|
|
|
If you just want to build and use skarnet.org software, building only |
|
|
|
the static libraries should be sufficient. |
|
|
|
|
|
|
|
If you want the binaries to be linked against the shared versions of the |
|
|
|
|