s6

Mirror/fork of https://skarnet.org/software/s6/
git clone https://ccx.te2000.cz/git/s6
Log | Files | Refs | README | LICENSE

commit 76ec0723593b27918e37d9cb1d1965b9b57b4c52
parent e2f01f98672c501b6ec4b445956b48041267138f
Author: Laurent Bercot <ska-skaware@skarnet.org>
Date:   Wed, 17 Jun 2015 20:03:10 +0000

 - add links to s6-linux-init
 - version: 2.1.4.0

Diffstat:
Mdoc/index.html | 13+++++++++++++
Mdoc/s6-svscan-1.html | 26++++++++++++++++++++++----
2 files changed, 35 insertions(+), 4 deletions(-)

diff --git a/doc/index.html b/doc/index.html @@ -303,6 +303,19 @@ synchronization</a>. <h2> Related resources </h2> </a> +<h3> Other components for s6-based init systems </h3> + +<ul> + <li> <a href="http://skarnet.org/software/s6-linux-init/">s6-linux-init</a> +is a package to help you create a <tt>/sbin/init</tt> binary booting a +Linux system with s6-svscan as process 1. </li> + <li> <a href="https://github.com/just-containers/s6-overlay">s6-overlay</a> +is a project that automates integration of s6 into Docker images. </li> + <li> <a href="http://jjacky.com/anopa">anopa</a> is a dependency-based +service manager for s6. </li> +</ul> + + <h3> s6 discussion </h3> <ul> diff --git a/doc/s6-svscan-1.html b/doc/s6-svscan-1.html @@ -19,6 +19,13 @@ <h1> How to run s6-svscan as process 1 </h1> <p> + <em> Since 2015-06-17, if you're a Linux user, you can use the +<a href="http://skarnet.org/software/s6-linux-init/">s6-linux-init</a> +package to help you do so! Please read this documentation page first, +though, it will help you understand what s6-linux-init does. </em> +</p> + +<p> It is possible to run s6-svscan as process 1, i.e. the <tt>init</tt> process. However, that does not mean you can directly <em>boot</em> on s6-svscan; that little program cannot do everything @@ -26,6 +33,8 @@ your stock init does. Replacing the <tt>init</tt> process requires a bit of understanding of what is going on. </p> +<h2> A working example: s6-linux-init </h2> + <a name="stages"> <h2> The three stages of init </h2> </a> @@ -126,12 +135,21 @@ needed. Fortunately, those processes are very easy to design! The only difficulty here is that they're heavily system-dependent, so it's not possible to provide a stage 1 init and a stage 3 init that will work everywhere. s6 was designed to be as portable as possible, and it should run on virtually -every Unix platform; but outside of stage 2 is where portability stops, and -the s6 package can't help you there. +every Unix platform; but outside of stage 2 is where portability stops. +</p> + +<p> + The <a href="http://skarnet.org/software/s6-linux-init/">s6-linux-init</a> +package provides a tool, <tt>s6-linux-init-maker</tt>, to automatically +create a suitable stage 1 init (so, the <tt>/sbin/init</tt> binary) for +Linux. +It is also possible to write similar tools for other operating systems, +but the details are heavily system-dependent. </p> <p> - Here are some tips though. + For the adventurous and people who need to do this by hand, though, here are +are some general design tips. </p> <a name="stage1"> @@ -205,7 +223,7 @@ init a script. <p> Of course, most people will use the <em>shell</em> as scripting language; however, I advocate the use of -<a href="http://www.skarnet.org/software/execline/">execline</a> +<a href="http://skarnet.org/software/execline/">execline</a> for this, and not only for the obvious reasons. Piping s6-svscan's stderr to a logging service before said service is even up requires some <a href="#log">tricky fifo handling</a> that execline can do