From 1bfba3b0be32306b078f5ee527b864e758b2c77b Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Fri, 26 Apr 2019 15:52:54 +0000 Subject: Make a single hpr. Full doc, first draft. --- doc/index.html | 96 +++++--- doc/overview.html | 149 ++++++++++++ doc/quickstart.html | 178 ++------------- doc/s6-linux-init-echo.html | 69 ++++++ doc/s6-linux-init-halt.html | 102 --------- doc/s6-linux-init-hpr.html | 87 +++++++ doc/s6-linux-init-logouthookd.html | 84 +++++++ doc/s6-linux-init-maker.html | 451 ++++++++++++++++++------------------- doc/s6-linux-init-poweroff.html | 102 --------- doc/s6-linux-init-reboot.html | 102 --------- doc/s6-linux-init-shutdown.html | 36 +-- doc/s6-linux-init-shutdownd.html | 16 +- doc/s6-linux-init-telinit.html | 72 ++++++ doc/s6-linux-init-umountall.html | 61 +++++ doc/s6-linux-init.html | 154 +++++++++++++ doc/upgrade.html | 9 + doc/why.html | 139 ++++++++++++ 17 files changed, 1152 insertions(+), 755 deletions(-) create mode 100644 doc/overview.html create mode 100644 doc/s6-linux-init-echo.html delete mode 100644 doc/s6-linux-init-halt.html create mode 100644 doc/s6-linux-init-hpr.html create mode 100644 doc/s6-linux-init-logouthookd.html delete mode 100644 doc/s6-linux-init-poweroff.html delete mode 100644 doc/s6-linux-init-reboot.html create mode 100644 doc/s6-linux-init-telinit.html create mode 100644 doc/s6-linux-init-umountall.html create mode 100644 doc/s6-linux-init.html create mode 100644 doc/why.html (limited to 'doc') diff --git a/doc/index.html b/doc/index.html index c8d7e7e..1b4dda6 100644 --- a/doc/index.html +++ b/doc/index.html @@ -26,22 +26,52 @@ system, including a /sbin/init binary, on a Linux kernel.

- s6-linux-init is meant to automate creation of scripts revolving -around the use of other skarnet.org tools, especially s6, in order -to provide a complete booting environment with integrated supervision -and logging without having to hand-craft all the details. + 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:

+ + +

+ Nevertheless, the architecture is fully compliant with various +empirical and historical specifications. For instance, it provides: +

+ + + +

Getting started

+

Please read the documentation for the s6-linux-init-maker program carefully, but if you're impatient, you can also read this -quickstart guide, which includes -a small FAQ. +quickstart guide.


+ + +
+

Installation

Requirements

