1 | <?xml version="1.0" encoding="ISO-8859-1"?>
|
---|
2 | <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
---|
3 | "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
---|
4 | <!ENTITY % general-entities SYSTEM "../general.ent">
|
---|
5 | <!ENTITY site SYSTEM "../appendices/rc.site.script">
|
---|
6 | %general-entities;
|
---|
7 | ]>
|
---|
8 |
|
---|
9 | <sect1 id="ch-config-usage" revision="s6">
|
---|
10 | <?dbhtml filename="usage.html"?>
|
---|
11 |
|
---|
12 | <title>S6 Usage and Configuration</title>
|
---|
13 |
|
---|
14 | <para>Some information about S6 in general and in detail...</para>
|
---|
15 |
|
---|
16 | <sect2>
|
---|
17 | <title>Terminology</title>
|
---|
18 |
|
---|
19 | <para>
|
---|
20 | S6 does not look that trivial on the first view. Some
|
---|
21 | clarification on the terminology of S6 might help to understand
|
---|
22 | what is talked about.
|
---|
23 | </para>
|
---|
24 |
|
---|
25 | <itemizedlist>
|
---|
26 | <listitem>
|
---|
27 | <para>service directory</para>
|
---|
28 | <para>
|
---|
29 | A directory, where your service definitions are
|
---|
30 | stored. That is the direcory where all the directories
|
---|
31 | containing <filename>type</filename>, <filename>up</filename>,
|
---|
32 | <filename>down</filename> and <filename>dependencies</filename>
|
---|
33 | resides in. In the service directory can be much more
|
---|
34 | service definitions be stored than you might actually are
|
---|
35 | going to use.
|
---|
36 | </para>
|
---|
37 | </listitem>
|
---|
38 |
|
---|
39 | <listitem>
|
---|
40 | <para>scan directory</para>
|
---|
41 | <para>
|
---|
42 | Pretty much same structure as a <emphasis>service directory</emphasis>
|
---|
43 | but it contains only that services which are used on your
|
---|
44 | system. The scandir can contain symbolic links to services
|
---|
45 | in the <emphasis>service directory</emphasis>.
|
---|
46 | </para>
|
---|
47 | </listitem>
|
---|
48 | </itemizedlist>
|
---|
49 |
|
---|
50 | </sect2>
|
---|
51 |
|
---|
52 | <sect2>
|
---|
53 | <title>The boot scripts</title>
|
---|
54 |
|
---|
55 | <para>Now setup some essential scripts for booting.</para>
|
---|
56 |
|
---|
57 | <para>
|
---|
58 | After init has been started, the s6 rc.init file is read.
|
---|
59 | The file can be found in <filename class="directory">/etc/s6-linux-init/skel</filename>.
|
---|
60 | This file can be used to start the S6 service manager as well
|
---|
61 | as optionally other service managers. To enable s6-rc, execute
|
---|
62 | following command to uncomment the respective line:
|
---|
63 | </para>
|
---|
64 |
|
---|
65 | <screen><userinput>sed -e "s/^# s6-rc-init/s6-rc-init/" \
|
---|
66 | -i /etc/s6-linux-init/skel/rc.init</userinput></screen>
|
---|
67 |
|
---|
68 | <note>
|
---|
69 | <para>
|
---|
70 | Whenever you change files in the skel directory, it is
|
---|
71 | required to reinstall them using the <filename>s6-linux-init-maker</filename>
|
---|
72 | script.
|
---|
73 | </para>
|
---|
74 | <para>
|
---|
75 | Execute the following commands to rebuild the files.
|
---|
76 | </para>
|
---|
77 | </note>
|
---|
78 |
|
---|
79 | <!--
|
---|
80 | Following setup is taken from
|
---|
81 | https://skarnet.org/software/s6-linux-init/quickstart.html
|
---|
82 | It builds the required programs (init, reboot, ...).
|
---|
83 |
|
---|
84 | The system is bootable with this config, but it has
|
---|
85 | * only one tty (tty1)
|
---|
86 | * root-fs is mounted R/O
|
---|
87 | * no virtual filesystems (like /proc) are mounted
|
---|
88 | * messages breaks thru to console
|
---|
89 |
|
---|
90 | ... but it boots ;-)
|
---|
91 | -->
|
---|
92 | <para>Make sure that the configuration directory exists:</para>
|
---|
93 |
|
---|
94 | <screen><userinput>mkdir -p /etc/s6-linux-init</userinput></screen>
|
---|
95 |
|
---|
96 | <para>Setup a temporary directory name (the directory itself
|
---|
97 | must not exist):</para>
|
---|
98 |
|
---|
99 | <screen><userinput>tmpdir=$(mktemp -d -u)</userinput></screen>
|
---|
100 |
|
---|
101 | <para>Create essential programs and move them to a
|
---|
102 | directory representing the current setup:</para>
|
---|
103 |
|
---|
104 | <screen><userinput>s6-linux-init-maker -1 -G "/sbin/agetty -J 38400 tty1" $tmpdir
|
---|
105 | mv $tmpdir /etc/etc/s6-linux-init/current
|
---|
106 | </userinput></screen>
|
---|
107 |
|
---|
108 | <para>Install the essential programs in the file system:</para>
|
---|
109 |
|
---|
110 | <screen><userinput>cp -av /etc/etc/s6-linux-init/current/bin/* /sbin/</userinput></screen>
|
---|
111 |
|
---|
112 | </sect2>
|
---|
113 |
|
---|
114 | </sect1>
|
---|