summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/bin/system-init.html74
-rw-r--r--doc/bin/system-shutdown.html54
-rw-r--r--doc/index.html192
-rw-r--r--doc/service/system/.s6-svscan.html38
-rw-r--r--doc/service/system/s6-linux-init-runleveld.html39
-rw-r--r--doc/service/system/s6-linux-init-shutdownd.html33
6 files changed, 430 insertions, 0 deletions
diff --git a/doc/bin/system-init.html b/doc/bin/system-init.html
new file mode 100644
index 0000000..e0f1812
--- /dev/null
+++ b/doc/bin/system-init.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>system-init</title>
+ <meta name="Description" content="A wrapper around s6-linux-init to start it with the correct options for goetia." />
+ <meta name="Keywords" content="goetia s6 s6-rc s6-linux-init Linux init" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-s6-linux-init">goetia-s6-linux-init</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The system-init program</h1>
+ <p>
+ system-init is a wrapper around
+ <a href="https://skarnet.org/software/s6-linux-init/s6-linux-init.html">s6-linux-init</a>.
+ </p>
+ <h2>Interface</h2>
+ <pre> system-init</pre>
+ <ul>
+ <li>
+ system-init takes no arguments.
+ </li>
+ <li> It executes s6-linux-init with proper arguments to:
+ <ul>
+ <li>
+ Use the umask <code>0022</code>.
+ </li>
+ <li>
+ Use the config at <code>/etc/s6-linux-init/goetia</code>
+ </li>
+ <li>
+ Use the <code>PATH</code> environment variable set to
+ <code>/command:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/libexec:/usr/local/libexec</code>.
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <h2>Exit codes</h2>
+ <ul>
+ <li>
+ system-init does nothing more than starting
+ <a href="https://skarnet.org/software/s6-linux-init/s6-linux-init.html">s6-linux-init</a>
+ with arguments
+ and behaves exactly like it.
+ </li>
+ <li>
+ See also:
+ <a href="https://skarnet.org/software/execline/exitcodes.html">execline exit code handling</a>.
+ </li>
+ </ul>
+ <h2>Options</h2>
+ <ul>
+ <li>
+ There are no options to system-init.
+ </li>
+ </ul>
+ <h2>Notes</h2>
+ <p>
+ system-init is primarily intended to be used
+ as an init for an acutal boot process, not for containers.
+ </p>
+ </body>
+</html>
diff --git a/doc/bin/system-shutdown.html b/doc/bin/system-shutdown.html
new file mode 100644
index 0000000..ae0904e
--- /dev/null
+++ b/doc/bin/system-shutdown.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>system-shutdown</title>
+ <meta name="Description" content="Convenience wrapper around s6-linux-init-shutdown." />
+ <meta name="Keywords" content="goetia s6 s6-rc s6-linux-init Linux shutdown" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-s6-linux-init">goetia-s6-linux-init</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The system-shutdown program</h1>
+ <p>
+ system-shutdown is a wrapper around
+ <a href="https://skarnet.org/software/s6-linux-init/s6-linux-init-shutdown.html">s6-linux-init-shutdown</a>.
+ </p>
+ <h2>Interface</h2>
+ <pre> system-shutdown ... <a href="https://skarnet.org/software/s6-linux-init/s6-linux-init-shutdown.html">see s6-linux-init-shutdown</a> ...</pre>
+ <ul>
+ <li>
+ <a href="https://skarnet.org/software/s6-linux-init/s6-linux-init-shutdown.html">see s6-linux-init-shutdown</a>
+ </li>
+ </ul>
+ <h2>Options</h2>
+ <ul>
+ <li>
+ <a href="https://skarnet.org/software/s6-linux-init/s6-linux-init-shutdown.html">see s6-linux-init-shutdown</a>
+ </li>
+ </ul>
+ <h2>Exit codes</h2>
+ <ul>
+ <li>
+ system-shutdown is a wrapper around
+ <a href="https://skarnet.org/software/s6-linux-init/s6-linux-init-shutdown.html">see s6-linux-init-shutdown</a>
+ and behaves exactly like it.
+ </li>
+ <li>
+ See also:
+ <a href="https://skarnet.org/software/execline/exitcodes.html">execline exit code handling</a>.
+ </li>
+ </ul>
+ </body>
+</html>
diff --git a/doc/index.html b/doc/index.html
new file mode 100644
index 0000000..81e4e34
--- /dev/null
+++ b/doc/index.html
@@ -0,0 +1,192 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>goetia-s6-linux-init</title>
+ <meta name="Description" content="goetia-s6-linux-init contains scripts and a configuration to run goetia using s6-linux-init." />
+ <meta name="Keywords" content="goetia s6 s6-rc s6-linux-init Linux init shutdown" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>goetia-s6-linux-init</h1>
+ <h2>What is it?</h2>
+ <p>
+ goetia-s6-linux-init contains a configuration for
+ <a href="https://skarnet.org/software/s6-linux-init/">s6-linux-init</a>.
+ It also contains wrappers around some of s6-linux-inits commands
+ to make them fit the rest of goetia.
+ Finally, it contains service directories for some
+ s6-linux-init specific daemons.
+ </p>
+ <p>
+ The configuration is used by copying
+ the <code>s6-linux-init</code> directory in the
+ <a href="//0x53.net/software/goetia/installdir.html">installation directory</a>
+ to <code>/etc/s6-linux-init/goetia</code>,
+ <em>renaming</em> the directory in the process.
+ </p>
+ <p>
+ It is <em>critical</em>,
+ that some arguments given to <code>./configure</code>
+ during the installation of
+ <a href="https://skarnet.org/software/s6-linux-init/">s6-linux-init</a>
+ match those used in the goetia packages.
+ These are:
+ </p>
+ <ul>
+ <li>
+ <code>--tmpfsdir=...</code> which must be the same
+ in both the goetia packages and the s6-linux-init package.
+ The default is in both cases the same and can be left unchanged.
+ However, a change of this option in e.g.
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ mandates the exact same change of this option in s6-linux-init
+ and vice versa.
+ </li>
+ <li>
+ <code>--scandir=...</code> of s6-linux-init
+ which must match
+ <code>--sysrundir=...</code> in goetia.
+ This is by default <em>not</em> given.
+ If the default of goetia packages is kept,
+ <code>--scandir=system/service</code> has to be used
+ for s6-linux-init.
+ In general setting <code>--sysrundir=<var>@sysrundir@</var></code> on
+ goetia packages means having to set
+ <code>--scandir=<var>@sysrundir@</var>/service</code>
+ on s6-linux-init.
+ </li>
+ </ul>
+ <p>
+ Additionally two things in respect to the
+ <code>run-image</code> subdirectory of the
+ <a href="//0x53.net/software/goetia/confdir.html#system">system configuration directory</a>
+ change <em>for system supervision trees only</em>.
+ </p>
+ <ul>
+ <li>
+ The <code>run-image</code> subdirectory lies now at
+ <code>/etc/s6-linux-init/goetia/run-image</code>
+ instead of
+ <code><var>@sysconfdir@</var>/system/run-image</code>.
+ </li>
+ <li>
+ When using s6-linux-init, the <code>run-image</code> is now
+ copied to <code><var>@tmpfsdir@</var></code> instead of
+ <code><var>@tmpfsdir@</var>/<var>@sysrundir@</var>/system</code>.
+ This has to be accomodated for by adding an additional <code>system</code>
+ subdirectory between the <code>run-image</code> and the <code>service</code>
+ directory.
+ To make it more clear: this results in:
+ <code>/etc/s6-linux-init/goetia/run-image/system/service/</code>
+ instead of
+ <code>/etc/goetia/system/run-image/service/</code>
+ with goetia-linux-init.
+ Bear in mind that this has to be further corrected for every non standard
+ <code>--sysrundir=...</code> setting in the goetia packages.
+ </li>
+ </ul>
+ <p>
+ If all defaults are kept on the other geotia packages,
+ this means the following in practice:
+ </p>
+ <ul>
+ <li>
+ During the installation of s6-linux-init, run at least <code>./configure --scandir=system/service</code>.
+ </li>
+ <li>
+ Symlink or copy
+ <a href="https://skarnet.org/software/s6/servicedir.html">service directories</a>
+ to <code>/etc/s6-linux-init/goetia/run-image/system/service/</code>.
+ </li>
+ </ul>
+ <hr>
+ <h2>Installation</h2>
+ <h3>Requirements</h3>
+ <ul>
+ <li>
+ A set of POSIX tools as described in the general
+ <a href="//0x53.net/software/requirements.html">requirements</a>
+ </li>
+ <li>
+ A POSIX-compliant implementation of make, or GNU make
+ </li>
+ <li>
+ <a href="https://skarnet.org/software/s6-linux-init/">s6-linux-init</a>
+ </li>
+ </ul>
+ <h3>Licensing</h3>
+ <p>
+ goetia-s6-linux-init is free software. It is available under the
+ <a href="https://opensource.org/licenses/ISC">ISC license</a>.
+ </p>
+ <h3>Download</h3>
+ <ul>
+ <!--
+ <li>
+ The current released version of goetia-s6-linux-init is
+ <a href="./goetia-s6-linux-init-0.0.1.0.tar.gz">0.0.1.0</a>.
+ You can access its checksum
+ <a href="./goetia-s6-linux-init-0.0.1.0.tar.gz.sha256">here</a>.
+ </li>
+ -->
+ <li>
+ Alternatively, you can checkout a copy of the
+ <a href="https://git.0x53.net/goetia-s6-linux-init">goetia-s6-linux-init git repository</a>:
+ <pre>git clone git://git.0x53.net/goetia-s6-linux-init</pre>
+ </li>
+ </ul>
+ <h3>Compilation</h3>
+ <ul>
+ <li>
+ See the enclosed INSTALL file for installation details.
+ </li>
+ </ul>
+ <hr>
+ <h2>Reference</h2>
+ <section id="bin">
+ <h3>Commands</h3>
+ <p>
+ All of the following are
+ <a href="https://skarnet.org/software/execline/">execline</a>
+ scripts.
+ </p>
+ <ul>
+ <li>
+ <a href="./bin/system-init.html">system-init</a>
+ </li>
+ <li>
+ <a href="./bin/system-shutdown.html">system-shutdown</a>
+ </li>
+ </ul>
+ </section>
+ <section id="service">
+ <h3>Service directories</h3>
+ <p>
+ Service directories specific to the Linux Kernel
+ and to this init system.
+ </p>
+ <ul>
+ <li>
+ <a href="./service/system/.s6-svscan.html">.s6-svscan</a>
+ </li>
+ <li>
+ <a href="./service/system/s6-linux-init-runleveld.html">s6-linux-init-runleveld</a>
+ </li>
+ <li>
+ <a href="./service/system/s6-linux-init-shutdownd.html">s6-linux-init-shutdownd</a>
+ </li>
+ </ul>
+ </section>
+ </body>
+</html>
diff --git a/doc/service/system/.s6-svscan.html b/doc/service/system/.s6-svscan.html
new file mode 100644
index 0000000..cc9651e
--- /dev/null
+++ b/doc/service/system/.s6-svscan.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>system .s6-svscan</title>
+ <meta name="Description" content="Configuration directory for s6-svscan for the system supervision tree" />
+ <meta name="Keywords" content="goetia s6 s6-svscan system supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-s6-linux-init">goetia-s6-linux-init</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The system .s6-svscan directory</h1>
+ <p>
+ The .s6-svscan directory contains scripts
+ that are executed if
+ <a href="https://skarnet.org/software/s6/s6-svscan.html">s6-svscan</a>
+ receives a signal or exits.
+ In this case its main use is to properly shutdown
+ the system using <code>system-shutdown</code>
+ upon receiving certain signals.
+ </p>
+ <p>
+ The .s6-svscan directory is easily overlooked,
+ do not forget to symlink/copy it!
+ </p>
+ </body>
+</html>
diff --git a/doc/service/system/s6-linux-init-runleveld.html b/doc/service/system/s6-linux-init-runleveld.html
new file mode 100644
index 0000000..bf3c287
--- /dev/null
+++ b/doc/service/system/s6-linux-init-runleveld.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>s6-linux-init-runleveld</title>
+ <meta name="Description" content="System service allowing to run s6-rc invocations of the system supervision tree." />
+ <meta name="Keywords" content="goetia s6 s6-rc s6-linux-init Linux run system supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-s6-linux-init">goetia-s6-linux-init</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The s6-linux-init-runleveld service</h1>
+ <p>
+ s6-linux-init-runleveld starts the daemon corresponding to
+ <a href="https://skarnet.org/software/s6-linux-init/s6-linux-init-telinit.html">s6-linux-init-telinit</a>.
+ It is very similar to
+ <a href="//0x53.net/software/goetia/goetia-base/service/system/goetia-runner.html">goetia-runner</a>
+ (which corresponds to <a href="//0x53.net/software/goetia/goetia-base/bin/system-run.html">system-run</a>).
+ s6-linux-init-runleveld can be used to start and stop bundles
+ (bundles replace a functionality historically called runlevels)
+ and have the corresponding
+ <a href="https://skarnet.org/software/s6-rc/s6-rc.html">s6-rc</a>
+ command executed <em>from the supervision tree</em>.
+ This makes the transition resilient to e.g. interface crashes
+ or the command itself stopping the interface it was executed from.
+ </p>
+ </body>
+</html>
diff --git a/doc/service/system/s6-linux-init-shutdownd.html b/doc/service/system/s6-linux-init-shutdownd.html
new file mode 100644
index 0000000..e198bb7
--- /dev/null
+++ b/doc/service/system/s6-linux-init-shutdownd.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>s6-linux-init-shutdownd</title>
+ <meta name="Description" content="System service to start the s6-linux-init-shutdownd daemon." />
+ <meta name="Keywords" content="goetia s6 s6-rc s6-linux-init Linux shutdown system supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-s6-linux-init">goetia-s6-linux-init</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The s6-linux-init-shutdownd service</h1>
+ <p>
+ s6-linux-init-shutdownd is the service that starts
+ <a href="https://skarnet.org/software/s6-linux-init/s6-linux-init-shutdownd.html">s6-linux-init-shutdownd</a>.
+ This daemon, upon activation by
+ <a href="https://skarnet.org/software/s6-linux-init/s6-linux-init-shutdown.html">s6-linux-init-shutdown</a>
+ (in goetia wrapped by <a href="//0x53.net/software/goetia/goetia-s6-linux-init/bin/system-shutdown.html">system-shutdown</a>),
+ runs the shutdown procedure.
+ </p>
+ </body>
+</html>