@@ -50,30 +80,31 @@ a small FAQ.
  • A Linux-based system with a standard C development environment
  • GNU make, version 3.81 or later
  • skalibs version -2.6.4.0 or later
  • +2.8.0.1 or later
  • execline version -2.3.0.4 or later
  • -
  • s6-portable-utils version -2.2.1.1 or later
  • -
  • s6-linux-utils version -2.4.0.2 or later
  • +2.5.1.0 or later
  • s6 version -2.7.1.0 or later
  • +2.8.0.0 or later

    -When you build s6-linux-init, the - s6-linux-init-maker tool -is created (as well as the shutdown commands); - then you run that tool to create an init script, -and then you can boot your system on that init script. + The following optional dependencies are also supported:

    + +

    - skalibs is a build-time dependency. If you are linking binaries -against the shared version of the skalibs library, it also becomes a -run-time and boot-time dependency.
    - All the other listed packages are boot-time dependencies only. + All those dependencies are build-time and run-time, +except possibly skalibs, which is not needed at run time if you are linking +all the other packages against the static version of libskarnet.

    Licensing

    @@ -87,7 +118,7 @@ against the shared version of the skalibs library, it also becomes a + +

    Organization of the created directory

    + +

    + If s6-linux-init-maker returns successfully, dir +contains data that will be used at boot time. (Actually, +basedir will be used at boot time, not dir. Do not +forget to copy dir to basedir once you have checked +you are happy with what s6-linux-init-maker has created.) +

    + +

    + This boot-time data is made of several subdirectories: +

    + + + +

    + If s6-linux-init has been built with +utmps support, some more +directories may exist: +

    + +

    Notes

    +

    + A directory created by s6-linux-init-maker is only valid on +the machine it has been created on. Pre-creating init directories for +other machines is not supported. +

    +

    The difficult parts of running @@ -380,22 +372,27 @@ tree's output away from /dev/console (which is fine for a first process invocation but impractical for log management of a whole process tree) and into a logger that is itself managed by the supervision tree it's reading data from. +

  • Keeping appearances of compatibility with another init system +is difficult: in particular, the mechanisms around the shutdown +procedure are fundamentally different from about any other init +system, so even a simple command such as reboot needs an +ad-hoc implementation.
  • - The main benefit of s6-linux-init-maker is that it automates those -parts. This means that it has been designed for real hardware -where the above issues apply. - If you are building an init system for a -virtual machine, a container, or anything similar that does not -have the /dev/console issue or the read-only rootfs issue, -you will probably not reap much benefit from using s6-linux-init-maker: + The main benefit of s6-linux-init-maker is that it offers +transparent compatibility while automating the tricky technical part. +That means that s6-linux-init-maker has been designed for +real hardware, or at least full-fledged Linux systems, +where the above issues apply. If you are building an init system for a +container, or anything similar that does not +have the /dev/console issue, the read-only rootfs issue, +or the need for sysvinit compatibility, +you will probably not reap much benefit from using s6-linux-init-maker: you could probably invoke s6-svscan directly as your process 1, or build a script by hand, which would result in a simpler init with less dependencies. -Nevertheless, if you prefer using s6-linux-init-maker, it -supports this case via the -n option.

    diff --git a/doc/s6-linux-init-poweroff.html b/doc/s6-linux-init-poweroff.html deleted file mode 100644 index 2126b23..0000000 --- a/doc/s6-linux-init-poweroff.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - s6-linux-init: the s6-linux-init-poweroff program - - - - - - -

    -s6-linux-init
    -Software
    -skarnet.org -

    - -

    The s6-linux-init-poweroff program

    - -

    -s6-linux-init-poweroff triggers the shutdown procedure in order to -halt the system; or, with the -f option, it performs an immediate -hard shutdown. -

    - -

    Interface

    - -
    -     s6-linux-init-poweroff [ -h | -p | -r ] [ -d | -w ] [ -W ] [ -f ] [ -R tmpfsdir ]
    -
    - - - -

    - This interface follows the traditional sysvinit interface for the -halt, poweroff and reboot programs as close as possible. -

    - -

    Exit codes

    - - - -

    Options

    - - - -

    Notes

    - - - - - diff --git a/doc/s6-linux-init-reboot.html b/doc/s6-linux-init-reboot.html deleted file mode 100644 index 422eeed..0000000 --- a/doc/s6-linux-init-reboot.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - s6-linux-init: the s6-linux-init-reboot program - - - - - - -

    -s6-linux-init
    -Software
    -skarnet.org -

    - -

    The s6-linux-init-reboot program

    - -

    -s6-linux-init-reboot triggers the shutdown procedure in order to -reboot the system; or, with the -f option, it performs an immediate -hard reboot. -

    - -

    Interface

    - -
    -     s6-linux-init-reboot [ -h | -p | -r ] [ -d | -w ] [ -W ] [ -f ] [ -R tmpfsdir ]
    -
    - - - -

    - This interface follows the traditional sysvinit interface for the -halt, poweroff and reboot programs as close as possible. -

    - -

    Exit codes

    - - - -

    Options

    - - - -

    Notes

    - - - - - diff --git a/doc/s6-linux-init-shutdown.html b/doc/s6-linux-init-shutdown.html index 72bbfcf..b48ea61 100644 --- a/doc/s6-linux-init-shutdown.html +++ b/doc/s6-linux-init-shutdown.html @@ -20,24 +20,25 @@

    s6-linux-init-shutdown triggers the system shutdown procedure. +It is normally invoked as /sbin/shutdown.

    Interface

    -     s6-linux-init-shutdown [ -h | -p | -r | -k ] [ -a ] [ -t sec ] [ -f | -F ] [ -R tmpfsdir ] time [ message ]
    -     s6-linux-init-shutdown -c [ -R tmpfsdir ] [ message ]
    +     s6-linux-init-shutdown [ -h | -p | -r | -k ] [ -a ] [ -t sec ] [ -f | -F ] time [ message ]
    +     s6-linux-init-shutdown -c [ message ]
     

    The s6-linux-init-shutdown program conforms to the LSB-3.0.0 -shutdown +shutdown interface.

    @@ -49,29 +50,16 @@ interface.
  • 111: system call failed.
  • -

    Supplementary options

    - -

    - These options are supported by s6-linux-init-shutdown but are not -part of the LSB-3.0.0 shutdown specification. -

    - - -

    Notes

    diff --git a/doc/s6-linux-init-shutdownd.html b/doc/s6-linux-init-shutdownd.html index b6ea412..f4cf8a0 100644 --- a/doc/s6-linux-init-shutdownd.html +++ b/doc/s6-linux-init-shutdownd.html @@ -3,8 +3,8 @@ - s6-linux-init: the s6-linux-init-shutdownd internal program - + s6-linux-init: the s6-linux-init-shutdownd program + @@ -16,7 +16,7 @@ skarnet.org

    -

    The s6-linux-init-shutdownd internal program

    +

    The s6-linux-init-shutdownd program

    s6-linux-init-shutdownd is the daemon that manages the shutdown @@ -27,7 +27,7 @@ directly by the user.

    Interface

    -     s6-linux-init-shutdownd [ -b bindir ] [ -c basedir ] [ -g gracetime ] fifo
    +     s6-linux-init-shutdownd [ -c basedir ] [ -g gracetime ] fifo