summaryrefslogtreecommitdiffstats
path: root/system/s6-linux-init/README
diff options
context:
space:
mode:
Diffstat (limited to 'system/s6-linux-init/README')
-rw-r--r--system/s6-linux-init/README43
1 files changed, 28 insertions, 15 deletions
diff --git a/system/s6-linux-init/README b/system/s6-linux-init/README
index 21fdbd752a..1b0669f679 100644
--- a/system/s6-linux-init/README
+++ b/system/s6-linux-init/README
@@ -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,42 @@ 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. For example, if you
+want to change the scan directory to /run/s6/service, you can pass
+SCAN_DIR=s6/service to the script like below:
+
+ SCAN_DIR=s6/service ./s6-linux-init.SlackBuild
-If you want to also build the shared libraries, pass BUILD_SHARED=yes
-to the script like below:
+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
+previously).
+
+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:
BUILD_SHARED=yes ./s6-linux-init.SlackBuild
@@ -57,8 +68,10 @@ 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
-skarnet.org libraries, pass LINK_SHARED=yes to the script.
+skarnet.org libraries, pass LINK_SHARED=yes to the script, i.e.,
+
+ LINK_SHARED=yes ./s6-linux-init.SlackBuild