mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-06-18 19:29:21 +01:00
First commit to add S6 as init system (like systemd)
This commit is contained in:
parent
f628276ff7
commit
193913e25d
14
Makefile
14
Makefile
@ -18,20 +18,32 @@ endif
|
||||
|
||||
ifneq ($(REV), sysv)
|
||||
ifneq ($(REV), systemd)
|
||||
$(error REV must be 'sysv' (default) or 'systemd'.)
|
||||
ifneq ($(REV), s6)
|
||||
$(error REV must be 'sysv' (default), 'systemd' or 's6'.)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(REV), sysv)
|
||||
# SysV
|
||||
BASEDIR ?= ~/lfs-book
|
||||
PDF_OUTPUT ?= LFS-BOOK.pdf
|
||||
NOCHUNKS_OUTPUT ?= LFS-BOOK.html
|
||||
DUMPDIR ?= ~/cross-lfs-commands
|
||||
else
|
||||
ifeq ($(REV), systemd)
|
||||
# systemd
|
||||
BASEDIR ?= ~/lfs-systemd
|
||||
PDF_OUTPUT ?= LFS-SYSD-BOOK.pdf
|
||||
NOCHUNKS_OUTPUT ?= LFS-SYSD-BOOK.html
|
||||
DUMPDIR ?= ~/lfs-sysd-commands
|
||||
else
|
||||
# S6
|
||||
BASEDIR ?= ~/lfs-s6
|
||||
PDF_OUTPUT ?= LFS-S6-BOOK.pdf
|
||||
NOCHUNKS_OUTPUT ?= LFS-S6-BOOK.html
|
||||
DUMPDIR ?= ~/lfs-s6-commands
|
||||
endif
|
||||
endif
|
||||
|
||||
book: validate profile-html
|
||||
|
@ -71,7 +71,7 @@
|
||||
<listitem>
|
||||
<para>E2fsprogs-&e2fsprogs-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem revision="sysv">
|
||||
<!--<listitem revision="sysv,s6">
|
||||
<para>Eudev-&eudev-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
|
@ -174,7 +174,7 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry revision="sysv">
|
||||
<varlistentry revision="sysv,s6">
|
||||
<term>Eudev (&eudev-version;) - <token>&eudev-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Download: <ulink url="&eudev-url;"/></para>
|
||||
@ -182,6 +182,15 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry revision="s6">
|
||||
<term>execline (&execline-version;) - <token>&execline-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&execline-home;"/></para>
|
||||
<para>Download: <ulink url="&execline-url;"/></para>
|
||||
<para>MD5 sum: <literal>&execline-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Expat (&expat-version;) - <token>&expat-size;</token>:</term>
|
||||
<listitem>
|
||||
@ -656,6 +665,42 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry revision="s6">
|
||||
<term>skalibs (&skalibs-version;) - <token>&skalibs-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&skalibs-home;"/></para>
|
||||
<para>Download: <ulink url="&skalibs-url;"/></para>
|
||||
<para>MD5 sum: <literal>&skalibs-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry revision="s6">
|
||||
<term>S6 (&s6-version;) - <token>&s6-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&s6-home;"/></para>
|
||||
<para>Download: <ulink url="&s6-url;"/></para>
|
||||
<para>MD5 sum: <literal>&s6-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry revision="s6">
|
||||
<term>S6-rc (&s6-rc-version;) - <token>&s6-rc-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&s6-rc-home;"/></para>
|
||||
<para>Download: <ulink url="&s6-rc-url;"/></para>
|
||||
<para>MD5 sum: <literal>&s6-rc-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry revision="s6">
|
||||
<term>S6-linux-init (&s6-init-version;) - <token>&s6-init-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&s6-init-home;"/></para>
|
||||
<para>Download: <ulink url="&s6-init-url;"/></para>
|
||||
<para>MD5 sum: <literal>&s6-init-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry revision="sysv">
|
||||
<term>Sysklogd (&sysklogd-version;) - <token>&sysklogd-size;</token>:</term>
|
||||
<listitem>
|
||||
@ -689,7 +734,6 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
||||
<varlistentry revision="sysv">
|
||||
<term>Sysvinit (&sysvinit-version;) - <token>&sysvinit-size;</token>:</term>
|
||||
<listitem>
|
||||
@ -743,7 +787,7 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry revision="sysv">
|
||||
<varlistentry revision="sysv,s6">
|
||||
<term>Udev-lfs Tarball (&udev-lfs-version;) - <token>&udev-lfs-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Download: <ulink url="&udev-lfs-url;"/></para>
|
||||
|
@ -60,7 +60,7 @@ EOF</userinput></screen>
|
||||
<para>Create the <filename>/etc/passwd</filename> file by running the following
|
||||
command:</para>
|
||||
|
||||
<screen revision="sysv"><userinput>cat > /etc/passwd << "EOF"
|
||||
<screen revision="sysv,s6"><userinput>cat > /etc/passwd << "EOF"
|
||||
<literal>root:x:0:0:root:/root:/bin/bash
|
||||
bin:x:1:1:bin:/dev/null:/usr/bin/false
|
||||
daemon:x:6:6:Daemon User:/dev/null:/usr/bin/false
|
||||
@ -92,7 +92,7 @@ EOF</userinput></screen>
|
||||
<para>Create the <filename>/etc/group</filename> file by running the following
|
||||
command:</para>
|
||||
|
||||
<screen revision="sysv"><userinput>cat > /etc/group << "EOF"
|
||||
<screen revision="sysv,s6"><userinput>cat > /etc/group << "EOF"
|
||||
<literal>root:x:0:
|
||||
bin:x:1:daemon
|
||||
sys:x:2:
|
||||
@ -168,7 +168,7 @@ EOF</userinput></screen>
|
||||
with a GID of 1 be present. The GID of 5 is widely used for
|
||||
<systemitem class="groupname">tty</systemitem> group, and the number 5 is
|
||||
also used in <phrase revision="systemd">systemd</phrase>
|
||||
<phrase revision="sysv"><filename>/etc/fstab</filename></phrase> for the
|
||||
<phrase revision="sysv,s6"><filename>/etc/fstab</filename></phrase> for the
|
||||
<systemitem class="filesystem">devpts</systemitem> filesystem.
|
||||
All other group names and GIDs can be chosen freely by the system
|
||||
administrator since well-written programs do not depend on GID numbers,
|
||||
|
@ -96,14 +96,19 @@
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="man-db.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="procps.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="util-linux.xml"/>
|
||||
|
||||
<!-- Both sysv and systemd builds -->
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="e2fsprogs.xml"/>
|
||||
|
||||
<!-- sysv only -->
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="sysklogd.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="sysvinit.xml"/>
|
||||
|
||||
<!-- s6 only -->
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="skalibs.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="execline.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="s6.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="s6-rc.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="s6-init.xml"/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="aboutdebug.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="stripping.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="cleanup.xml"/>
|
||||
|
@ -5,7 +5,7 @@
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-eudev" role="wrap" revision="sysv">
|
||||
<sect1 id="ch-system-eudev" role="wrap" revision="sysv,s6">
|
||||
<?dbhtml filename="eudev.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
@ -133,7 +133,7 @@ make -f &udev-lfs-version;/Makefile.lfs install</userinput></screen>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
<varlistentry id="udevadm" revision="sysv">
|
||||
<varlistentry id="udevadm" revision="sysv,s6">
|
||||
<term><command>udevadm</command></term>
|
||||
<listitem>
|
||||
<para>Generic udev administration tool: controls the udevd daemon,
|
||||
|
104
chapter08/execline.xml
Normal file
104
chapter08/execline.xml
Normal file
@ -0,0 +1,104 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-execline" role="wrap" revision="s6">
|
||||
<?dbhtml filename="execline.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>execline</productname>
|
||||
<productnumber>&execline-version;</productnumber>
|
||||
<address>&execline-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>execline-&execline-version;</title>
|
||||
|
||||
<indexterm zone="ch-system-execline">
|
||||
<primary sortas="a-execline">execline</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The execline package is a (non-interactive) scripting
|
||||
language, like sh - but its syntax is quite different from
|
||||
a traditional shell syntax. Used internally by the S6 ecosystem.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&execline-fin-sbu;</seg>
|
||||
<seg>&execline-fin-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of execline</title>
|
||||
|
||||
<para>Prepare execline for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
|
||||
|
||||
<!--
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>- -blah=blubb</parameter></term>
|
||||
<listitem>
|
||||
<para>blah blah</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
-->
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-execline" role="content">
|
||||
<title>Contents of execline</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed libraries</segtitle>
|
||||
<segtitle>Installed directories</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>execline-x, execline-y, execline-z, ...</seg>
|
||||
<seg>libx, liby, libz ...</seg>
|
||||
<seg>dirx, diry, dirz ...</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="execline-x">
|
||||
<term><command>execline-x</command></term>
|
||||
<listitem>
|
||||
<para>Is used to blah blah</para>
|
||||
<indexterm zone="ch-system-execline execline-x">
|
||||
<primary sortas="b-execline-x">execline-x</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
@ -52,7 +52,7 @@
|
||||
--with-vgrind=/usr/bin/vgrind \
|
||||
--with-grap=/usr/bin/grap</userinput></screen>
|
||||
|
||||
<screen revision="sysv"><userinput remap="configure">./configure --prefix=/usr \
|
||||
<screen revision="sysv,s6"><userinput remap="configure">./configure --prefix=/usr \
|
||||
--docdir=/usr/share/doc/man-db-&man-db-version; \
|
||||
--sysconfdir=/etc \
|
||||
--disable-setuid \
|
||||
@ -97,7 +97,7 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry revision="sysv">
|
||||
<varlistentry revision="sysv,s6">
|
||||
<term><parameter>--with-systemd...</parameter></term>
|
||||
<listitem>
|
||||
<para>These parameters prevent installing unneeded systemd
|
||||
|
@ -35,7 +35,7 @@
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<tip revision="sysv">
|
||||
<tip revision="sysv,s6">
|
||||
<para>This section is not strictly required for LFS if not using
|
||||
systemd. On the other hand, meson/ninja is a powerful build system,
|
||||
which is expected to be used more and more often. It is required for
|
||||
|
@ -42,7 +42,7 @@
|
||||
|
||||
<para>Prepare procps-ng for compilation:</para>
|
||||
|
||||
<screen revision="sysv"><userinput remap="configure">./configure --prefix=/usr \
|
||||
<screen revision="sysv,s6"><userinput remap="configure">./configure --prefix=/usr \
|
||||
--docdir=/usr/share/doc/procps-ng-&procps-ng-version; \
|
||||
--disable-static \
|
||||
--disable-kill</userinput></screen>
|
||||
|
104
chapter08/s6-init.xml
Normal file
104
chapter08/s6-init.xml
Normal file
@ -0,0 +1,104 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-s6-init" role="wrap" revision="s6">
|
||||
<?dbhtml filename="s6-init.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>s6-init</productname>
|
||||
<productnumber>&s6-init-version;</productnumber>
|
||||
<address>&s6-init-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>s6-init-&s6-init-version;</title>
|
||||
|
||||
<indexterm zone="ch-system-s6-init">
|
||||
<primary sortas="a-s6-init">s6-init</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>s6-linux-init is a set of minimalistic tools used to
|
||||
create a s6-based init system, including a /sbin/init binary,
|
||||
on a Linux kernel.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&s6-init-fin-sbu;</seg>
|
||||
<seg>&s6-init-fin-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of s6-linux-init</title>
|
||||
|
||||
<para>Prepare s6-init for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
|
||||
|
||||
<!--
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>- -blah=blubb</parameter></term>
|
||||
<listitem>
|
||||
<para>blah blah</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
-->
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-s6-init" role="content">
|
||||
<title>Contents of s6-init</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed libraries</segtitle>
|
||||
<segtitle>Installed directories</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>s6-init-x, s6-init-y, s6-init-z, ...</seg>
|
||||
<seg>libx, liby, libz ...</seg>
|
||||
<seg>dirx, diry, dirz ...</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="s6-init-x">
|
||||
<term><command>s6-init-x</command></term>
|
||||
<listitem>
|
||||
<para>Is used to blah blah</para>
|
||||
<indexterm zone="ch-system-s6-init s6-init-x">
|
||||
<primary sortas="b-s6-init-x">s6-init-x</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
103
chapter08/s6-rc.xml
Normal file
103
chapter08/s6-rc.xml
Normal file
@ -0,0 +1,103 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-s6-rc" role="wrap" revision="s6">
|
||||
<?dbhtml filename="s6-rc.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>s6-rc</productname>
|
||||
<productnumber>&s6-rc-version;</productnumber>
|
||||
<address>&s6-rc-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>s6-rc-&s6-rc-version;</title>
|
||||
|
||||
<indexterm zone="ch-system-s6-rc">
|
||||
<primary sortas="a-s6-rc">s6-rc</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The s6-rc package contains library routines for the
|
||||
S6 init system.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&s6-rc-fin-sbu;</seg>
|
||||
<seg>&s6-rc-fin-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of s6-rc</title>
|
||||
|
||||
<para>Prepare s6-rc for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
|
||||
|
||||
<!--
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>- -blah=blubb</parameter></term>
|
||||
<listitem>
|
||||
<para>blah blah</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
-->
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-s6-rc" role="content">
|
||||
<title>Contents of s6-rc</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed libraries</segtitle>
|
||||
<segtitle>Installed directories</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>s6-rc-x, s6-rc-y, s6-rc-z, ...</seg>
|
||||
<seg>libx, liby, libz ...</seg>
|
||||
<seg>dirx, diry, dirz ...</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="s6-rc-x">
|
||||
<term><command>s6-rc-x</command></term>
|
||||
<listitem>
|
||||
<para>Is used to blah blah</para>
|
||||
<indexterm zone="ch-system-s6-rc s6-rc-x">
|
||||
<primary sortas="b-s6-rc-x">s6-rc-x</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
105
chapter08/s6.xml
Normal file
105
chapter08/s6.xml
Normal file
@ -0,0 +1,105 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-s6" role="wrap" revision="s6">
|
||||
<?dbhtml filename="s6.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>s6</productname>
|
||||
<productnumber>&s6-version;</productnumber>
|
||||
<address>&s6-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>S6-&s6-version;</title>
|
||||
|
||||
<indexterm zone="ch-system-s6">
|
||||
<primary sortas="a-s6">s6</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The s6 package contains programs for controlling the startup,
|
||||
running, and shutdown of the system.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&s6-fin-sbu;</seg>
|
||||
<seg>&s6-fin-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of s6</title>
|
||||
|
||||
<para>Prepare s6 for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr \
|
||||
--datadir=/etc \
|
||||
--docdir=/usr/share/doc/s6-&s6-version;</userinput></screen>
|
||||
|
||||
<!--
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>- -blah=blubb</parameter></term>
|
||||
<listitem>
|
||||
<para>blah blah</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
-->
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-s6" role="content">
|
||||
<title>Contents of s6</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed libraries</segtitle>
|
||||
<segtitle>Installed directories</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>s6-x, s6-y, s6-z, ...</seg>
|
||||
<seg>libx, liby, libz ...</seg>
|
||||
<seg>dirx, diry, dirz ...</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="s6-x">
|
||||
<term><command>s6-x</command></term>
|
||||
<listitem>
|
||||
<para>Is used to blah blah</para>
|
||||
<indexterm zone="ch-system-s6 s6-x">
|
||||
<primary sortas="b-s6-x">s6-x</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
103
chapter08/skalibs.xml
Normal file
103
chapter08/skalibs.xml
Normal file
@ -0,0 +1,103 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-skalibs" role="wrap" revision="s6">
|
||||
<?dbhtml filename="skalibs.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>skalibs</productname>
|
||||
<productnumber>&skalibs-version;</productnumber>
|
||||
<address>&skalibs-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>skalibs-&skalibs-version;</title>
|
||||
|
||||
<indexterm zone="ch-system-skalibs">
|
||||
<primary sortas="a-skalibs">skalibs</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The skalibs package contains library routines for the
|
||||
S6 init system.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&skalibs-fin-sbu;</seg>
|
||||
<seg>&skalibs-fin-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of skalibs</title>
|
||||
|
||||
<para>Prepare skalibs for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
|
||||
|
||||
<!--
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>- -blah=blubb</parameter></term>
|
||||
<listitem>
|
||||
<para>blah blah</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
-->
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-skalibs" role="content">
|
||||
<title>Contents of skalibs</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed libraries</segtitle>
|
||||
<segtitle>Installed directories</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>skalibs-x, skalibs-y, skalibs-z, ...</seg>
|
||||
<seg>libx, liby, libz ...</seg>
|
||||
<seg>dirx, diry, dirz ...</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="skalibs-x">
|
||||
<term><command>skalibs-x</command></term>
|
||||
<listitem>
|
||||
<para>Is used to blah blah</para>
|
||||
<indexterm zone="ch-system-skalibs skalibs-x">
|
||||
<primary sortas="b-skalibs-x">skalibs-x</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
@ -44,7 +44,7 @@
|
||||
|
||||
<para>Prepare Util-linux for compilation:</para>
|
||||
|
||||
<screen revision="sysv"><userinput remap="configure">./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \
|
||||
<screen revision="sysv,s6"><userinput remap="configure">./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \
|
||||
--bindir=/usr/bin \
|
||||
--libdir=/usr/lib \
|
||||
--sbindir=/usr/sbin \
|
||||
|
@ -19,6 +19,11 @@
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="introductiond.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="networkd.xml"/>
|
||||
|
||||
<!-- s6 -->
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="introduction6.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="network6.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="usage6.xml"/>
|
||||
|
||||
<!-- common -->
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="udev.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="symlinks.xml"/>
|
||||
|
91
chapter09/introduction6.xml
Normal file
91
chapter09/introduction6.xml
Normal file
@ -0,0 +1,91 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-config-introduction" revision="s6">
|
||||
<?dbhtml filename="introduction.html"?>
|
||||
|
||||
<title>Introduction</title>
|
||||
|
||||
<para>Booting a Linux system involves several tasks. The process must
|
||||
mount both virtual and real file systems, initialize devices, activate swap,
|
||||
check file systems for integrity, mount any swap partitions or files, set
|
||||
the system clock, bring up networking, start any daemons required by the
|
||||
system, and accomplish any other custom tasks needed by the user. This
|
||||
process must be organized to ensure the tasks are performed in the correct
|
||||
order but, at the same time, be executed as fast as possible.</para>
|
||||
|
||||
<sect2 id='sysv-desc'>
|
||||
<title>System V</title>
|
||||
|
||||
<para>System V is the classic boot process that has been used in Unix and
|
||||
Unix-like systems such as Linux since about 1983. It consists of a small
|
||||
program, <command>init</command>, that sets up basic programs such as
|
||||
<command>login</command> (via getty) and runs a script. This script,
|
||||
usually named <command>rc</command>, controls the execution of a set of
|
||||
additional scripts that perform the tasks required to initialize the
|
||||
system.</para>
|
||||
|
||||
<para>The <command>init</command> program is controlled by the
|
||||
<filename>/etc/inittab</filename> file and is organized into run levels that
|
||||
can be run by the user. In LFS, they are used as follows:</para>
|
||||
|
||||
<literallayout>0 — halt
|
||||
1 — Single user mode
|
||||
2 — User definable
|
||||
3 — Full multiuser mode
|
||||
4 — User definable
|
||||
5 — Full multiuser mode with display manager
|
||||
6 — reboot</literallayout>
|
||||
|
||||
<para>The usual default run level is 3 or 5.</para>
|
||||
|
||||
<bridgehead renderas="sect3">Advantages</bridgehead>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Established, well understood system.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Easy to customize.</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
|
||||
<bridgehead renderas="sect3">Disadvantages</bridgehead>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>May be slower to boot. A medium speed base LFS system
|
||||
takes 8-12 seconds where the boot time is measured from the
|
||||
first kernel message to the login prompt. Network
|
||||
connectivity is typically established about 2 seconds
|
||||
after the login prompt.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Serial processing of boot tasks. This is related to the previous
|
||||
point. A delay in any process such as a file system check, will
|
||||
delay the entire boot process.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Does not directly support advanced features like
|
||||
control groups (cgroups), and per-user fair share scheduling.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Adding scripts requires manual, static sequencing decisions.</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
||||
|
247
chapter09/network6.xml
Normal file
247
chapter09/network6.xml
Normal file
@ -0,0 +1,247 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-config-network" revision="s6">
|
||||
<?dbhtml filename="network.html"?>
|
||||
|
||||
<title>General Network Configuration</title>
|
||||
|
||||
<indexterm zone="ch-config-network">
|
||||
<primary sortas="d-network">network</primary>
|
||||
<secondary>configuring</secondary></indexterm>
|
||||
|
||||
<sect2>
|
||||
<title>Creating Network Interface Configuration Files</title>
|
||||
|
||||
<para>Which interfaces are brought up and down by the network script
|
||||
usually depends on the files in <filename
|
||||
class="directory">/etc/sysconfig/</filename>. This directory should
|
||||
contain a file for each interface to be configured, such as
|
||||
<filename>ifconfig.xyz</filename>, where <quote>xyz</quote> should describe
|
||||
the network card. The interface name (e.g. eth0) is usually appropriate.
|
||||
Inside this file are attributes to this interface, such as its IP
|
||||
address(es), subnet masks, and so forth. It is necessary that the stem of
|
||||
the filename be <emphasis>ifconfig</emphasis>.</para>
|
||||
|
||||
<note>
|
||||
<para>If the procedure in the previous section was not used, udev
|
||||
will assign network card interface names based on system physical
|
||||
characteristics such as enp2s1. If you are not sure what your interface
|
||||
name is, you can always run <command>ip link</command> or <command>ls
|
||||
/sys/class/net</command> after you have booted your system.
|
||||
</para>
|
||||
|
||||
<para>The interface names depend on the implementation and
|
||||
configuration of the udev daemon running on the system. The udev
|
||||
daemon for LFS (installed in <xref linkend="ch-system-eudev"/>) will
|
||||
not run until the LFS system is booted. So it's unreliable to
|
||||
determine the interface names being used in LFS system by running
|
||||
those commands on the host distro,
|
||||
<emphasis>even though in the chroot environment</emphasis>.</para>
|
||||
</note>
|
||||
|
||||
<para>The following command creates a sample file for the
|
||||
<emphasis>eth0</emphasis> device with a static IP address:</para>
|
||||
<!-- jhalfs relies on the values for IFACE, IP, etc. If you want to change
|
||||
them, please inform the jhalfs maintainer(s). -->
|
||||
<screen><userinput>cd /etc/sysconfig/
|
||||
cat > ifconfig.<replaceable>eth0</replaceable> << "EOF"
|
||||
<literal>ONBOOT=<replaceable>yes</replaceable>
|
||||
IFACE=<replaceable>eth0</replaceable>
|
||||
SERVICE=<replaceable>ipv4-static</replaceable>
|
||||
IP=<replaceable>192.168.1.2</replaceable>
|
||||
GATEWAY=<replaceable>192.168.1.1</replaceable>
|
||||
PREFIX=<replaceable>24</replaceable>
|
||||
BROADCAST=<replaceable>192.168.1.255</replaceable></literal>
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para>The values in italics must be changed in every file to match
|
||||
the proper setup.</para>
|
||||
|
||||
<para>If the <envar>ONBOOT</envar> variable is set to <quote>yes</quote> the
|
||||
System V network script will bring up the Network Interface Card (NIC) during
|
||||
the system boot process. If set to anything but <quote>yes</quote> the NIC
|
||||
will be ignored by the network script and not be automatically brought up.
|
||||
The interface can be manually started or stopped with the
|
||||
<command>ifup</command> and <command>ifdown</command> commands.</para>
|
||||
|
||||
<para>The <envar>IFACE</envar> variable defines the interface name,
|
||||
for example, eth0. It is required for all network device configuration
|
||||
files. The filename extension must match this value.</para>
|
||||
|
||||
<para>The <envar>SERVICE</envar> variable defines the method used for
|
||||
obtaining the IP address. The LFS-Bootscripts package has a modular IP
|
||||
assignment format, and creating additional files in the <filename
|
||||
class="directory">/lib/services/</filename> directory allows other IP
|
||||
assignment methods. This is commonly used for Dynamic Host Configuration
|
||||
Protocol (DHCP), which is addressed in the BLFS book.</para>
|
||||
|
||||
<para>The <envar>GATEWAY</envar> variable should contain the default
|
||||
gateway IP address, if one is present. If not, then comment out the
|
||||
variable entirely.</para>
|
||||
|
||||
<para>The <envar>PREFIX</envar> variable contains the number of
|
||||
bits used in the subnet. Each octet in an IP address is 8 bits. If the
|
||||
subnet's netmask is 255.255.255.0, then it is using the first three octets
|
||||
(24 bits) to specify the network number. If the netmask is 255.255.255.240,
|
||||
it would be using the first 28 bits. Prefixes longer than 24 bits are
|
||||
commonly used by DSL and cable-based Internet Service Providers (ISPs).
|
||||
In this example (PREFIX=24), the netmask is 255.255.255.0. Adjust the
|
||||
<envar>PREFIX</envar> variable according to your specific subnet.
|
||||
If omitted, the PREFIX defaults to 24.</para>
|
||||
|
||||
<para>For more information see the <command>ifup</command> man page.</para>
|
||||
|
||||
</sect2>
|
||||
<sect2 id="resolv.conf">
|
||||
<title>Creating the /etc/resolv.conf File</title>
|
||||
|
||||
<indexterm zone="resolv.conf">
|
||||
<primary sortas="e-/etc/resolv.conf">/etc/resolv.conf</primary>
|
||||
</indexterm>
|
||||
|
||||
<para>The system will need some means of obtaining Domain Name Service
|
||||
(DNS) name resolution to resolve Internet domain names to IP addresses, and
|
||||
vice versa. This is best achieved by placing the IP address of the DNS
|
||||
server, available from the ISP or network administrator, into
|
||||
<filename>/etc/resolv.conf</filename>. Create the file by running the
|
||||
following:</para>
|
||||
|
||||
<screen><userinput>cat > /etc/resolv.conf << "EOF"
|
||||
<literal># Begin /etc/resolv.conf
|
||||
|
||||
domain <replaceable><Your Domain Name></replaceable>
|
||||
nameserver <replaceable><IP address of your primary nameserver></replaceable>
|
||||
nameserver <replaceable><IP address of your secondary nameserver></replaceable>
|
||||
|
||||
# End /etc/resolv.conf</literal>
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para>The <varname>domain</varname> statement can be omitted
|
||||
or replaced with a <varname>search</varname> statement. See the man page for
|
||||
resolv.conf for more details.</para>
|
||||
|
||||
<para>Replace <replaceable><IP address of the nameserver></replaceable>
|
||||
with the IP address of the DNS most appropriate for the setup. There will
|
||||
often be more than one entry (requirements demand secondary servers for
|
||||
fallback capability). If you only need or want one DNS server, remove the
|
||||
second <emphasis>nameserver</emphasis> line from the file. The IP address
|
||||
may also be a router on the local network.</para>
|
||||
|
||||
<note>
|
||||
<para>The Google Public IPv4 DNS addresses are 8.8.8.8 and 8.8.4.4.</para>
|
||||
</note>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="ch-config-hostname">
|
||||
<title>Configuring the system hostname</title>
|
||||
|
||||
<indexterm zone="ch-config-hostname">
|
||||
<primary sortas="d-hostname">hostname</primary>
|
||||
<secondary>configuring</secondary>
|
||||
</indexterm>
|
||||
|
||||
<para>During the boot process, the file <filename>/etc/hostname</filename>
|
||||
is used for establishing the system's hostname.</para>
|
||||
|
||||
<para>Create the <filename>/etc/hostname</filename> file and enter a
|
||||
hostname by running:</para>
|
||||
|
||||
<screen><userinput>echo "<replaceable><lfs></replaceable>" > /etc/hostname</userinput></screen>
|
||||
|
||||
<para><replaceable><lfs></replaceable> needs to be replaced with the
|
||||
name given to the computer. Do not enter the Fully Qualified Domain Name
|
||||
(FQDN) here. That information is put in the
|
||||
<filename>/etc/hosts</filename> file.</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="ch-config-hosts">
|
||||
<title>Customizing the /etc/hosts File</title>
|
||||
|
||||
<indexterm zone="ch-config-hosts">
|
||||
<primary sortas="e-/etc/hosts">/etc/hosts</primary>
|
||||
</indexterm>
|
||||
|
||||
<indexterm zone="ch-config-hosts">
|
||||
<primary sortas="d-localnet">localnet</primary>
|
||||
<secondary>/etc/hosts</secondary>
|
||||
</indexterm>
|
||||
|
||||
<indexterm zone="ch-config-hosts">
|
||||
<primary sortas="d-network">network</primary>
|
||||
<secondary>/etc/hosts</secondary>
|
||||
</indexterm>
|
||||
|
||||
<para>Decide on the IP address, fully-qualified domain name (FQDN), and
|
||||
possible aliases for use in the <filename>/etc/hosts</filename> file. The
|
||||
syntax is:</para>
|
||||
|
||||
<screen><literal>IP_address myhost.example.org aliases</literal></screen>
|
||||
|
||||
<para>Unless the computer is to be visible to the Internet (i.e., there is
|
||||
a registered domain and a valid block of assigned IP addresses—most
|
||||
users do not have this), make sure that the IP address is in the private
|
||||
network IP address range. Valid ranges are:</para>
|
||||
|
||||
<screen><literal>Private Network Address Range Normal Prefix
|
||||
10.0.0.1 - 10.255.255.254 8
|
||||
172.x.0.1 - 172.x.255.254 16
|
||||
192.168.y.1 - 192.168.y.254 24</literal></screen>
|
||||
|
||||
<para>x can be any number in the range 16-31. y can be any number in the
|
||||
range 0-255.</para>
|
||||
|
||||
<para>A valid private IP address could be 192.168.1.1. A valid FQDN for
|
||||
this IP could be lfs.example.org.</para>
|
||||
|
||||
<para>Even if not using a network card, a valid FQDN is still required.
|
||||
This is necessary for certain programs to operate correctly.</para>
|
||||
|
||||
<para>Create the <filename>/etc/hosts</filename> file by running:</para>
|
||||
|
||||
<screen><userinput>cat > /etc/hosts << "EOF"
|
||||
<literal># Begin /etc/hosts
|
||||
|
||||
127.0.0.1 localhost.localdomain localhost
|
||||
127.0.1.1 <replaceable><FQDN></replaceable> <replaceable><HOSTNAME></replaceable>
|
||||
<replaceable><192.168.1.1></replaceable> <replaceable><FQDN></replaceable> <replaceable><HOSTNAME></replaceable> <replaceable>[alias1] [alias2 ...]</replaceable>
|
||||
::1 localhost ip6-localhost ip6-loopback
|
||||
ff02::1 ip6-allnodes
|
||||
ff02::2 ip6-allrouters
|
||||
|
||||
# End /etc/hosts</literal>
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para>The <replaceable><192.168.1.1></replaceable>,
|
||||
<replaceable><FQDN></replaceable>, and
|
||||
<replaceable><HOSTNAME></replaceable> values need to be
|
||||
changed for specific uses or requirements (if assigned an IP address by a
|
||||
network/system administrator and the machine will be connected to an
|
||||
existing network). The optional alias name(s) can be omitted.</para>
|
||||
|
||||
<!-- This is not very useful
|
||||
|
||||
<para>If a network card is not going to be configured, create the
|
||||
<filename>/etc/hosts</filename> file by running:</para>
|
||||
|
||||
<screen role="nodump"><userinput>cat > /etc/hosts << "EOF"
|
||||
<literal># Begin /etc/hosts (no network card version)
|
||||
|
||||
127.0.0.1 localhost
|
||||
127.0.1.1 <replaceable><FQDN></replaceable> <replaceable><HOSTNAME></replaceable>
|
||||
::1 localhost ip6-localhost ip6-loopback
|
||||
ff02::1 ip6-allnodes
|
||||
ff02::2 ip6-allrouters
|
||||
|
||||
# End /etc/hosts (no network card version)</literal>
|
||||
EOF</userinput></screen> -->
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
@ -5,7 +5,7 @@
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-config-profile" revision="sysv">
|
||||
<sect1 id="ch-config-profile" revision="sysv,s6">
|
||||
<?dbhtml filename="profile.html"?>
|
||||
|
||||
<title>The Bash Shell Startup Files</title>
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
<title>Managing Devices</title>
|
||||
|
||||
<sect2 revision="sysv">
|
||||
<sect2 revision="sysv,s6">
|
||||
|
||||
<title>Network Devices</title>
|
||||
|
||||
@ -116,7 +116,7 @@
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 revision="sysv">
|
||||
<sect2 revision="sysv,s6">
|
||||
|
||||
<title>CD-ROM symlinks</title>
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
</indexterm>
|
||||
|
||||
<para>In <xref linkend="chapter-building-system"/>, we installed the udev
|
||||
package when <phrase revision="sysv">eudev</phrase>
|
||||
package when <phrase revision="sysv,s6">eudev</phrase>
|
||||
<phrase revision="systemd">systemd</phrase> was built. Before we go into the
|
||||
details regarding how this works, a brief history of previous methods of
|
||||
handling devices is in order.</para>
|
||||
@ -227,7 +227,7 @@
|
||||
the <filename>modprobe.d(5)</filename> manual page for more information
|
||||
on <quote>softdep</quote> syntax and capabilities.</para>
|
||||
|
||||
<para revision="sysv">If the module in question is not a wrapper and is
|
||||
<para revision="sysv,s6">If the module in question is not a wrapper and is
|
||||
useful by itself, configure the <command>modules</command> bootscript to
|
||||
load this module on system boot. To do this, add the module name to the
|
||||
<filename>/etc/sysconfig/modules</filename> file on a separate line.
|
||||
|
16
chapter09/usage6.xml
Normal file
16
chapter09/usage6.xml
Normal file
@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
<!ENTITY site SYSTEM "../appendices/rc.site.script">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-config-usage" revision="s6">
|
||||
<?dbhtml filename="usage.html"?>
|
||||
|
||||
<title>S6 Usage and Configuration</title>
|
||||
|
||||
<para>Add more info about S6 here.</para>
|
||||
|
||||
</sect1>
|
@ -19,7 +19,7 @@
|
||||
which must be checked (for integrity errors) prior to mounting. Create a new
|
||||
file systems table like this:</para>
|
||||
|
||||
<screen revision="sysv"><userinput>cat > /etc/fstab << "EOF"
|
||||
<screen revision="sysv,s6"><userinput>cat > /etc/fstab << "EOF"
|
||||
<literal># Begin /etc/fstab
|
||||
|
||||
# file system mount-point type options dump fsck
|
||||
|
@ -105,7 +105,7 @@
|
||||
<para>Be sure to enable/disable/set the following features or the system might
|
||||
not work correctly or boot at all:</para>
|
||||
|
||||
<screen role="nodump" revision="sysv">General setup -->
|
||||
<screen role="nodump" revision="sysv,s6">General setup -->
|
||||
[ ] Compile the kernel with warnings as errors [CONFIG_WERROR]
|
||||
< > Enable kernel headers through /sys/kernel/kheaders.tar.xz [CONFIG_IKHEADERS]
|
||||
Device Drivers --->
|
||||
@ -156,7 +156,7 @@ File systems --->
|
||||
required, it is highly recommended by the systemd developers.</para>
|
||||
</note>
|
||||
|
||||
<para revision="sysv">There are several other options that may be desired
|
||||
<para revision="sysv,s6">There are several other options that may be desired
|
||||
depending on the requirements for the system. For a list of options needed
|
||||
for BLFS packages, see the <ulink
|
||||
url="&lfs-root;blfs/view/&short-version;/longindex.html#kernel-config-index">BLFS
|
||||
|
@ -75,7 +75,7 @@
|
||||
<listitem><para>/etc/vimrc </para></listitem>
|
||||
<listitem><para>/root/.bash_profile </para></listitem>
|
||||
<listitem><para>/root/.bashrc </para></listitem>
|
||||
<listitem revision="sysv"><para>/etc/sysconfig/ifconfig.eth0 </para></listitem>
|
||||
<listitem revision="sysv,s6"><para>/etc/sysconfig/ifconfig.eth0 </para></listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
15
general.ent
15
general.ent
@ -30,6 +30,10 @@
|
||||
<!ENTITY short-version "systemd"> <!-- Used below in &blfs-book; -->
|
||||
<!ENTITY errata "&lfs-root;lfs/errata/systemd/">
|
||||
]]>
|
||||
<![ %s6; [
|
||||
<!ENTITY short-version "svn-s6"> <!-- Used below in &blfs-book; -->
|
||||
<!ENTITY errata "&lfs-root;lfs/errata/development/">
|
||||
]]>
|
||||
<!ENTITY generic-version "development"> <!-- Used below in
|
||||
&patches-root;,
|
||||
&donwloads-root;, and
|
||||
@ -45,6 +49,10 @@
|
||||
<!ENTITY version "%relnum;-systemd">
|
||||
<!ENTITY short-version "stable-systemd"> <!-- Used below in &blfs-book; -->
|
||||
]]>
|
||||
<![ %s6; [
|
||||
<!ENTITY version "%relnum;-s6">
|
||||
<!ENTITY short-version "%relnum;-s6"> <!-- Used below in &blfs-book; -->
|
||||
]]>
|
||||
<!ENTITY errata "&lfs-root;lfs/errata/&version;/">
|
||||
<!ENTITY generic-version "%relnum;"> <!-- Used below in
|
||||
&patches-root;,
|
||||
@ -63,6 +71,10 @@
|
||||
<!ENTITY version "%relnum;-systemd-rc%rcnum;">
|
||||
<!ENTITY short-version "systemd"> <!-- Used below in &blfs-book; -->
|
||||
]]>
|
||||
<![ %s6; [
|
||||
<!ENTITY version "%relnum;-s6-rc%rcnum;">
|
||||
<!ENTITY short-version "s6"> <!-- Used below in &blfs-book; -->
|
||||
]]>
|
||||
<!ENTITY errata "&lfs-root;lfs/errata/&version;/">
|
||||
<!ENTITY generic-version "%relnum;-rc%rcnum;"> <!-- Used below in
|
||||
&patches-root;,
|
||||
@ -78,6 +90,9 @@
|
||||
<![ %systemd; [
|
||||
<!ENTITY wget-list "wget-list-systemd">
|
||||
]]>
|
||||
<![ %s6; [
|
||||
<!ENTITY wget-list "wget-list-s6">
|
||||
]]>
|
||||
|
||||
<!ENTITY lfs-root "https://www.linuxfromscratch.org/">
|
||||
<!ENTITY blfs-root "&lfs-root;blfs/">
|
||||
|
@ -3,9 +3,15 @@
|
||||
if [ "$1" = sysv ]; then
|
||||
SYSV="INCLUDE"
|
||||
SYSTEMD="IGNORE "
|
||||
S6="IGNORE "
|
||||
elif [ "$1" = systemd ]; then
|
||||
SYSV="IGNORE "
|
||||
SYSTEMD="INCLUDE"
|
||||
S6="IGNORE "
|
||||
elif [ "$1" = s6 ]; then
|
||||
SYSV="IGNORE "
|
||||
SYSTEMD="IGNORE "
|
||||
S6="INCLUDE "
|
||||
else
|
||||
echo You must provide either \"sysv\" or \"systemd\" as argument
|
||||
exit 1
|
||||
@ -13,6 +19,7 @@ fi
|
||||
|
||||
echo "<!ENTITY % sysv \"$SYSV\">" > conditional.ent
|
||||
echo "<!ENTITY % systemd \"$SYSTEMD\">" >> conditional.ent
|
||||
echo "<!ENTITY % s6 \"$S6\">" >> conditional.ent
|
||||
|
||||
if ! git status > /dev/null; then
|
||||
# Either it's not a git repository, or git is unavaliable.
|
||||
@ -23,6 +30,9 @@ if ! git status > /dev/null; then
|
||||
echo "<![ %systemd; [" >> version.ent
|
||||
echo "<!ENTITY version \"unknown-systemd\">" >> version.ent
|
||||
echo "]]>" >> version.ent
|
||||
echo "<![ %s6; [" >> version.ent
|
||||
echo "<!ENTITY version \"unknown-s6\">" >> version.ent
|
||||
echo "]]>" >> version.ent
|
||||
echo "<!ENTITY releasedate \"unknown\">" >> version.ent
|
||||
echo "<!ENTITY copyrightdate \"1999-2022\">" >> version.ent
|
||||
exit 0
|
||||
@ -51,10 +61,12 @@ sha="$(git describe --abbrev=1)"
|
||||
rev=$(echo "$sha" | sed 's/-g[^-]*$//')
|
||||
version="$rev"
|
||||
versiond="$rev-systemd"
|
||||
version6="$rev-s6"
|
||||
|
||||
if [ "$(git diff HEAD | wc -l)" != "0" ]; then
|
||||
version="$version+"
|
||||
versiond="$versiond+"
|
||||
version6="$version6+"
|
||||
fi
|
||||
|
||||
echo "<![ %sysv; [" > version.ent
|
||||
@ -63,5 +75,8 @@ echo "]]>" >> version.ent
|
||||
echo "<![ %systemd; [" >> version.ent
|
||||
echo "<!ENTITY version \"$versiond\">" >> version.ent
|
||||
echo "]]>" >> version.ent
|
||||
echo "<![ %s6; [" >> version.ent
|
||||
echo "<!ENTITY version \"$version6\">" >> version.ent
|
||||
echo "]]>" >> version.ent
|
||||
echo "<!ENTITY releasedate \"$full_date\">" >> version.ent
|
||||
echo "<!ENTITY copyrightdate \"1999-$year\">" >> version.ent
|
||||
|
50
packages.ent
50
packages.ent
@ -163,6 +163,16 @@
|
||||
<!ENTITY eudev-fin-du "83 MB">
|
||||
<!ENTITY eudev-fin-sbu "0.2 SBU">
|
||||
|
||||
<!ENTITY execline-version "2.9.0.1"><!-- S6 init -->
|
||||
<!ENTITY execline-size "9999 KB">
|
||||
<!ENTITY execline-url "https://skarnet.org/software/execline/execline-&execline-version;.tar.gz">
|
||||
<!ENTITY execline-md5 "8652a16f687ff766da137e199f9183e0">
|
||||
<!ENTITY execline-home "https://skarnet.org/software/execline/">
|
||||
<!ENTITY execline-tmp-du "9999 MB">
|
||||
<!ENTITY execline-tmp-sbu "9999 SBU">
|
||||
<!ENTITY execline-fin-du "9999 MB">
|
||||
<!ENTITY execline-fin-sbu "9999 SBU">
|
||||
|
||||
<!ENTITY expat-version "2.4.8">
|
||||
<!ENTITY expat-size "444 KB">
|
||||
<!ENTITY expat-url "&sourceforge;expat/expat-&expat-version;.tar.xz">
|
||||
@ -614,6 +624,46 @@
|
||||
<!ENTITY readline-fin-du "15 MB">
|
||||
<!ENTITY readline-fin-sbu "0.1 SBU">
|
||||
|
||||
<!ENTITY skalibs-version "2.12.0.1"><!-- S6 init -->
|
||||
<!ENTITY skalibs-size "9999 KB">
|
||||
<!ENTITY skalibs-url "https://skarnet.org/software/skalibs/skalibs-&skalibs-version;.tar.gz">
|
||||
<!ENTITY skalibs-md5 "296c02c94adea3355faed44e65893d2e">
|
||||
<!ENTITY skalibs-home "https://skarnet.org/software/skalibs/">
|
||||
<!ENTITY skalibs-tmp-du "9999 MB">
|
||||
<!ENTITY skalibs-tmp-sbu "9999 SBU">
|
||||
<!ENTITY skalibs-fin-du "9999 MB">
|
||||
<!ENTITY skalibs-fin-sbu "9999 SBU">
|
||||
|
||||
<!ENTITY s6-version "2.11.1.2"><!-- S6 init -->
|
||||
<!ENTITY s6-size "9999 KB">
|
||||
<!ENTITY s6-url "https://skarnet.org/software/s6/s6-&s6-version;.tar.gz">
|
||||
<!ENTITY s6-md5 "55725b335698c79d41ebde5608bf313d">
|
||||
<!ENTITY s6-home "https://skarnet.org/software/s6/">
|
||||
<!ENTITY s6-tmp-du "9999 MB">
|
||||
<!ENTITY s6-tmp-sbu "9999 SBU">
|
||||
<!ENTITY s6-fin-du "9999 MB">
|
||||
<!ENTITY s6-fin-sbu "9999 SBU">
|
||||
|
||||
<!ENTITY s6-rc-version "0.5.3.2"><!-- S6 init -->
|
||||
<!ENTITY s6-rc-size "9999 KB">
|
||||
<!ENTITY s6-rc-url "https://skarnet.org/software/s6-rc/s6-rc-&s6-rc-version;.tar.gz">
|
||||
<!ENTITY s6-rc-md5 "30395a4bfaea2b1720765b087a0d7aa9">
|
||||
<!ENTITY s6-rc-home "https://skarnet.org/software/s6-rc/">
|
||||
<!ENTITY s6-rc-tmp-du "9999 MB">
|
||||
<!ENTITY s6-rc-tmp-sbu "9999 SBU">
|
||||
<!ENTITY s6-rc-fin-du "9999 MB">
|
||||
<!ENTITY s6-rc-fin-sbu "9999 SBU">
|
||||
|
||||
<!ENTITY s6-init-version "1.0.8.0"><!-- S6 init -->
|
||||
<!ENTITY s6-init-size "9999 KB">
|
||||
<!ENTITY s6-init-url "https://skarnet.org/software/s6-linux-init/s6-linux-init-&s6-init-version;.tar.gz">
|
||||
<!ENTITY s6-init-md5 "c970118871adc59c2c8126a83fb93589">
|
||||
<!ENTITY s6-init-home "https://skarnet.org/software/s6-linux-init/">
|
||||
<!ENTITY s6-init-tmp-du "9999 MB">
|
||||
<!ENTITY s6-init-tmp-sbu "9999 SBU">
|
||||
<!ENTITY s6-init-fin-du "9999 MB">
|
||||
<!ENTITY s6-init-fin-sbu "9999 SBU">
|
||||
|
||||
<!ENTITY sed-version "4.8">
|
||||
<!ENTITY sed-size "1,317 KB">
|
||||
<!ENTITY sed-url "&gnu;sed/sed-&sed-version;.tar.xz">
|
||||
|
@ -137,7 +137,7 @@
|
||||
tested file systems that Linux supports.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem revision="sysv">
|
||||
<listitem revision="sysv,s6">
|
||||
<para>Eudev</para>
|
||||
|
||||
<para>This package is a device manager. It dynamically controls the ownership,
|
||||
|
Loading…
Reference in New Issue
Block a user