aboutsummaryrefslogtreecommitdiffstats
path: root/chapter07
diff options
context:
space:
mode:
authorManuel Canales Esparcia <manuel@linuxfromscratch.org>2005-12-18 18:31:04 +0000
committerManuel Canales Esparcia <manuel@linuxfromscratch.org>2005-12-18 18:31:04 +0000
commitd781ffbe09451f0cce880a010b2d8f5f09047f6f (patch)
treed621d28ecb9b6a03e2368f745aa6d47abbfa4b77 /chapter07
parentb78c7479d4b642d7aea70144b1fbd6cffe26dea3 (diff)
Chapter07 indentation.
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7230 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter07')
-rw-r--r--chapter07/bootscripts.xml509
-rw-r--r--chapter07/chapter07.xml35
-rw-r--r--chapter07/console.xml137
-rw-r--r--chapter07/hostname.xml35
-rw-r--r--chapter07/hosts.xml76
-rw-r--r--chapter07/inputrc.xml43
-rw-r--r--chapter07/introduction.xml35
-rw-r--r--chapter07/network.xml166
-rw-r--r--chapter07/profile.xml230
-rw-r--r--chapter07/setclock.xml78
-rw-r--r--chapter07/sysklogd.xml30
-rw-r--r--chapter07/udev.xml418
-rw-r--r--chapter07/usage.xml212
13 files changed, 1073 insertions, 931 deletions
diff --git a/chapter07/bootscripts.xml b/chapter07/bootscripts.xml
index 7c1004a0f..775215e7e 100644
--- a/chapter07/bootscripts.xml
+++ b/chapter07/bootscripts.xml
@@ -1,239 +1,302 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
+
<sect1 id="ch-scripts-bootscripts" role="wrap">
-<title>LFS-Bootscripts-&lfs-bootscripts-version;</title>
-<?dbhtml filename="bootscripts.html"?>
+ <?dbhtml filename="bootscripts.html"?>
+
+ <title>LFS-Bootscripts-&lfs-bootscripts-version;</title>
+
+ <indexterm zone="ch-scripts-bootscripts">
+ <primary sortas="a-Bootscripts">Bootscripts</primary>
+ </indexterm>
+
+ <sect2 role="package">
+ <title/>
-<indexterm zone="ch-scripts-bootscripts"><primary sortas="a-Bootscripts">Bootscripts</primary></indexterm>
+ <para>The LFS-Bootscripts package contains a set of scripts to start/stop the
+ LFS system at bootup/shutdown.</para>
-<sect2 role="package"><title/>
-<para>The LFS-Bootscripts package contains a set of scripts to start/stop the
-LFS system at bootup/shutdown.</para>
+ <segmentedlist>
+ <segtitle>&buildtime;</segtitle>
+ <segtitle>&diskspace;</segtitle>
-<segmentedlist>
-<segtitle>&buildtime;</segtitle>
-<segtitle>&diskspace;</segtitle>
-<seglistitem><seg>0.1 SBU</seg><seg>516 KB</seg></seglistitem>
-</segmentedlist>
+ <seglistitem>
+ <seg>0.1 SBU</seg>
+ <seg>516 KB</seg>
+ </seglistitem>
+ </segmentedlist>
-<segmentedlist>
-<segtitle>&dependencies;</segtitle>
-<seglistitem><seg>Bash and Coreutils</seg></seglistitem>
-</segmentedlist>
-</sect2>
+ <segmentedlist>
+ <segtitle>&dependencies;</segtitle>
-<sect2 role="installation">
-<title>Installation of LFS-Bootscripts</title>
+ <seglistitem>
+ <seg>Bash and Coreutils</seg>
+ </seglistitem>
+ </segmentedlist>
-<para>Install the package:</para>
+ </sect2>
+
+ <sect2 role="installation">
+ <title>Installation of LFS-Bootscripts</title>
+
+ <para>Install the package:</para>
<screen><userinput>make install</userinput></screen>
-</sect2>
-
-<sect2 id="contents-bootscripts" role="content"><title>Contents of LFS-Bootscripts</title>
-
-<segmentedlist>
-<segtitle>Installed scripts</segtitle>
-<seglistitem><seg>checkfs, cleanfs, console, functions, halt, hotplug, ifdown, ifup,
-localnet, mountfs, mountkernfs, network, rc, reboot, sendsignals, setclock, static,
-swap, sysklogd, template, and udev</seg></seglistitem>
-</segmentedlist>
-
-<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
-<?dbfo list-presentation="list"?>
-<?dbhtml list-presentation="table"?>
-
-<varlistentry id="checkfs-bootscripts">
-<term><command>checkfs</command></term>
-<listitem>
-<para>Checks the integrity of the file systems before they are mounted (with the
-exception of journal and network based file systems)</para>
-<indexterm zone="ch-scripts-bootscripts checkfs-bootscripts"><primary sortas="d-checkfs">checkfs</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="cleanfs-bootscripts">
-<term><command>cleanfs</command></term>
-<listitem>
-<para>Removes files that should not be
-preserved between reboots, such as those in <filename class="directory">/var/run/</filename> and
-<filename class="directory">/var/lock/</filename>; it re-creates <filename>/var/run/utmp</filename>
-and removes the possibly present <filename>/etc/nologin</filename>,
-<filename>/fastboot</filename>, and <filename>/forcefsck</filename> files</para>
-<indexterm zone="ch-scripts-bootscripts cleanfs-bootscripts"><primary sortas="d-cleanfs">cleanfs</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="console-bootscripts">
-<term><command>console</command></term>
-<listitem>
-<para>Loads the correct keymap table for the desired keyboard layout; it also
-sets the screen font</para>
-<indexterm zone="ch-scripts-bootscripts console-bootscripts"><primary sortas="d-console">console</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="functions-bootscripts">
-<term><command>functions</command></term>
-<listitem>
-<para>Contains common functions, such as error and status checking, that are
-used by several bootscripts</para>
-<indexterm zone="ch-scripts-bootscripts functions-bootscripts"><primary sortas="d-functions">functions</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="halt-bootscripts">
-<term><command>halt</command></term>
-<listitem>
-<para>Halts the system</para>
-<indexterm zone="ch-scripts-bootscripts halt-bootscripts"><primary sortas="d-halt">halt</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="hotplug-bootscripts">
-<term><command>hotplug</command></term>
-<listitem>
-<para>Loads modules for system devices</para>
-<indexterm zone="ch-scripts-bootscripts hotplug-bootscripts"><primary sortas="d-hotplug">hotplug</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="ifdown-bootscripts">
-<term><command>ifdown</command></term>
-<listitem>
-<para>Assists the network script with stopping network devices</para>
-<indexterm zone="ch-scripts-bootscripts ifdown-bootscripts"><primary sortas="d-ifdown">ifdown</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="ifup-bootscripts">
-<term><command>ifup</command></term>
-<listitem>
-<para>Assists the network script with starting network devices</para>
-<indexterm zone="ch-scripts-bootscripts ifup-bootscripts"><primary sortas="d-ifup">ifup</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="localnet-bootscripts">
-<term><command>localnet</command></term>
-<listitem>
-<para>Sets up the system's hostname and local loopback device</para>
-<indexterm zone="ch-scripts-bootscripts localnet-bootscripts"><primary sortas="d-localnet">localnet</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="mountfs-bootscripts">
-<term><command>mountfs</command></term>
-<listitem>
-<para>Mounts all file systems, except ones that are marked
-<emphasis>noauto</emphasis> or are network based</para>
-<indexterm zone="ch-scripts-bootscripts mountfs-bootscripts"><primary sortas="d-mountfs">mountfs</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="mountkernfs-bootscripts">
-<term><command>mountkernfs</command></term>
-<listitem>
-<para>Mounts virtual kernel file systems, such as <systemitem
-class="filesystem">proc</systemitem></para>
-<indexterm zone="ch-scripts-bootscripts mountkernfs-bootscripts"><primary sortas="d-mountkernfs">mountkernfs</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="network-bootscripts">
-<term><command>network</command></term>
-<listitem>
-<para>Sets up network interfaces, such as network cards, and sets up
-the default gateway (where applicable)</para>
-<indexterm zone="ch-scripts-bootscripts network-bootscripts"><primary sortas="d-network">network</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="rc-bootscripts">
-<term><command>rc</command></term>
-<listitem>
-<para>The master run-level control script; it is responsible for running all the
-other bootscripts one-by-one, in a sequence determined by the name of the
-symbolic links being processed</para>
-<indexterm zone="ch-scripts-bootscripts rc-bootscripts"><primary sortas="d-rc">rc</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="reboot-bootscripts">
-<term><command>reboot</command></term>
-<listitem>
-<para>Reboots the system</para>
-<indexterm zone="ch-scripts-bootscripts reboot-bootscripts"><primary sortas="d-reboot">reboot</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="sendsignals-bootscripts">
-<term><command>sendsignals</command></term>
-<listitem>
-<para>Makes sure every process is terminated before the system reboots
-or halts</para>
-<indexterm zone="ch-scripts-bootscripts sendsignals-bootscripts"><primary sortas="d-sendsignals">sendsignals</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="setclock-bootscripts">
-<term><command>setclock</command></term>
-<listitem>
-<para>Resets the kernel clock to local time in case the hardware clock
-is not set to UTC time</para>
-<indexterm zone="ch-scripts-bootscripts setclock-bootscripts"><primary sortas="d-setclock">setclock</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="static-bootscripts">
-<term><command>static</command></term>
-<listitem>
-<para>Provides the functionality needed to assign a static Internet
-Protocol (IP) address to a network interface</para>
-<indexterm zone="ch-scripts-bootscripts static-bootscripts"><primary sortas="d-static">static</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="swap-bootscripts">
-<term><command>swap</command></term>
-<listitem>
-<para>Enables and disables swap files and partitions</para>
-<indexterm zone="ch-scripts-bootscripts swap-bootscripts"><primary sortas="d-swap">swap</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="sysklogd-bootscripts">
-<term><command>sysklogd</command></term>
-<listitem>
-<para>Starts and stops the system and kernel log daemons</para>
-<indexterm zone="ch-scripts-bootscripts sysklogd-bootscripts"><primary sortas="d-sysklogd">sysklogd</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="template-bootscripts">
-<term><command>template</command></term>
-<listitem>
-<para>A template to create custom bootscripts for other
-daemons</para>
-<indexterm zone="ch-scripts-bootscripts template-bootscripts"><primary sortas="d-template">template</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="udev-bootscripts">
-<term><command>udev</command></term>
-<listitem>
-<para>Prepares the <filename class="directory">/dev</filename> directory and
-starts Udev</para>
-<indexterm zone="ch-scripts-bootscripts udev-bootscripts"><primary sortas="d-udev">udev</primary></indexterm>
-</listitem>
-</varlistentry>
-</variablelist>
-
-</sect2>
+ </sect2>
+
+ <sect2 id="contents-bootscripts" role="content">
+ <title>Contents of LFS-Bootscripts</title>
+
+ <segmentedlist>
+ <segtitle>Installed scripts</segtitle>
+
+ <seglistitem>
+ <seg>checkfs, cleanfs, console, functions, halt, hotplug, ifdown, ifup,
+ localnet, mountfs, mountkernfs, network, rc, reboot, sendsignals,
+ setclock, static, swap, sysklogd, template, and udev</seg>
+ </seglistitem>
+ </segmentedlist>
+
+ <variablelist>
+ <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+ <?dbfo list-presentation="list"?>
+ <?dbhtml list-presentation="table"?>
+
+ <varlistentry id="checkfs-bootscripts">
+ <term><command>checkfs</command></term>
+ <listitem>
+ <para>Checks the integrity of the file systems before they are mounted
+ (with the exception of journal and network based file systems)</para>
+ <indexterm zone="ch-scripts-bootscripts checkfs-bootscripts">
+ <primary sortas="d-checkfs">checkfs</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="cleanfs-bootscripts">
+ <term><command>cleanfs</command></term>
+ <listitem>
+ <para>Removes files that should not be preserved between reboots, such
+ as those in <filename class="directory">/var/run/</filename> and
+ <filename class="directory">/var/lock/</filename>; it re-creates
+ <filename>/var/run/utmp</filename> and removes the possibly present
+ <filename>/etc/nologin</filename>, <filename>/fastboot</filename>, and
+ <filename>/forcefsck</filename> files</para>
+ <indexterm zone="ch-scripts-bootscripts cleanfs-bootscripts">
+ <primary sortas="d-cleanfs">cleanfs</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="console-bootscripts">
+ <term><command>console</command></term>
+ <listitem>
+ <para>Loads the correct keymap table for the desired keyboard layout;
+ it also sets the screen font</para>
+ <indexterm zone="ch-scripts-bootscripts console-bootscripts">
+ <primary sortas="d-console">console</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="functions-bootscripts">
+ <term><command>functions</command></term>
+ <listitem>
+ <para>Contains common functions, such as error and status checking,
+ that are used by several bootscripts</para>
+ <indexterm zone="ch-scripts-bootscripts functions-bootscripts">
+ <primary sortas="d-functions">functions</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="halt-bootscripts">
+ <term><command>halt</command></term>
+ <listitem>
+ <para>Halts the system</para>
+ <indexterm zone="ch-scripts-bootscripts halt-bootscripts">
+ <primary sortas="d-halt">halt</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="hotplug-bootscripts">
+ <term><command>hotplug</command></term>
+ <listitem>
+ <para>Loads modules for system devices</para>
+ <indexterm zone="ch-scripts-bootscripts hotplug-bootscripts">
+ <primary sortas="d-hotplug">hotplug</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="ifdown-bootscripts">
+ <term><command>ifdown</command></term>
+ <listitem>
+ <para>Assists the network script with stopping network devices</para>
+ <indexterm zone="ch-scripts-bootscripts ifdown-bootscripts">
+ <primary sortas="d-ifdown">ifdown</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="ifup-bootscripts">
+ <term><command>ifup</command></term>
+ <listitem>
+ <para>Assists the network script with starting network devices</para>
+ <indexterm zone="ch-scripts-bootscripts ifup-bootscripts">
+ <primary sortas="d-ifup">ifup</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="localnet-bootscripts">
+ <term><command>localnet</command></term>
+ <listitem>
+ <para>Sets up the system's hostname and local loopback device</para>
+ <indexterm zone="ch-scripts-bootscripts localnet-bootscripts">
+ <primary sortas="d-localnet">localnet</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="mountfs-bootscripts">
+ <term><command>mountfs</command></term>
+ <listitem>
+ <para>Mounts all file systems, except ones that are marked
+ <emphasis>noauto</emphasis> or are network based</para>
+ <indexterm zone="ch-scripts-bootscripts mountfs-bootscripts">
+ <primary sortas="d-mountfs">mountfs</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="mountkernfs-bootscripts">
+ <term><command>mountkernfs</command></term>
+ <listitem>
+ <para>Mounts virtual kernel file systems, such as <systemitem
+ class="filesystem">proc</systemitem></para>
+ <indexterm zone="ch-scripts-bootscripts mountkernfs-bootscripts">
+ <primary sortas="d-mountkernfs">mountkernfs</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="network-bootscripts">
+ <term><command>network</command></term>
+ <listitem>
+ <para>Sets up network interfaces, such as network cards, and sets up
+ the default gateway (where applicable)</para>
+ <indexterm zone="ch-scripts-bootscripts network-bootscripts">
+ <primary sortas="d-network">network</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="rc-bootscripts">
+ <term><command>rc</command></term>
+ <listitem>
+ <para>The master run-level control script; it is responsible for
+ running all the other bootscripts one-by-one, in a sequence determined
+ by the name of the symbolic links being processed</para>
+ <indexterm zone="ch-scripts-bootscripts rc-bootscripts">
+ <primary sortas="d-rc">rc</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="reboot-bootscripts">
+ <term><command>reboot</command></term>
+ <listitem>
+ <para>Reboots the system</para>
+ <indexterm zone="ch-scripts-bootscripts reboot-bootscripts">
+ <primary sortas="d-reboot">reboot</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="sendsignals-bootscripts">
+ <term><command>sendsignals</command></term>
+ <listitem>
+ <para>Makes sure every process is terminated before the system reboots
+ or halts</para>
+ <indexterm zone="ch-scripts-bootscripts sendsignals-bootscripts">
+ <primary sortas="d-sendsignals">sendsignals</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="setclock-bootscripts">
+ <term><command>setclock</command></term>
+ <listitem>
+ <para>Resets the kernel clock to local time in case the hardware clock
+ is not set to UTC time</para>
+ <indexterm zone="ch-scripts-bootscripts setclock-bootscripts">
+ <primary sortas="d-setclock">setclock</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="static-bootscripts">
+ <term><command>static</command></term>
+ <listitem>
+ <para>Provides the functionality needed to assign a static Internet
+ Protocol (IP) address to a network interface</para>
+ <indexterm zone="ch-scripts-bootscripts static-bootscripts">
+ <primary sortas="d-static">static</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="swap-bootscripts">
+ <term><command>swap</command></term>
+ <listitem>
+ <para>Enables and disables swap files and partitions</para>
+ <indexterm zone="ch-scripts-bootscripts swap-bootscripts">
+ <primary sortas="d-swap">swap</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="sysklogd-bootscripts">
+ <term><command>sysklogd</command></term>
+ <listitem>
+ <para>Starts and stops the system and kernel log daemons</para>
+ <indexterm zone="ch-scripts-bootscripts sysklogd-bootscripts">
+ <primary sortas="d-sysklogd">sysklogd</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="template-bootscripts">
+ <term><command>template</command></term>
+ <listitem>
+ <para>A template to create custom bootscripts for other
+ daemons</para>
+ <indexterm zone="ch-scripts-bootscripts template-bootscripts">
+ <primary sortas="d-template">template</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="udev-bootscripts">
+ <term><command>udev</command></term>
+ <listitem>
+ <para>Prepares the <filename class="directory">/dev</filename>
+ directory and starts Udev</para>
+ <indexterm zone="ch-scripts-bootscripts udev-bootscripts">
+ <primary sortas="d-udev">udev</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ </sect2>
</sect1>
-
diff --git a/chapter07/chapter07.xml b/chapter07/chapter07.xml
index 51219b045..c47adeb08 100644
--- a/chapter07/chapter07.xml
+++ b/chapter07/chapter07.xml
@@ -1,24 +1,27 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
+
<chapter id="chapter-bootscripts" xreflabel="Chapter 7">
-<?dbhtml dir="chapter07"?>
-<title>Setting Up System Bootscripts</title>
-<?dbhtml filename="chapter07.html"?>
+ <?dbhtml dir="chapter07"?>
+ <?dbhtml filename="chapter07.html"?>
+
+ <title>Setting Up System Bootscripts</title>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bootscripts.xml"/>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="usage.xml"/>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="udev.xml"/>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="setclock.xml"/>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="console.xml"/>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sysklogd.xml"/>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="inputrc.xml"/>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="profile.xml"/>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="hostname.xml"/>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="hosts.xml"/>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="network.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bootscripts.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="usage.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="udev.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="setclock.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="console.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sysklogd.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="inputrc.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="profile.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="hostname.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="hosts.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="network.xml"/>
</chapter>
diff --git a/chapter07/console.xml b/chapter07/console.xml
index 9da42a23c..315112366 100644
--- a/chapter07/console.xml
+++ b/chapter07/console.xml
@@ -1,70 +1,76 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
+
<sect1 id="ch-scripts-console">
-<title>Configuring the Linux Console</title>
-<?dbhtml filename="console.html"?>
-
-<indexterm zone="ch-scripts-console">
-<primary sortas="d-console">console</primary>
-<secondary>configuring</secondary></indexterm>
-
-<para>This section discusses how to configure the <command>console</command>
-bootscript that sets up the keyboard map and the console font. If non-ASCII
-characters (e.g., the British pound sign and Euro character) will not be used
-and the keyboard is a U.S. one, skip this section. Without the configuration
-file, the <command>console</command> bootscript will do nothing.</para>
-
-<para>The <command>console</command> script reads the
-<filename>/etc/sysconfig/console</filename> file for configuration information.
-Decide which keymap and screen font will be used. Various language-specific
-HOWTO's can also help with this (see <ulink
-url="http://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. A pre-made
-<filename>/etc/sysconfig/console</filename> file with known settings for several
-countries was installed with the LFS-Bootscripts package, so the relevant
-section can be uncommented if the country is supported. If still in doubt, look
-in the <filename class="directory">/usr/share/kbd</filename> directory for valid
-keymaps and screen fonts. Read <filename>loadkeys(1)</filename> and
-<filename>setfont(8)</filename> to determine the correct arguments for
-these programs. Once decided, create the configuration file with the following
-command:</para>
+ <?dbhtml filename="console.html"?>
+
+ <title>Configuring the Linux Console</title>
+
+ <indexterm zone="ch-scripts-console">
+ <primary sortas="d-console">console</primary>
+ <secondary>configuring</secondary>
+ </indexterm>
+
+ <para>This section discusses how to configure the <command>console</command>
+ bootscript that sets up the keyboard map and the console font. If non-ASCII
+ characters (e.g., the British pound sign and Euro character) will not be used
+ and the keyboard is a U.S. one, skip this section. Without the configuration
+ file, the <command>console</command> bootscript will do nothing.</para>
+
+ <para>The <command>console</command> script reads the
+ <filename>/etc/sysconfig/console</filename> file for configuration information.
+ Decide which keymap and screen font will be used. Various language-specific
+ HOWTO's can also help with this (see <ulink
+ url="http://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. A pre-made
+ <filename>/etc/sysconfig/console</filename> file with known settings for several
+ countries was installed with the LFS-Bootscripts package, so the relevant
+ section can be uncommented if the country is supported. If still in doubt, look
+ in the <filename class="directory">/usr/share/kbd</filename> directory for valid
+ keymaps and screen fonts. Read <filename>loadkeys(1)</filename> and
+ <filename>setfont(8)</filename> to determine the correct arguments for
+ these programs. Once decided, create the configuration file with the following
+ command:</para>
<screen><userinput>cat &gt;/etc/sysconfig/console &lt;&lt;"EOF"
<literal>KEYMAP="<replaceable>[arguments for loadkeys]</replaceable>"
FONT="<replaceable>[arguments for setfont]</replaceable>"</literal>
EOF</userinput></screen>
-<para>For example, for Spanish users who also want to use the Euro
-character (accessible by pressing AltGr+E), the following settings are
-correct:</para>
+ <para>For example, for Spanish users who also want to use the Euro
+ character (accessible by pressing AltGr+E), the following settings are
+ correct:</para>
<screen role="nodump"><userinput>cat &gt;/etc/sysconfig/console &lt;&lt;"EOF"
<literal>KEYMAP="es euro2"
FONT="lat9-16 -u iso01"</literal>
EOF</userinput></screen>
-<note><para>The <envar>FONT</envar> line above is correct only for the ISO 8859-15
-character set. If using ISO 8859-1 and, therefore, a pound sign
-instead of Euro, the correct <envar>FONT</envar> line would be:</para>
+ <note>
+ <para>The <envar>FONT</envar> line above is correct only for the ISO 8859-15
+ character set. If using ISO 8859-1 and, therefore, a pound sign
+ instead of Euro, the correct <envar>FONT</envar> line would be:</para>
-<screen role="nodump"><userinput>FONT="lat1-16"</userinput></screen></note>
+<screen role="nodump"><userinput>FONT="lat1-16"</userinput></screen>
+ </note>
-<para>If the <envar>KEYMAP</envar> or <envar>FONT</envar> variable is not set, the
-<command>console</command> initscript will not run the corresponding
-program.</para>
+ <para>If the <envar>KEYMAP</envar> or <envar>FONT</envar> variable is not set,
+ the <command>console</command> initscript will not run the corresponding
+ program.</para>
-<para>In some keymaps, the Backspace and Delete keys send characters different
-from ones in the default keymap built into the kernel. This confuses some
-applications. For example, Emacs displays its help (instead of erasing the
-character before the cursor) when Backspace is pressed. To check if the keymap
-in use is affected (this works only for i386 keymaps):</para>
+ <para>In some keymaps, the Backspace and Delete keys send characters different
+ from ones in the default keymap built into the kernel. This confuses some
+ applications. For example, Emacs displays its help (instead of erasing the
+ character before the cursor) when Backspace is pressed. To check if the keymap
+ in use is affected (this works only for i386 keymaps):</para>
<screen role="nodump"><userinput>zgrep '\W14\W' <replaceable>[/path/to/your/keymap]</replaceable></userinput></screen>
-<para>If the keycode 14 is Backspace instead of Delete, create the
-following keymap snippet to fix this issue:</para>
+ <para>If the keycode 14 is Backspace instead of Delete, create the
+ following keymap snippet to fix this issue:</para>
<screen role="nodump"><userinput>mkdir -pv /etc/kbd &amp;&amp; cat &gt; /etc/kbd/bs-sends-del &lt;&lt;"EOF"
<literal> keycode 14 = Delete Delete Delete Delete
@@ -76,32 +82,31 @@ following keymap snippet to fix this issue:</para>
altgr control alt keycode 111 = Boot</literal>
EOF</userinput></screen>
-<para>Tell the <command>console</command> script to load this
-snippet after the main keymap:</para>
+ <para>Tell the <command>console</command> script to load this
+ snippet after the main keymap:</para>
<screen role="nodump"><userinput>cat &gt;&gt;/etc/sysconfig/console &lt;&lt;"EOF"
<literal>KEYMAP_CORRECTIONS="/etc/kbd/bs-sends-del"</literal>
EOF</userinput></screen>
-<para>To compile the keymap directly into the kernel instead of
-setting it every time from the <command>console</command> bootscript,
-follow the instructions given in <xref linkend="ch-bootable-kernel" role="."/>
-Doing this ensures that the keyboard will always work as expected,
-even when booting into maintenance mode (by passing
-<parameter>init=/bin/sh</parameter> to the kernel), because the
-<command>console</command> bootscript will not be run in that
-situation. Additionally, the kernel will not set the screen font
-automatically. This should not pose many problems because ASCII characters
-will be handled correctly, and it is unlikely that a user would need
-to rely on non-ASCII characters while in maintenance mode.</para>
-
-<para>Since the kernel will set up the keymap, it is possible to omit
-the <envar>KEYMAP</envar> variable from the
-<filename>/etc/sysconfig/console</filename> configuration file. It can
-also be left in place, if desired, without consequence. Keeping it
-could be beneficial if running several different kernels where it is
-difficult to ensure that the keymap is compiled into every one of
-them.</para>
+ <para>To compile the keymap directly into the kernel instead of
+ setting it every time from the <command>console</command> bootscript,
+ follow the instructions given in <xref linkend="ch-bootable-kernel" role="."/>
+ Doing this ensures that the keyboard will always work as expected,
+ even when booting into maintenance mode (by passing
+ <parameter>init=/bin/sh</parameter> to the kernel), because the
+ <command>console</command> bootscript will not be run in that
+ situation. Additionally, the kernel will not set the screen font
+ automatically. This should not pose many problems because ASCII characters
+ will be handled correctly, and it is unlikely that a user would need
+ to rely on non-ASCII characters while in maintenance mode.</para>
+
+ <para>Since the kernel will set up the keymap, it is possible to omit
+ the <envar>KEYMAP</envar> variable from the
+ <filename>/etc/sysconfig/console</filename> configuration file. It can
+ also be left in place, if desired, without consequence. Keeping it
+ could be beneficial if running several different kernels where it is
+ difficult to ensure that the keymap is compiled into every one of
+ them.</para>
</sect1>
-
diff --git a/chapter07/hostname.xml b/chapter07/hostname.xml
index 0d89e785f..7515d6a03 100644
--- a/chapter07/hostname.xml
+++ b/chapter07/hostname.xml
@@ -1,29 +1,32 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
+
<sect1 id="ch-scripts-hostname">
-<title>Configuring the localnet Script</title>
-<?dbhtml filename="hostname.html"?>
+ <?dbhtml filename="hostname.html"?>
+
+ <title>Configuring the localnet Script</title>
-<indexterm zone="ch-scripts-hostname">
-<primary sortas="d-localnet">localnet</primary>
-<secondary>configuring</secondary></indexterm>
+ <indexterm zone="ch-scripts-hostname">
+ <primary sortas="d-localnet">localnet</primary>
+ <secondary>configuring</secondary>
+ </indexterm>
-<para>Part of the job of the <command>localnet</command> script is setting the
-system's hostname. This needs to be configured in the
-<filename>/etc/sysconfig/network</filename> file.</para>
+ <para>Part of the job of the <command>localnet</command> script is setting the
+ system's hostname. This needs to be configured in the
+ <filename>/etc/sysconfig/network</filename> file.</para>
-<para>Create the <filename>/etc/sysconfig/network</filename> file and enter a
-hostname by running:</para>
+ <para>Create the <filename>/etc/sysconfig/network</filename> file and enter a
+ hostname by running:</para>
<screen><userinput>echo "HOSTNAME=<replaceable>[lfs]</replaceable>" &gt; /etc/sysconfig/network</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 will be put in the <filename>/etc/hosts</filename> file in the next
-section.</para>
+ <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 will be put in the <filename>/etc/hosts</filename> file in the next
+ section.</para>
</sect1>
-
diff --git a/chapter07/hosts.xml b/chapter07/hosts.xml
index f08dfab4e..6e6549913 100644
--- a/chapter07/hosts.xml
+++ b/chapter07/hosts.xml
@@ -1,48 +1,53 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
+
<sect1 id="ch-scripts-hosts">
-<title>Creating the /etc/hosts File</title>
-<?dbhtml filename="hosts.html"?>
+ <?dbhtml filename="hosts.html"?>
+
+ <title>Creating the /etc/hosts File</title>
-<indexterm zone="ch-scripts-hosts"><primary sortas="e-/etc/hosts">/etc/hosts</primary></indexterm>
+ <indexterm zone="ch-scripts-hosts">
+ <primary sortas="e-/etc/hosts">/etc/hosts</primary>
+ </indexterm>
-<indexterm zone="ch-scripts-hosts">
-<primary sortas="d-localnet">localnet</primary>
-<secondary>/etc/hosts</secondary></indexterm>
+ <indexterm zone="ch-scripts-hosts">
+ <primary sortas="d-localnet">localnet</primary>
+ <secondary>/etc/hosts</secondary></indexterm>
-<indexterm zone="ch-scripts-hosts">
-<primary sortas="d-network">network</primary>
-<secondary>/etc/hosts</secondary></indexterm>
+ <indexterm zone="ch-scripts-hosts">
+ <primary sortas="d-network">network</primary>
+ <secondary>/etc/hosts</secondary></indexterm>
-<para>If a network card is to be configured, decide on the IP address,
-FQDN, and possible aliases for use in the
-<filename>/etc/hosts</filename> file. The syntax is:</para>
+ <para>If a network card is to be configured, decide on the IP address,
+ FQDN, and possible aliases for use in the
+ <filename>/etc/hosts</filename> file. The syntax is:</para>
-<screen>&lt;IP address&gt; myhost.example.org aliases</screen>
+<screen><literal>&lt;IP address&gt; 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&mdash;most users do not have this), make sure that the IP
-address is in the private network IP address range. Valid ranges
-are:</para>
+ <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&mdash;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> Class Networks
+<screen><literal> Class Networks
A 10.0.0.0
B 172.16.0.0 through 172.31.0.255
- C 192.168.0.0 through 192.168.255.255</screen>
+ C 192.168.0.0 through 192.168.255.255</literal></screen>
-<para>A valid IP address could be 192.168.1.1. A valid FQDN for this
-IP could be www.linuxfromscratch.org (not recommended because this is
-a valid registered domain address and could cause domain name server
-issues).</para>
+ <para>A valid IP address could be 192.168.1.1. A valid FQDN for this
+ IP could be www.linuxfromscratch.org (not recommended because this is
+ a valid registered domain address and could cause domain name server
+ issues).</para>
-<para>Even if not using a network card, an FQDN is still required.
-This is necessary for certain programs to operate correctly.</para>
+ <para>Even if not using a network card, an 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>
+ <para>Create the <filename>/etc/hosts</filename> file by running:</para>
<screen><userinput>cat &gt; /etc/hosts &lt;&lt; "EOF"
<literal># Begin /etc/hosts (network card version)
@@ -53,14 +58,14 @@ This is necessary for certain programs to operate correctly.</para>
# End /etc/hosts (network card version)</literal>
EOF</userinput></screen>
-<para>The <replaceable>[192.168.1.1]</replaceable> and
-<replaceable>[&lt;HOSTNAME&gt;.example.org]</replaceable>
-values need to be changed for specific users or requirements (if
-assigned an IP address by a network/system administrator and the
-machine will be connected to an existing network).</para>
+ <para>The <replaceable>[192.168.1.1]</replaceable> and
+ <replaceable>[&lt;HOSTNAME&gt;.example.org]</replaceable>
+ values need to be changed for specific users or requirements (if
+ assigned an IP address by a network/system administrator and the
+ machine will be connected to an existing network).</para>
-<para>If a network card is not going to be configured, create the
-<filename>/etc/hosts</filename> file by running:</para>
+ <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 &gt; /etc/hosts &lt;&lt; "EOF"
<literal># Begin /etc/hosts (no network card version)
@@ -71,4 +76,3 @@ machine will be connected to an existing network).</para>
EOF</userinput></screen>
</sect1>
-
diff --git a/chapter07/inputrc.xml b/chapter07/inputrc.xml
index 61418c129..5c5ce2278 100644
--- a/chapter07/inputrc.xml
+++ b/chapter07/inputrc.xml
@@ -1,31 +1,37 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
+
<sect1 id="ch-scripts-inputrc">
-<title>Creating the /etc/inputrc File</title>
-<?dbhtml filename="inputrc.html"?>
+ <?dbhtml filename="inputrc.html"?>
+
+ <title>Creating the /etc/inputrc File</title>
-<indexterm zone="ch-scripts-inputrc"><primary sortas="e-/etc/inputrc">/etc/inputrc</primary></indexterm>
+ <indexterm zone="ch-scripts-inputrc">
+ <primary sortas="e-/etc/inputrc">/etc/inputrc</primary>
+ </indexterm>
-<para>The <filename>inputrc</filename> file handles keyboard mapping for
-specific situations. This file is the startup file used by Readline &mdash; the
-input-related library &mdash; used by Bash and most other shells.</para>
+ <para>The <filename>inputrc</filename> file handles keyboard mapping for
+ specific situations. This file is the startup file used by Readline &mdash; the
+ input-related library &mdash; used by Bash and most other shells.</para>
-<para>Most people do not need user-specific keyboard mappings so the command
-below creates a global <filename>/etc/inputrc</filename> used by everyone who
-logs in. If you later decide you need to override the defaults on a per-user
-basis, you can create a <filename>.inputrc</filename> file in the user's home
-directory with the modified mappings.</para>
+ <para>Most people do not need user-specific keyboard mappings so the command
+ below creates a global <filename>/etc/inputrc</filename> used by everyone who
+ logs in. If you later decide you need to override the defaults on a per-user
+ basis, you can create a <filename>.inputrc</filename> file in the user's home
+ directory with the modified mappings.</para>
-<para>For more information on how to edit the <filename>inputrc</filename> file,
-see <command>info bash</command> under the <emphasis>Readline Init File</emphasis>
-section. <command>info readline</command> is also a good source of information.</para>
+ <para>For more information on how to edit the <filename>inputrc</filename>
+ file, see <command>info bash</command> under the <emphasis>Readline Init
+ File</emphasis> section. <command>info readline</command> is also a good
+ source of information.</para>
-<para>Below is a generic global <filename>inputrc</filename> along with comments
-to explain what the various options do. Note that comments cannot be on the same
-line as commands. Create the file using the following command:</para>
+ <para>Below is a generic global <filename>inputrc</filename> along with comments
+ to explain what the various options do. Note that comments cannot be on the same
+ line as commands. Create the file using the following command:</para>
<screen><userinput>cat &gt; /etc/inputrc &lt;&lt; "EOF"
<literal># Begin /etc/inputrc
@@ -74,4 +80,3 @@ set bell-style none
EOF</userinput></screen>
</sect1>
-
diff --git a/chapter07/introduction.xml b/chapter07/introduction.xml
index 37ab2f626..a7b846ee7 100644
--- a/chapter07/introduction.xml
+++ b/chapter07/introduction.xml
@@ -1,27 +1,28 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
+
<sect1 id="ch-scripts-introduction">
-<title>Introduction</title>
-<?dbhtml filename="introduction.html"?>
+ <?dbhtml filename="introduction.html"?>
-<para>This chapter details how to install and configure the LFS-Bootscripts
-package. Most of these scripts will work without modification, but a few require
-additional configuration files because they deal with hardware-dependent
-information.</para>
+ <title>Introduction</title>
-<para>System-V style init scripts are employed in this book because they are
-widely used. For additional options, a hint detailing the BSD style
-init setup is available at
-<ulink
-url="http://www.linuxfromscratch.org/hints/downloads/files/bsd-init.txt"/>.
-Searching the LFS mailing lists for <quote>depinit</quote> will also offer
-additional choices.</para>
+ <para>This chapter details how to install and configure the LFS-Bootscripts
+ package. Most of these scripts will work without modification, but a few require
+ additional configuration files because they deal with hardware-dependent
+ information.</para>
-<para>If using an alternative style of init scripts, skip this chapter
-and move on to <xref linkend="chapter-bootable"/>.</para>
+ <para>System-V style init scripts are employed in this book because they are
+ widely used. For additional options, a hint detailing the BSD style init setup
+ is available at <ulink
+ url="http://www.linuxfromscratch.org/hints/downloads/files/bsd-init.txt"/>.
+ Searching the LFS mailing lists for <quote>depinit</quote> will also offer
+ additional choices.</para>
-</sect1>
+ <para>If using an alternative style of init scripts, skip this chapter
+ and move on to <xref linkend="chapter-bootable"/>.</para>
+</sect1>
diff --git a/chapter07/network.xml b/chapter07/network.xml
index 229f6d394..c09f92431 100644
--- a/chapter07/network.xml
+++ b/chapter07/network.xml
@@ -1,40 +1,42 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
+
<sect1 id="ch-scripts-network">
-<title>Configuring the network Script</title>
-<?dbhtml filename="network.html"?>
-
-<indexterm zone="ch-scripts-network">
-<primary sortas="d-network">network</primary>
-<secondary>configuring</secondary></indexterm>
-
-<para>This section only applies if a network card is to be
-configured.</para>
-
-<para>If a network card will not be used, there is likely no need to
-create any configuration files relating to network cards. If that is
-the case, remove the <filename class="symlink">network</filename>
-symlinks from all run-level directories (<filename
-class="directory">/etc/rc.d/rc*.d</filename>).</para>
-
-<sect2>
-<title>Creating Network Interface Configuration Files</title>
-
-<!-- Edit Me -->
-<para>Which interfaces are brought up and down by the network script
-depends on the files and directories in the <filename
-class="directory">/etc/sysconfig/network-devices</filename> hierarchy.
-This directory should contain a sub-directory for each interface to be configured,
-such as <filename>ifconfig.xyz</filename>, where <quote>xyz</quote> is a
-network interface name. Inside this directory would be files defining
-the attributes to this interface, such as its IP address(es), subnet
-masks, and so forth.</para>
-
-<para>The following command creates a sample <filename>ipv4</filename> file for
-the <emphasis>eth0</emphasis> device:</para>
+ <?dbhtml filename="network.html"?>
+
+ <title>Configuring the network Script</title>
+
+ <indexterm zone="ch-scripts-network">
+ <primary sortas="d-network">network</primary>
+ <secondary>configuring</secondary></indexterm>
+
+ <para>This section only applies if a network card is to be
+ configured.</para>
+
+ <para>If a network card will not be used, there is likely no need to
+ create any configuration files relating to network cards. If that is
+ the case, remove the <filename class="symlink">network</filename>
+ symlinks from all run-level directories (<filename
+ class="directory">/etc/rc.d/rc*.d</filename>).</para>
+
+ <sect2>
+ <title>Creating Network Interface Configuration Files</title>
+
+ <para>Which interfaces are brought up and down by the network script
+ depends on the files and directories in the <filename
+ class="directory">/etc/sysconfig/network-devices</filename> hierarchy.
+ This directory should contain a sub-directory for each interface to be
+ configured, such as <filename>ifconfig.xyz</filename>, where
+ <quote>xyz</quote> is a network interface name. Inside this directory
+ would be files defining the attributes to this interface, such as its IP
+ address(es), subnet masks, and so forth.</para>
+
+ <para>The following command creates a sample <filename>ipv4</filename>
+ file for the <emphasis>eth0</emphasis> device:</para>
<screen><userinput>cd /etc/sysconfig/network-devices &amp;&amp;
mkdir -v ifconfig.eth0 &amp;&amp;
@@ -47,45 +49,50 @@ PREFIX=24
BROADCAST=192.168.1.255</literal>
EOF</userinput></screen>
-<para>The values of these variables must be changed in every file to match the
-proper setup. If the <envar>ONBOOT</envar> variable is set to <quote>yes</quote>
-the network script will bring up the Network Interface Card (NIC) during booting
-of the system. If set to anything but <quote>yes</quote> the NIC will be ignored
-by the network script and not be brought up.</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">/etc/sysconfig/network-devices/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 needs to contain 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.</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>If the system is going to be connected to the Internet, it will
-need some means of 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>
+ <para>The values of these variables must be changed in every file to match
+ the proper setup. If the <envar>ONBOOT</envar> variable is set to
+ <quote>yes</quote> the network script will bring up the Network Interface
+ Card (NIC) during booting of the system. If set to anything but
+ <quote>yes</quote> the NIC will be ignored by the network script and not
+ be brought up.</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">/etc/sysconfig/network-devices/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 needs to contain 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.</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>If the system is going to be connected to the Internet, it will
+ need some means of 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 &gt; /etc/resolv.conf &lt;&lt; "EOF"
<literal># Begin /etc/resolv.conf
@@ -97,14 +104,13 @@ nameserver <replaceable>[IP address of your secondary nameserver]</replaceable>
# End /etc/resolv.conf</literal>
EOF</userinput></screen>
-<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>
-</sect2>
+ <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>
-</sect1>
+ </sect2>
+</sect1>
diff --git a/chapter07/profile.xml b/chapter07/profile.xml
index c00bdd130..dd53a5141 100644
--- a/chapter07/profile.xml
+++ b/chapter07/profile.xml
@@ -1,91 +1,99 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
+
<sect1 id="ch-scripts-profile">
-<title>The Bash Shell Startup Files</title>
-<?dbhtml filename="profile.html"?>
-
-<indexterm zone="ch-scripts-profile"><primary sortas="e-/etc/profile">/etc/profile</primary></indexterm>
-
-<para>The shell program <command>/bin/bash</command> (hereafter
-referred to as <quote>the shell</quote>) uses a collection of startup
-files to help create an environment to run in. Each file has a
-specific use and may affect login and interactive environments
-differently. The files in the <filename
-class="directory">/etc</filename> directory provide global settings.
-If an equivalent file exists in the home directory, it may override
-the global settings.</para>
-
-<para>An interactive login shell is started after a successful login,
-using <command>/bin/login</command>, by reading the
-<filename>/etc/passwd</filename> file. An interactive non-login shell
-is started at the command-line (e.g.,
-<prompt>[prompt]$</prompt><command>/bin/bash</command>). A
-non-interactive shell is usually present when a shell script is
-running. It is non-interactive because it is processing a script and
-not waiting for user input between commands.</para>
-
-<para>For more information, see <command>info bash</command> under the
-<emphasis>Bash Startup Files and Interactive Shells</emphasis> section.</para>
-
-<para>The files <filename>/etc/profile</filename> and
-<filename>~/.bash_profile</filename> are read when the shell is
-invoked as an interactive login shell.</para>
-
-<para>The base <filename>/etc/profile</filename> below sets some
-environment variables necessary for native language support. Setting
-them properly results in:</para>
-
-<itemizedlist>
-<listitem><para>The output of programs translated into the native
-language</para></listitem>
-<listitem><para>Correct classification of characters into letters, digits and
-other classes. This is necessary for <command>bash</command> to properly accept
-non-ASCII characters in command lines in non-English locales</para></listitem>
-<listitem><para>The correct alphabetical sorting order for the
-country</para></listitem>
-<listitem><para>Appropriate default paper size</para></listitem>
-<listitem><para>Correct formatting of monetary, time, and date
-values</para></listitem>
-</itemizedlist>
-
-<para>This script also sets the <envar>INPUTRC</envar> environment variable that
-makes Bash and Readline use the <filename>/etc/inputrc</filename> file created
-earlier.</para>
-
-<para>Replace <replaceable>[ll]</replaceable> below with the
-two-letter code for the desired language (e.g., <quote>en</quote>) and
-<replaceable>[CC]</replaceable> with the two-letter code for the
-appropriate country (e.g., <quote>GB</quote>).
-<replaceable>[charmap]</replaceable> should be replaced with the
-canonical charmap for your chosen locale.</para>
-
-<para>The list of all locales supported by Glibc can be obtained by running
-the following command:</para>
+ <?dbhtml filename="profile.html"?>
+
+ <title>The Bash Shell Startup Files</title>
+
+ <indexterm zone="ch-scripts-profile">
+ <primary sortas="e-/etc/profile">/etc/profile</primary>
+ </indexterm>
+
+ <para>The shell program <command>/bin/bash</command> (hereafter referred to
+ as <quote>the shell</quote>) uses a collection of startup files to help
+ create an environment to run in. Each file has a specific use and may affect
+ login and interactive environments differently. The files in the <filename
+ class="directory">/etc</filename> directory provide global settings. If an
+ equivalent file exists in the home directory, it may override the global
+ settings.</para>
+
+ <para>An interactive login shell is started after a successful login, using
+ <command>/bin/login</command>, by reading the <filename>/etc/passwd</filename>
+ file. An interactive non-login shell is started at the command-line (e.g.,
+ <prompt>[prompt]$</prompt><command>/bin/bash</command>). A non-interactive
+ shell is usually present when a shell script is running. It is non-interactive
+ because it is processing a script and not waiting for user input between
+ commands.</para>
+
+ <para>For more information, see <command>info bash</command> under the
+ <emphasis>Bash Startup Files and Interactive Shells</emphasis> section.</para>
+
+ <para>The files <filename>/etc/profile</filename> and
+ <filename>~/.bash_profile</filename> are read when the shell is
+ invoked as an interactive login shell.</para>
+
+ <para>The base <filename>/etc/profile</filename> below sets some
+ environment variables necessary for native language support. Setting
+ them properly results in:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>The output of programs translated into the native language</para>
+ </listitem>
+ <listitem>
+ <para>Correct classification of characters into letters, digits and other
+ classes. This is necessary for <command>bash</command> to properly accept
+ non-ASCII characters in command lines in non-English locales</para>
+ </listitem>
+ <listitem>
+ <para>The correct alphabetical sorting order for the country</para>
+ </listitem>
+ <listitem>
+ <para>Appropriate default paper size</para>
+ </listitem>
+ <listitem>
+ <para>Correct formatting of monetary, time, and date values</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>This script also sets the <envar>INPUTRC</envar> environment variable that
+ makes Bash and Readline use the <filename>/etc/inputrc</filename> file created
+ earlier.</para>
+
+ <para>Replace <replaceable>[ll]</replaceable> below with the two-letter code
+ for the desired language (e.g., <quote>en</quote>) and
+ <replaceable>[CC]</replaceable> with the two-letter code for the appropriate
+ country (e.g., <quote>GB</quote>). <replaceable>[charmap]</replaceable> should
+ be replaced with the canonical charmap for your chosen locale.</para>
+
+ <para>The list of all locales supported by Glibc can be obtained by running
+ the following command:</para>
<screen role="nodump"><userinput>locale -a</userinput></screen>
-<para>Locales can have a number of synonyms, e.g. <quote>ISO-8859-1</quote> is
-also referred to as <quote>iso8859-1</quote> and <quote>iso88591</quote>.
-Some applications cannot handle the various synonyms correctly, so it is safest
-to choose the canonical name for a particular locale. To determine the
-canonical name, run the following command, where
-<replaceable>[locale name]</replaceable> is the output given by
-<command>locale -a</command> for your preferred locale
-(<quote>en_GB.iso88591</quote> in our example).</para>
+ <para>Locales can have a number of synonyms, e.g. <quote>ISO-8859-1</quote>
+ is also referred to as <quote>iso8859-1</quote> and <quote>iso88591</quote>.
+ Some applications cannot handle the various synonyms correctly, so it is
+ safest to choose the canonical name for a particular locale. To determine
+ the canonical name, run the following command, where <replaceable>[locale
+ name]</replaceable> is the output given by <command>locale -a</command> for
+ your preferred locale (<quote>en_GB.iso88591</quote> in our example).</para>
<screen role="nodump"><userinput>LC_ALL=<replaceable>[locale name]</replaceable> locale charmap</userinput></screen>
-<para>For the <quote>en_GB.iso88591</quote> locale, the above command
-will print:</para>
+ <para>For the <quote>en_GB.iso88591</quote> locale, the above command
+ will print:</para>
-<screen>ISO-8859-1</screen>
+<screen><computeroutput>ISO-8859-1</computeroutput></screen>
-<para>This results in a final locale setting of <quote>en_GB.ISO-8859-1</quote>.
-It is important that the locale found using the heuristic above is tested prior
-to it being added to the Bash startup files:</para>
+ <para>This results in a final locale setting of <quote>en_GB.ISO-8859-1</quote>.
+ It is important that the locale found using the heuristic above is tested prior
+ to it being added to the Bash startup files:</para>
<screen role="nodump"><userinput>LC_ALL=[locale name] locale country
LC_ALL=[locale name] locale language
@@ -93,39 +101,40 @@ LC_ALL=[locale name] locale charmap
LC_ALL=[locale name] locale int_curr_symbol
LC_ALL=[locale name] locale int_prefix</userinput></screen>
-<para>The above commands should print the country and language names, the
-character encoding used by the locale, the local currency and the prefix to dial
-before the telephone number in order to get into the country. If any of the
-commands above fail with a message similar to the one shown below, this means
-that your locale was either not installed in Chapter 6 or is not supported by
-the default installation of Glibc.</para>
+ <para>The above commands should print the country and language names, the
+ character encoding used by the locale, the local currency and the prefix to dial
+ before the telephone number in order to get into the country. If any of the
+ commands above fail with a message similar to the one shown below, this means
+ that your locale was either not installed in Chapter 6 or is not supported by
+ the default installation of Glibc.</para>
<screen><computeroutput>locale: Cannot set LC_* to default locale: No such file or directory</computeroutput></screen>
-<para>If this happens, you should either install the desired locale using the <command>localedef</command> command, or consider choosing a different locale.
-Further instructions assume that there are no such error messages from Glibc.
-</para>
+ <para>If this happens, you should either install the desired locale using the
+ <command>localedef</command> command, or consider choosing a different locale.
+ Further instructions assume that there are no such error messages from
+ Glibc.</para>
-<para>Some packages beyond LFS may also lack support for your chosen locale. One
-example is the X library (part of the X Window System), which outputs the
-following error message:</para>
+ <para>Some packages beyond LFS may also lack support for your chosen locale. One
+ example is the X library (part of the X Window System), which outputs the
+ following error message:</para>
<screen><computeroutput>Warning: locale not supported by Xlib, locale set to C</computeroutput></screen>
-<para>Sometimes it is possible to fix this by removing the charmap part of the
-locale specification, as long as that does not change the character map that
-Glibc associates with the locale (this can be checked by running the
-<command>locale charmap</command> command in both locales). For example, one
-would have to change &quot;de_DE.ISO-8859-15@euro&quot; to
-&quot;de_DE@euro&quot; in order to get this locale recognized by Xlib.</para>
+ <para>Sometimes it is possible to fix this by removing the charmap part of the
+ locale specification, as long as that does not change the character map that
+ Glibc associates with the locale (this can be checked by running the
+ <command>locale charmap</command> command in both locales). For example, one
+ would have to change &quot;de_DE.ISO-8859-15@euro&quot; to
+ &quot;de_DE@euro&quot; in order to get this locale recognized by Xlib.</para>
-<para>Other packages can also function incorrectly (but may not necessarily
-display any error messages) if the locale name does not meet their expectations.
-In those cases, investigating how other Linux distributions support your locale
-might provide some useful information.</para>
+ <para>Other packages can also function incorrectly (but may not necessarily
+ display any error messages) if the locale name does not meet their expectations.
+ In those cases, investigating how other Linux distributions support your locale
+ might provide some useful information.</para>
-<para>Once the proper locale settings have been determined, create the
-<filename>/etc/profile</filename> file:</para>
+ <para>Once the proper locale settings have been determined, create the
+ <filename>/etc/profile</filename> file:</para>
<screen><userinput>cat &gt; /etc/profile &lt;&lt; "EOF"
<literal># Begin /etc/profile
@@ -136,18 +145,17 @@ export INPUTRC=/etc/inputrc
# End /etc/profile</literal>
EOF</userinput></screen>
-<note><para>The <quote>C</quote> (default) and <quote>en_US</quote>
-(the recommended one for United States English users) locales are
-different.</para></note>
+ <note>
+ <para>The <quote>C</quote> (default) and <quote>en_US</quote> (the
+ recommended one for United States English users) locales are different.</para>
+ </note>
-<para>Setting the keyboard layout, screen font, and
-locale-related environment variables are the only internationalization
-steps needed to support locales that use ordinary single-byte
-encodings and left-to-right writing direction. More complex cases
-(including UTF-8 based locales) require additional steps and
-additional patches because many applications tend to not work properly
-under such conditions. These steps and patches are not included in
-the LFS book and such locales are not yet supported by LFS.</para>
+ <para>Setting the keyboard layout, screen font, and locale-related environment
+ variables are the only internationalization steps needed to support locales
+ that use ordinary single-byte encodings and left-to-right writing direction.
+ More complex cases (including UTF-8 based locales) require additional steps
+ and additional patches because many applications tend to not work properly
+ under such conditions. These steps and patches are not included in the LFS
+ book and such locales are not yet supported by LFS.</para>
</sect1>
-
diff --git a/chapter07/setclock.xml b/chapter07/setclock.xml
index 772f2d3d3..2098fd74d 100644
--- a/chapter07/setclock.xml
+++ b/chapter07/setclock.xml
@@ -1,42 +1,45 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
+
<sect1 id="ch-scripts-setclock">
-<title>Configuring the setclock Script</title>
-<?dbhtml filename="setclock.html"?>
-
-<indexterm zone="ch-scripts-setclock">
-<primary sortas="d-setclock">setclock</primary>
-<secondary>configuring</secondary></indexterm>
-
-<para>The <command>setclock</command> script reads the time from the hardware
-clock, also known as the BIOS or the Complementary Metal Oxide Semiconductor
-(CMOS) clock. If the hardware clock is set to UTC, this script will convert the
-hardware clock's time to the local time using the
-<filename>/etc/localtime</filename> file (which tells the
-<command>hwclock</command> program which timezone the user is in). There is no
-way to detect whether or not the hardware clock is set to UTC, so this
-needs to be configured manually.</para>
-
-<para>If you cannot remember whether or not the hardware clock is set to UTC,
-find out by running the <userinput>hwclock --localtime --show</userinput>
-command. This will display what the current time is according to the hardware
-clock. If this time matches whatever your watch says, then the hardware clock is
-set to local time. If the output from <command>hwclock</command> is not local
-time, chances are it is set to UTC time. Verify this by adding or subtracting
-the proper amount of hours for the timezone to the time shown by
-<command>hwclock</command>. For example, if you are currently in the MST
-timezone, which is also known as GMT -0700, add seven hours to the local
-time.</para>
-
-<para>Change the value of the <envar>UTC</envar> variable below
-to a value of <parameter>0</parameter> (zero) if the hardware clock
-is <emphasis>not</emphasis> set to UTC time.</para>
-
-<para>Create a new file <filename>/etc/sysconfig/clock</filename> by running
-the following:</para>
+ <?dbhtml filename="setclock.html"?>
+
+ <title>Configuring the setclock Script</title>
+
+ <indexterm zone="ch-scripts-setclock">
+ <primary sortas="d-setclock">setclock</primary>
+ <secondary>configuring</secondary></indexterm>
+
+ <para>The <command>setclock</command> script reads the time from the hardware
+ clock, also known as the BIOS or the Complementary Metal Oxide Semiconductor
+ (CMOS) clock. If the hardware clock is set to UTC, this script will convert the
+ hardware clock's time to the local time using the
+ <filename>/etc/localtime</filename> file (which tells the
+ <command>hwclock</command> program which timezone the user is in). There is no
+ way to detect whether or not the hardware clock is set to UTC, so this
+ needs to be configured manually.</para>
+
+ <para>If you cannot remember whether or not the hardware clock is set to UTC,
+ find out by running the <userinput>hwclock --localtime --show</userinput>
+ command. This will display what the current time is according to the hardware
+ clock. If this time matches whatever your watch says, then the hardware clock is
+ set to local time. If the output from <command>hwclock</command> is not local
+ time, chances are it is set to UTC time. Verify this by adding or subtracting
+ the proper amount of hours for the timezone to the time shown by
+ <command>hwclock</command>. For example, if you are currently in the MST
+ timezone, which is also known as GMT -0700, add seven hours to the local
+ time.</para>
+
+ <para>Change the value of the <envar>UTC</envar> variable below
+ to a value of <parameter>0</parameter> (zero) if the hardware clock
+ is <emphasis>not</emphasis> set to UTC time.</para>
+
+ <para>Create a new file <filename>/etc/sysconfig/clock</filename> by running
+ the following:</para>
<screen><userinput>cat &gt; /etc/sysconfig/clock &lt;&lt; "EOF"
<literal># Begin /etc/sysconfig/clock
@@ -46,9 +49,8 @@ UTC=1
# End /etc/sysconfig/clock</literal>
EOF</userinput></screen>
-<para>A good hint explaining how to deal with time on LFS is available
-at <ulink url="&hints-root;time.txt"/>. It explains issues such as
-time zones, UTC, and the <envar>TZ</envar> environment variable.</para>
+ <para>A good hint explaining how to deal with time on LFS is available
+ at <ulink url="&hints-root;time.txt"/>. It explains issues such as
+ time zones, UTC, and the <envar>TZ</envar> environment variable.</para>
</sect1>
-
diff --git a/chapter07/sysklogd.xml b/chapter07/sysklogd.xml
index 70816cc66..b31420130 100644
--- a/chapter07/sysklogd.xml
+++ b/chapter07/sysklogd.xml
@@ -1,22 +1,26 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
+
<sect1 id="ch-scripts-sysklogd">
-<title>Configuring the sysklogd script</title>
-<?dbhtml filename="sysklogd.html"?>
+ <?dbhtml filename="sysklogd.html"?>
+
+ <title>Configuring the sysklogd script</title>
-<indexterm zone="ch-scripts-sysklogd">
-<primary sortas="d-sysklogd">sysklogd</primary>
-<secondary>configuring</secondary></indexterm>
+ <indexterm zone="ch-scripts-sysklogd">
+ <primary sortas="d-sysklogd">sysklogd</primary>
+ <secondary>configuring</secondary>
+ </indexterm>
-<para>The <filename>sysklogd</filename> script invokes the
-<command>syslogd</command> program with the <parameter>-m 0</parameter> option.
-This option turns off the periodic timestamp mark that
-<command>syslogd</command> writes to the log files every 20 minutes by default.
-If you want to turn on this periodic timestamp mark, edit the
-<filename>sysklogd</filename> script and make the changes accordingly. See
-<userinput>man syslogd</userinput> for more information.</para>
+ <para>The <filename>sysklogd</filename> script invokes the
+ <command>syslogd</command> program with the <parameter>-m 0</parameter> option.
+ This option turns off the periodic timestamp mark that
+ <command>syslogd</command> writes to the log files every 20 minutes by default.
+ If you want to turn on this periodic timestamp mark, edit the
+ <filename>sysklogd</filename> script and make the changes accordingly. See
+ <userinput>man syslogd</userinput> for more information.</para>
</sect1>
diff --git a/chapter07/udev.xml b/chapter07/udev.xml
index 64b3a43c7..5f98e6139 100644
--- a/chapter07/udev.xml
+++ b/chapter07/udev.xml
@@ -1,213 +1,237 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
+
<sect1 id="ch-scripts-udev">
-<title>Device and Module Handling on an LFS System</title>
-<?dbhtml filename="udev.html"?>
-
-<indexterm zone="ch-scripts-udev">
-<primary sortas="a-Udev">Udev</primary>
-<secondary>usage</secondary></indexterm>
-
-<para>In <xref linkend="chapter-building-system"/>, we installed the Udev
-package. Before we go into the details regarding how this works,
-a brief history of previous methods of handling devices is in
-order.</para>
-
-<para>Linux systems in general traditionally use a static device creation
-method, whereby a great many device nodes are created under <filename
-class="directory">/dev</filename> (sometimes literally thousands of nodes),
-regardless of whether the corresponding hardware devices actually exist. This is
-typically done via a <command>MAKEDEV</command> script, which contains a number
-of calls to the <command>mknod</command> program with the relevant major and
-minor device numbers for every possible device that might exist in the world.
-Using the Udev method, only those devices which are detected by the kernel get
-device nodes created for them. Because these device nodes will be created each
-time the system boots, they will be stored on a <systemitem
-class="filesystem">tmpfs</systemitem> file system (a virtual file system that
-resides entirely in system memory). Device nodes do not require much space, so
-the memory that is used is negligible.</para>
-
-<sect2>
-<title>History</title>
-
-<para>In February 2000, a new filesystem called <systemitem
-class="filesystem">devfs</systemitem> was merged into the 2.3.46
-kernel and was made available during the 2.4 series of
-stable kernels. Although it was present in the kernel source itself,
-this method of creating devices dynamically never received
-overwhelming support from the core kernel developers.</para>
-
-<para>The main problem with the approach adopted by <systemitem
-class="filesystem">devfs</systemitem> was the way it handled
-device detection, creation, and naming. The latter issue, that of
-device node naming, was perhaps the most critical. It is generally
-accepted that if device names are allowed to be configurable, then
-the device naming policy should be up to a system administrator, not
-imposed on them by any particular developer(s). The <systemitem
-class="filesystem">devfs</systemitem> file system also suffers from race
-conditions that are inherent in its design and cannot be fixed
-without a substantial revision to the kernel. It has also been marked
-as deprecated due to a lack of recent maintenance.</para>
-
-<para>With the development of the unstable 2.5 kernel tree, later released as
-the 2.6 series of stable kernels, a new virtual filesystem called <systemitem
-class="filesystem">sysfs</systemitem> came to be. The job of <systemitem
-class="filesystem">sysfs</systemitem> is to export a view of the system's
-hardrware configuration to userspace processes. With this userspace-visible
-representation, the possibility of seeing a userspace replacement for
-<systemitem class="filesystem">devfs</systemitem> became much more
-realistic.</para>
-
-</sect2>
-
-<sect2>
-<title>Udev Implementation</title>
-
-<para>The <systemitem class="filesystem">sysfs</systemitem> filesystem was
-mentioned briefly above. One may wonder how <systemitem
-class="filesystem">sysfs</systemitem> knows about the devices present on a
-system and what device numbers should be used for them. Drivers that have been
-compiled into the kernel directly register their objects with <systemitem
-class="filesystem">sysfs</systemitem> as they are detected by the kernel. For
-drivers compiled as modules, this registration will happen when the module is
-loaded. Once the <systemitem class="filesystem">sysfs</systemitem> filesystem is
-mounted (on <filename class="directory">/sys</filename>), data which the
-built-in drivers registered with <systemitem
-class="filesystem">sysfs</systemitem> are available to userspace processes and
-to <command>udev</command> for device node creation.</para>
-
-<para>The <command>S10udev</command> initscript takes care of creating these
-device nodes when Linux is booted. This script starts by registering
-<command>/sbin/udevsend</command> as a hotplug event handler. Hotplug events
-(discussed below) are not usually generated during this stage, but
-<command>udev</command> is registered just in case they do occur. The
-<command>udevstart</command> program then walks through the <systemitem
-class="filesystem">/sys</systemitem> filesystem and creates devices under
-<filename class="directory">/dev</filename> that match the descriptions. For
-example, <filename>/sys/class/tty/vcs/dev</filename> contains the string
-<quote>7:0</quote> This string is used by <command>udevstart</command> to create
-<filename>/dev/vcs</filename> with major number <emphasis>7</emphasis> and minor
-<emphasis>0</emphasis>. The names and permissions of the nodes created under
-the <filename class="directory">/dev</filename> directory are configured
-according to the rules specified in the files within the <filename
-class="directory">/etc/udev/rules.d/</filename> directory. These are numbered in
-a similar fashion to the LFS-Bootscripts package. If <command>udev</command>
-can't find a rule for the device it is creating, it will default permissions to
-<emphasis>660</emphasis> and ownership to <emphasis>root:root</emphasis>.</para>
-
-<para>Once the above stage is complete, all devices that were already present
-and have compiled-in drivers will be available for use. This leads us to the
-devices that have modular drivers.</para>
-
-<para>Earlier, we mentioned the concept of a <quote>hotplug event
-handler.</quote> When a new device connection is detected by the kernel, the
-kernel will generate a hotplug event and look at the file
-<filename>/proc/sys/kernel/hotplug</filename> to determine the userspace program
-that handles the device's connection. The <command>udev</command> bootscript
-registered <command>udevsend</command> as this handler. When these hotplug
-events are generated, the kernel will tell <command>udev</command> to check the
-<filename class="directory">/sys</filename> filesystem for the information
-pertaining to this new device and create the <filename
-class="directory">/dev</filename> entry for it.</para>
-
-<para>This brings us to one problem that exists with <command>udev</command>,
-and likewise with <systemitem class="filesystem">devfs</systemitem> before it.
-It is commonly referred to as the <quote>chicken and egg</quote> problem. Most
-Linux distributions handle loading modules via entries in
-<filename>/etc/modules.conf</filename>. Access to a device node causes the
-appropriate kernel module to load. With <command>udev</command>, this method
-will not work because the device node does not exist until the module is loaded.
-To solve this, the <command>S05modules</command> bootscript was added to the
-LFS-Bootscripts package, along with the
-<filename>/etc/sysconfig/modules</filename> file. By adding module names to the
-<filename>modules</filename> file, these modules will be loaded when the
-computer starts up. This allows <command>udev</command> to detect the devices
-and create the appropriate device nodes.</para>
-
-<para>Note that on slower machines or for drivers that create a lot
-of device nodes, the process of creating devices may take a few
-seconds to complete. This means that some device nodes may not be
-immediately accessible.</para>
-</sect2>
-
-<sect2>
-<title>Handling Hotpluggable/Dynamic Devices</title>
-
-<para>When you plug in a device, such as a Universal Serial Bus (USB) MP3 player, the kernel
-recognizes that the device is now connected and generates a hotplug
-event. If the driver is already loaded (either because it was compiled
-into the kernel or because it was loaded via the
-<command>S05modules</command> bootscript), <command>udev</command> will
-be called upon to create the relevant device node(s) according to the
-<systemitem class="filesystem">sysfs</systemitem> data available in
-<filename class="directory">/sys</filename>.</para>
-
-<para>If the driver for the just plugged in device is available as a module but
-currently unloaded, the Hotplug package will load the appropriate module
-and make this device available by creating the device node(s) for it.</para>
-</sect2>
-
-<sect2>
-<title>Problems with Creating Devices</title>
-
-<para>There are a few known problems when it comes to automatically creating
-device nodes:</para>
-
-<para>1) A kernel driver may not export its data to <systemitem
-class="filesystem">sysfs</systemitem>.</para>
-
-<para>This is most common with third party drivers from outside the kernel tree.
-Udev will be unable to automatically create device nodes for such drivers. Use
-the <filename>/etc/sysconfig/createfiles</filename> configuration file to
-manually create the devices. Consult the <filename>devices.txt</filename> file
-inside the kernel documentation or the documentation for that driver to find the
-proper major/minor numbers.</para>
-
-<para>2) A non-hardware device is required. This is most common with
-the Advanced Linux Sound Architecture (ALSA) project's Open Sound
-System (OSS) compatibility module. These types of devices can be
-handled in one of two ways:</para>
-
-<itemizedlist>
-
-<listitem><para>Adding the module names to
-<filename>/etc/sysconfig/modules</filename></para></listitem>
-<listitem><para>Using an
-<quote>install</quote> line in
-<filename>/etc/modprobe.conf</filename>. This tells the
-<command>modprobe</command> command <quote>when loading this module,
-also load this other module, at the same time.</quote> For example:</para>
+ <?dbhtml filename="udev.html"?>
+
+ <title>Device and Module Handling on an LFS System</title>
+
+ <indexterm zone="ch-scripts-udev">
+ <primary sortas="a-Udev">Udev</primary>
+ <secondary>usage</secondary>
+ </indexterm>
+
+ <para>In <xref linkend="chapter-building-system"/>, we installed the Udev
+ package. Before we go into the details regarding how this works,
+ a brief history of previous methods of handling devices is in
+ order.</para>
+
+ <para>Linux systems in general traditionally use a static device creation
+ method, whereby a great many device nodes are created under <filename
+ class="directory">/dev</filename> (sometimes literally thousands of nodes),
+ regardless of whether the corresponding hardware devices actually exist. This is
+ typically done via a <command>MAKEDEV</command> script, which contains a number
+ of calls to the <command>mknod</command> program with the relevant major and
+ minor device numbers for every possible device that might exist in the world.
+ Using the Udev method, only those devices which are detected by the kernel get
+ device nodes created for them. Because these device nodes will be created each
+ time the system boots, they will be stored on a <systemitem
+ class="filesystem">tmpfs</systemitem> file system (a virtual file system that
+ resides entirely in system memory). Device nodes do not require much space, so
+ the memory that is used is negligible.</para>
+
+ <sect2>
+ <title>History</title>
+
+ <para>In February 2000, a new filesystem called <systemitem
+ class="filesystem">devfs</systemitem> was merged into the 2.3.46 kernel
+ and was made available during the 2.4 series of stable kernels. Although
+ it was present in the kernel source itself, this method of creating devices
+ dynamically never received overwhelming support from the core kernel
+ developers.</para>
+
+ <para>The main problem with the approach adopted by <systemitem
+ class="filesystem">devfs</systemitem> was the way it handled device
+ detection, creation, and naming. The latter issue, that of device node
+ naming, was perhaps the most critical. It is generally accepted that if
+ device names are allowed to be configurable, then the device naming policy
+ should be up to a system administrator, not imposed on them by any
+ particular developer(s). The <systemitem class="filesystem">devfs</systemitem>
+ file system also suffers from race conditions that are inherent in its design
+ and cannot be fixed without a substantial revision to the kernel. It has also
+ been marked as deprecated due to a lack of recent maintenance.</para>
+
+ <para>With the development of the unstable 2.5 kernel tree, later released as
+ the 2.6 series of stable kernels, a new virtual filesystem called <systemitem
+ class="filesystem">sysfs</systemitem> came to be. The job of <systemitem
+ class="filesystem">sysfs</systemitem> is to export a view of the system's
+ hardrware configuration to userspace processes. With this userspace-visible
+ representation, the possibility of seeing a userspace replacement for
+ <systemitem class="filesystem">devfs</systemitem> became much more
+ realistic.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Udev Implementation</title>
+
+ <para>The <systemitem class="filesystem">sysfs</systemitem> filesystem was
+ mentioned briefly above. One may wonder how <systemitem
+ class="filesystem">sysfs</systemitem> knows about the devices present on
+ a system and what device numbers should be used for them. Drivers that have
+ been compiled into the kernel directly register their objects with
+ <systemitem class="filesystem">sysfs</systemitem> as they are detected by
+ the kernel. For drivers compiled as modules, this registration will happen
+ when the module is loaded. Once the <systemitem
+ class="filesystem">sysfs</systemitem> filesystem is mounted (on <filename
+ class="directory">/sys</filename>), data which the built-in drivers
+ registered with <systemitem class="filesystem">sysfs</systemitem> are
+ available to userspace processes and to <command>udev</command> for device
+ node creation.</para>
+
+ <para>The <command>S10udev</command> initscript takes care of creating
+ these device nodes when Linux is booted. This script starts by registering
+ <command>/sbin/udevsend</command> as a hotplug event handler. Hotplug events
+ (discussed below) are not usually generated during this stage, but
+ <command>udev</command> is registered just in case they do occur. The
+ <command>udevstart</command> program then walks through the <systemitem
+ class="filesystem">/sys</systemitem> filesystem and creates devices under
+ <filename class="directory">/dev</filename> that match the descriptions.
+ For example, <filename>/sys/class/tty/vcs/dev</filename> contains the
+ string <quote>7:0</quote> This string is used by <command>udevstart</command>
+ to create <filename>/dev/vcs</filename> with major number
+ <emphasis>7</emphasis> and minor <emphasis>0</emphasis>. The names and
+ permissions of the nodes created under the <filename
+ class="directory">/dev</filename> directory are configured according to the
+ rules specified in the files within the <filename
+ class="directory">/etc/udev/rules.d/</filename> directory. These are
+ numbered in a similar fashion to the LFS-Bootscripts package. If
+ <command>udev</command> can't find a rule for the device it is creating,
+ it will default permissions to <emphasis>660</emphasis> and ownership to
+ <emphasis>root:root</emphasis>.</para>
+
+ <para>Once the above stage is complete, all devices that were already present
+ and have compiled-in drivers will be available for use. This leads us to the
+ devices that have modular drivers.</para>
+
+ <para>Earlier, we mentioned the concept of a <quote>hotplug event
+ handler.</quote> When a new device connection is detected by the kernel,
+ the kernel will generate a hotplug event and look at the file
+ <filename>/proc/sys/kernel/hotplug</filename> to determine the userspace
+ program that handles the device's connection. The <command>udev</command>
+ bootscript registered <command>udevsend</command> as this handler. When
+ these hotplug events are generated, the kernel will tell
+ <command>udev</command> to check the <filename
+ class="directory">/sys</filename> filesystem for the information pertaining
+ to this new device and create the <filename class="directory">/dev</filename>
+ entry for it.</para>
+
+ <para>This brings us to one problem that exists with <command>udev</command>,
+ and likewise with <systemitem class="filesystem">devfs</systemitem> before it.
+ It is commonly referred to as the <quote>chicken and egg</quote> problem. Most
+ Linux distributions handle loading modules via entries in
+ <filename>/etc/modules.conf</filename>. Access to a device node causes the
+ appropriate kernel module to load. With <command>udev</command>, this method
+ will not work because the device node does not exist until the module is loaded.
+ To solve this, the <command>S05modules</command> bootscript was added to the
+ LFS-Bootscripts package, along with the
+ <filename>/etc/sysconfig/modules</filename> file. By adding module names to the
+ <filename>modules</filename> file, these modules will be loaded when the
+ computer starts up. This allows <command>udev</command> to detect the devices
+ and create the appropriate device nodes.</para>
+
+ <para>Note that on slower machines or for drivers that create a lot of device
+ nodes, the process of creating devices may take a few seconds to complete.
+ This means that some device nodes may not be immediately accessible.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Handling Hotpluggable/Dynamic Devices</title>
+
+ <para>When you plug in a device, such as a Universal Serial Bus (USB) MP3
+ player, the kernel recognizes that the device is now connected and generates
+ a hotplug event. If the driver is already loaded (either because it was
+ compiled into the kernel or because it was loaded via the
+ <command>S05modules</command> bootscript), <command>udev</command> will be
+ called upon to create the relevant device node(s) according to the
+ <systemitem class="filesystem">sysfs</systemitem> data available in
+ <filename class="directory">/sys</filename>.</para>
+
+ <para>If the driver for the just plugged in device is available as a module but
+ currently unloaded, the Hotplug package will load the appropriate module
+ and make this device available by creating the device node(s) for it.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Problems with Creating Devices</title>
+
+ <para>There are a few known problems when it comes to automatically creating
+ device nodes:</para>
+
+ <para>1) A kernel driver may not export its data to <systemitem
+ class="filesystem">sysfs</systemitem>.</para>
+
+ <para>This is most common with third party drivers from outside the kernel
+ tree. Udev will be unable to automatically create device nodes for such
+ drivers. Use the <filename>/etc/sysconfig/createfiles</filename>
+ configuration file to manually create the devices. Consult the
+ <filename>devices.txt</filename> file inside the kernel documentation or
+ the documentation for that driver to find the proper major/minor
+ numbers.</para>
+
+ <para>2) A non-hardware device is required. This is most common with
+ the Advanced Linux Sound Architecture (ALSA) project's Open Sound
+ System (OSS) compatibility module. These types of devices can be
+ handled in one of two ways:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>Adding the module names to
+ <filename>/etc/sysconfig/modules</filename></para>
+ </listitem>
+
+ <listitem>
+ <para>Using an <quote>install</quote> line in
+ <filename>/etc/modprobe.conf</filename>. This tells the
+ <command>modprobe</command> command <quote>when loading this module,
+ also load this other module, at the same time.</quote>
+ For example:</para>
<screen role="nodump"><userinput>install snd-pcm modprobe -i snd-pcm ; modprobe \
snd-pcm-oss ; true</userinput></screen>
-<para>This will cause the system to load both the
-<emphasis>snd-pcm</emphasis> and <emphasis>snd-pcm-oss</emphasis>
-modules when any request is made to load the driver
-<emphasis>snd-pcm</emphasis>.</para></listitem>
-</itemizedlist>
-</sect2>
+ <para>This will cause the system to load both the
+ <emphasis>snd-pcm</emphasis> and <emphasis>snd-pcm-oss</emphasis>
+ modules when any request is made to load the driver
+ <emphasis>snd-pcm</emphasis>.</para>
+ </listitem>
-<sect2>
-<title>Useful Reading</title>
+ </itemizedlist>
-<para>Additional helpful documentation is available at the following
-sites:</para>
+ </sect2>
-<itemizedlist>
-<listitem><para>A Userspace Implementation of <systemitem class="filesystem">devfs</systemitem>
-<ulink url="http://www.kroah.com/linux/talks/ols_2003_udev_paper/Reprint-Kroah-Hartman-OLS2003.pdf"/></para></listitem>
+ <sect2>
+ <title>Useful Reading</title>
-<listitem><para>udev FAQ
-<ulink url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-FAQ"/></para></listitem>
+ <para>Additional helpful documentation is available at the following
+ sites:</para>
-<listitem><para>The Linux Kernel Driver Model
-<ulink url="http://public.planetmirror.com/pub/lca/2003/proceedings/papers/Patrick_Mochel/Patrick_Mochel.pdf"/></para></listitem>
-</itemizedlist>
-</sect2>
+ <itemizedlist>
-</sect1>
+ <listitem>
+ <para>A Userspace Implementation of <systemitem class="filesystem">devfs</systemitem>
+ <ulink url="http://www.kroah.com/linux/talks/ols_2003_udev_paper/Reprint-Kroah-Hartman-OLS2003.pdf"/></para>
+ </listitem>
+
+ <listitem>
+ <para>udev FAQ
+ <ulink url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-FAQ"/></para>
+ </listitem>
+
+ <listitem>
+ <para>The Linux Kernel Driver Model
+ <ulink url="http://public.planetmirror.com/pub/lca/2003/proceedings/papers/Patrick_Mochel/Patrick_Mochel.pdf"/></para>
+ </listitem>
+ </itemizedlist>
+
+ </sect2>
+
+</sect1>
diff --git a/chapter07/usage.xml b/chapter07/usage.xml
index 4ff169ee8..991cf55dc 100644
--- a/chapter07/usage.xml
+++ b/chapter07/usage.xml
@@ -1,29 +1,33 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
+
<sect1 id="ch-scripts-usage">
-<title>How Do These Bootscripts Work?</title>
-<?dbhtml filename="usage.html"?>
-
-<indexterm zone="ch-scripts-usage">
-<primary sortas="a-Bootscripts">Bootscripts</primary>
-<secondary>usage</secondary></indexterm>
-
-<para>Linux uses a special booting facility named SysVinit that is based on a
-concept of <emphasis>run-levels</emphasis>. It can be quite different from one
-system to another, so it cannot be assumed that because things worked in one
-particular Linux distribution, they should work the same in LFS too. LFS has its
-own way of doing things, but it respects generally accepted standards.</para>
-
-<para>SysVinit (which will be referred to as <quote>init</quote> from now on)
-works using a run-levels scheme. There are seven (numbered 0 to 6) run-levels
-(actually, there are more run-levels, but they are for special cases and are
-generally not used. See <filename>init(8)</filename> for more details), and each one
-of those corresponds to the actions the computer is supposed to perform when it
-starts up. The default run-level is 3. Here are the descriptions of the
-different run-levels as they are implemented:</para>
+ <?dbhtml filename="usage.html"?>
+
+ <title>How Do These Bootscripts Work?</title>
+
+ <indexterm zone="ch-scripts-usage">
+ <primary sortas="a-Bootscripts">Bootscripts</primary>
+ <secondary>usage</secondary>
+ </indexterm>
+
+ <para>Linux uses a special booting facility named SysVinit that is based on a
+ concept of <emphasis>run-levels</emphasis>. It can be quite different from one
+ system to another, so it cannot be assumed that because things worked in one
+ particular Linux distribution, they should work the same in LFS too. LFS has its
+ own way of doing things, but it respects generally accepted standards.</para>
+
+ <para>SysVinit (which will be referred to as <quote>init</quote> from now on)
+ works using a run-levels scheme. There are seven (numbered 0 to 6) run-levels
+ (actually, there are more run-levels, but they are for special cases and are
+ generally not used. See <filename>init(8)</filename> for more details), and
+ each one of those corresponds to the actions the computer is supposed to
+ perform when it starts up. The default run-level is 3. Here are the
+ descriptions of the different run-levels as they are implemented:</para>
<literallayout>0: halt the computer
1: single-user mode
@@ -33,83 +37,93 @@ different run-levels as they are implemented:</para>
5: same as 4, it is usually used for GUI login (like X's <command>xdm</command> or KDE's <command>kdm</command>)
6: reboot the computer</literallayout>
-<para>The command used to change run-levels is <command>init
-<replaceable>[runlevel]</replaceable></command>, where
-<replaceable>[runlevel]</replaceable> is the target run-level. For example, to
-reboot the computer, a user could issue the <command>init 6</command> command,
-which is an alias for the <command>reboot</command> command. Likewise,
-<command>init 0</command> is an alias for the <command>halt</command>
-command.</para>
-
-<para>There are a number of directories under <filename
-class="directory">/etc/rc.d</filename> that look like <filename
-class="directory">rc?.d</filename> (where ? is the number of the run-level) and
-<filename class="directory">rcsysinit.d</filename>, all containing a number of
-symbolic links. Some begin with a <emphasis>K</emphasis>, the others begin with
-an <emphasis>S</emphasis>, and all of them have two numbers following the
-initial letter. The K means to stop (kill) a service and the S means to start a
-service. The numbers determine the order in which the scripts are run, from 00
-to 99&mdash;the lower the number the earlier it gets executed. When
-<command>init</command> switches to another run-level, the appropriate services
-are either started or stopped, depending on the runlevel chosen.</para>
-
-<para>The real scripts are in <filename
-class="directory">/etc/rc.d/init.d</filename>. They do the actual
-work, and the symlinks all point to them. Killing links and starting
-links point to the same script in <filename
-class="directory">/etc/rc.d/init.d</filename>. This is because the
-scripts can be called with different parameters like
-<parameter>start</parameter>, <parameter>stop</parameter>,
-<parameter>restart</parameter>, <parameter>reload</parameter>, and
-<parameter>status</parameter>. When a K link is encountered, the
-appropriate script is run with the <parameter>stop</parameter>
-argument. When an S link is encountered, the appropriate script is run
-with the <parameter>start</parameter> argument.</para>
-
-<para>There is one exception to this explanation. Links that start
-with an <emphasis>S</emphasis> in the <filename
-class="directory">rc0.d</filename> and <filename
-class="directory">rc6.d</filename> directories will not cause anything
-to be started. They will be called with the parameter
-<parameter>stop</parameter> to stop something. The logic behind this
-is that when a user is going to reboot or halt the system, nothing
-needs to be started. The system only needs to be stopped.</para>
-
-<para>These are descriptions of what the arguments make the scripts
-do:</para>
-
-<variablelist>
-<varlistentry>
-<term><parameter>start</parameter></term>
-<listitem><para>The service is started.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>stop</parameter></term>
-<listitem><para>The service is stopped.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>restart</parameter></term>
-<listitem><para>The service is stopped and then started again.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>reload</parameter></term>
-<listitem><para>The configuration of the service is updated.
-This is used after the configuration file of a service was modified, when
-the service does not need to be restarted.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>status</parameter></term>
-<listitem><para>Tells if the service is running and with which PIDs.</para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>Feel free to modify the way the boot process works (after all,
-it is your own LFS system). The files given here are an example of how
-it can be done.</para>
+ <para>The command used to change run-levels is <command>init
+ <replaceable>[runlevel]</replaceable></command>, where
+ <replaceable>[runlevel]</replaceable> is the target run-level. For example, to
+ reboot the computer, a user could issue the <command>init 6</command> command,
+ which is an alias for the <command>reboot</command> command. Likewise,
+ <command>init 0</command> is an alias for the <command>halt</command>
+ command.</para>
+
+ <para>There are a number of directories under <filename
+ class="directory">/etc/rc.d</filename> that look like <filename
+ class="directory">rc?.d</filename> (where ? is the number of the run-level) and
+ <filename class="directory">rcsysinit.d</filename>, all containing a number of
+ symbolic links. Some begin with a <emphasis>K</emphasis>, the others begin with
+ an <emphasis>S</emphasis>, and all of them have two numbers following the
+ initial letter. The K means to stop (kill) a service and the S means to start a
+ service. The numbers determine the order in which the scripts are run, from 00
+ to 99&mdash;the lower the number the earlier it gets executed. When
+ <command>init</command> switches to another run-level, the appropriate services
+ are either started or stopped, depending on the runlevel chosen.</para>
+
+ <para>The real scripts are in <filename
+ class="directory">/etc/rc.d/init.d</filename>. They do the actual work, and
+ the symlinks all point to them. Killing links and starting links point to
+ the same script in <filename class="directory">/etc/rc.d/init.d</filename>.
+ This is because the scripts can be called with different parameters like
+ <parameter>start</parameter>, <parameter>stop</parameter>,
+ <parameter>restart</parameter>, <parameter>reload</parameter>, and
+ <parameter>status</parameter>. When a K link is encountered, the appropriate
+ script is run with the <parameter>stop</parameter> argument. When an S link
+ is encountered, the appropriate script is run with the
+ <parameter>start</parameter> argument.</para>
+
+ <para>There is one exception to this explanation. Links that start
+ with an <emphasis>S</emphasis> in the <filename
+ class="directory">rc0.d</filename> and <filename
+ class="directory">rc6.d</filename> directories will not cause anything
+ to be started. They will be called with the parameter
+ <parameter>stop</parameter> to stop something. The logic behind this
+ is that when a user is going to reboot or halt the system, nothing
+ needs to be started. The system only needs to be stopped.</para>
+
+ <para>These are descriptions of what the arguments make the scripts
+ do:</para>
+
+ <variablelist>
+
+ <varlistentry>
+ <term><parameter>start</parameter></term>
+ <listitem>
+ <para>The service is started.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><parameter>stop</parameter></term>
+ <listitem>
+ <para>The service is stopped.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><parameter>restart</parameter></term>
+ <listitem>
+ <para>The service is stopped and then started again.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><parameter>reload</parameter></term>
+ <listitem>
+ <para>The configuration of the service is updated.
+ This is used after the configuration file of a service was modified, when
+ the service does not need to be restarted.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><parameter>status</parameter></term>
+ <listitem>
+ <para>Tells if the service is running and with which PIDs.</para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ <para>Feel free to modify the way the boot process works (after all,
+ it is your own LFS system). The files given here are an example of how
+ it can be done.</para>
</sect1>
-