diff options
| author | Laurent Bercot <ska-skaware@skarnet.org> | 2025-12-18 09:43:22 +0000 |
|---|---|---|
| committer | Laurent Bercot <ska-skaware@skarnet.org> | 2025-12-18 09:43:22 +0000 |
| commit | 8164ce1f50c03ef3c6548df0e3e1f1d499b90b88 (patch) | |
| tree | b91cd181629b480103b3041e4e1d933f005a4c8a /doc | |
| parent | ac6b458280e3131b4eb752d079f810ccdd4ba185 (diff) | |
| download | s6-linux-init-8164ce1f50c03ef3c6548df0e3e1f1d499b90b88.tar.gz | |
Add -W readyfd support to s6-l-i and s6-l-i-m
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/s6-linux-init-maker.html | 12 | ||||
| -rw-r--r-- | doc/s6-linux-init.html | 14 |
2 files changed, 20 insertions, 6 deletions
diff --git a/doc/s6-linux-init-maker.html b/doc/s6-linux-init-maker.html index fb2880d..ab8044f 100644 --- a/doc/s6-linux-init-maker.html +++ b/doc/s6-linux-init-maker.html @@ -406,7 +406,17 @@ not be the default, but might be useful in some cases. </li> <br> the container so the disks are <tt>sync</tt>ed on container halt. By default, no sync is performed. This option has no effect when the <tt>-C</tt> option is not present: on real machines, a <tt>sync</tt> is <em>always</em> -performed just before a system halt. </li> +performed just before a system halt. </li> <br> + + <li> <tt>-W</tt> <em>readyfd</em> : ensure that at boot time, +before doing anything, s6-linux-init waits +for file descriptor <em>readyfd</em> to signal EOF. This is typically useful in +containers that implement the Docker synchronization mechanism, where the +container manager starts the container with a pipe open to the container's +descriptor 3, does its preparation, and closes the pipe to tell the container's +init that it can proceed. If this option is not given, or <em>readyfd</em> is 0, +s6-linux-init-maker makes no provision for synchronization and s6-linux-init +will boot without waiting. </li> </ul> <h2> Organization of the created directory </h2> diff --git a/doc/s6-linux-init.html b/doc/s6-linux-init.html index 4d800ce..efcbf6c 100644 --- a/doc/s6-linux-init.html +++ b/doc/s6-linux-init.html @@ -27,7 +27,7 @@ and execs into <a href="//skarnet.org/software/s6/s6-svscan.html">s6-svscan</a>. <h2> Interface </h2> <pre> - s6-linux-init [ -c <em>basedir</em> ] [ -p <em>initial_path</em> ] [ -s <em>env_store</em> ] [ -m <em>umask</em> ] [ -d <em>slashdev</em> ] [ -D <em>initdefault</em> ] [ -n | -N ] [ -C ] [ -B ] [ <em>args...</em> ] + s6-linux-init [ -c <em>basedir</em> ] [ -p <em>initial_path</em> ] [ -s <em>env_store</em> ] [ -m <em>umask</em> ] [ -d <em>slashdev</em> ] [ -D <em>initdefault</em> ] [ -n | -N ] [ -C ] [ -B ] [ -W <em>readyfd</em> ] [ <em>args...</em> ] </pre> <ul> @@ -69,16 +69,20 @@ a tmpfs on it, just remount <tt>/run</tt>. </li> <li> <tt>-C</tt> : run in a container. This option modifies a few of the operations described below, to accommodate running in a container instead of on real hardware. For instance: it does not scan the command -line for a specific runlevel, it does not trap ctrl-alt-del, and before -anything else it waits for its descriptor 3, if present, to close. -(Docker uses this fd 3 mechanism as synchronization between the Docker -daemon and the container's <tt>init</tt>.) </li> +line for a specific runlevel, and it does not trap ctrl-alt-del. </li> <li> <tt>-B</tt> : do not run the catch-all logger. This option removes the catch-all-logger-related operations from the list below; <tt>s6-linux-init</tt> will not redirect output descriptors, and will use a different synchronization mechanism to ensure <tt>rc.init</tt> only runs when <a href="//skarnet.org/software/s6/s6-svscan.html">s6-svscan</a> is ready. </li> + <li> <tt>-W</tt> <em>readyfd</em> : before doing anything, wait +for file descriptor <em>readyfd</em> to signal EOF. This is typically useful in +containers that implement the Docker synchronization mechanism, where the +container manager starts the container with a pipe open to the container's +descriptor 3, does its preparation, and closes the pipe to tell the container's +init that it can proceed. If this option is not given, or <em>readyfd</em> is 0, +no synchronization occurs and s6-linux-init boots without waiting. </li> </ul> <h2> Early preparation </h2> |
