From 5e17662d138fc9c9f70a4422eab059c2bdc9432d Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Sun, 19 Jan 2020 00:35:34 +0000 Subject: Add -C and -B options, prepare for 1.0.4.0 --- doc/index.html | 6 +- doc/overview.html | 19 ++++--- doc/s6-linux-init-maker.html | 120 ++++++++++++++++++++++++++++++--------- doc/s6-linux-init-shutdownd.html | 11 +++- doc/s6-linux-init-telinit.html | 5 ++ doc/s6-linux-init.html | 16 +++++- doc/upgrade.html | 21 +++++++ 7 files changed, 159 insertions(+), 39 deletions(-) (limited to 'doc') diff --git a/doc/index.html b/doc/index.html index 85727a8..2b912ab 100644 --- a/doc/index.html +++ b/doc/index.html @@ -74,9 +74,9 @@ kernel command line
  • skalibs version 2.9.1.0 or later
  • execline version -2.5.3.0 or later
  • +2.6.0.0 or later
  • s6 version -2.9.0.1 or later
  • +2.9.1.0 or later

    @@ -110,7 +110,7 @@ all the other packages against the static version of libskarnet.

  • Copy the dir directory to the place declared as basedir (/etc/s6-linux-init/current by default). @@ -312,6 +322,60 @@ available when the s6-linux-init package has been built with the utmps package. The option defines the user that the utmpd and wtmpd services will run as. Default is utmp.
  • + +

  • -C : create a set of scripts that is suitable +for running in a container. This modifies some behaviours: +
  • + +
  • -B : run the system without a catch-all logger. +On a non-containerized system, that means that all the logs from the +s6 supervision tree will go to /dev/console, and that +/dev/console will also be the default stdout and stderr for +services running under the supervision tree: use of this option is +discouraged. On a containerized system (when paired with the -C +option), it simply means that these outputs go to the default stdout and +stderr given to the container's init - this should generally +not be the default, but might be useful in some cases.
  • Organization of the created directory

    @@ -349,7 +413,8 @@ subdirectories it contains are the following:
  • uncaught-logs: this is the directory where the catch-all logger will store and rotate the error messages produced by the s6 supervision tree and the services that do not redirect -their own logs.
  • +their own logs. Not present if the -B option has been +given.
  • service: /run/service will be the scandir. It initially contains a .s6-svscan subdirectory that tells s6-svscan @@ -359,24 +424,26 @@ also contains a list of early services, i.e. s6 services that will be run at boot time as soon as s6-svscan is executed. These services are:
  • @@ -400,7 +467,9 @@ providing secure utmp functionality.

    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. +other machines is not supported. Of course, the scripts are editable, +so advanced users can run s6-linux-init-maker to create a +basic template, and then make their own modifications.

    @@ -430,22 +499,19 @@ 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. +

  • Even for simple systems such as containerized ones, making +sure that the wanted commands only run when s6-svscan is ready +requires a bit of manipulation.
  • 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. +transparent compatibility while automating the tricky technical parts. +Whether it is used for real hardware or for containers, +s6-linux-init-maker gives you a turnkey init system that +frees your mind from the details of getting a +s6 supervision tree running +prior to everything else.

    diff --git a/doc/s6-linux-init-shutdownd.html b/doc/s6-linux-init-shutdownd.html index ce03543..a5e92ca 100644 --- a/doc/s6-linux-init-shutdownd.html +++ b/doc/s6-linux-init-shutdownd.html @@ -27,7 +27,7 @@ directly by the user.

    Interface

    -     s6-linux-init-shutdownd [ -c basedir ] [ -g gracetime ]
    +     s6-linux-init-shutdownd [ -c basedir ] [ -g gracetime ] [ -C ] [ -B ]
     

    Notes

    diff --git a/doc/s6-linux-init-telinit.html b/doc/s6-linux-init-telinit.html index 49862d7..e01b44d 100644 --- a/doc/s6-linux-init-telinit.html +++ b/doc/s6-linux-init-telinit.html @@ -78,6 +78,11 @@ the bin/ subdirectory of the target will contain a telinit symlink to s6-linux-init-telinit. The bin/ subdirectory should be copied by the administrator into /sbin for full interface compatibility with sysvinit. +
  • When the system is running inside a container (and the -C +option has been given to +s6-linux-init-maker), the runleveld +service is not running, so s6-linux-init-telinit is not +functional and the runlevel script is never invoked.
  • diff --git a/doc/s6-linux-init.html b/doc/s6-linux-init.html index 184877a..21d97bf 100644 --- a/doc/s6-linux-init.html +++ b/doc/s6-linux-init.html @@ -27,7 +27,7 @@ and execs into s6-svscan.

    Interface

    -     s6-linux-init [ -c basedir ] [ -p initial_path ] [ -s env_store ] [ -m umask ] [ -d slashdev ] [ -D initdefault ] [ -n | -N ] [ args... ]
    +     s6-linux-init [ -c basedir ] [ -p initial_path ] [ -s env_store ] [ -m umask ] [ -d slashdev ] [ -D initdefault ] [ -n | -N ] [ -C ] [ -B ] [ args... ]
     

    Early preparation

    @@ -107,6 +120,7 @@ it uses initdefault.
  • The child blocks until the catch-all logger runs.
  • It also makes the catch-all logger's fifo its stderr.
  • +
  • It traps the ctrl-alt-del keyboard combination.
  • It execs into s6-svscan with /run/service as its scandir (or tmpfsdir/service).