diff options
author | Manuel Canales Esparcia <manuel@linuxfromscratch.org> | 2005-12-18 18:31:04 +0000 |
---|---|---|
committer | Manuel Canales Esparcia <manuel@linuxfromscratch.org> | 2005-12-18 18:31:04 +0000 |
commit | d781ffbe09451f0cce880a010b2d8f5f09047f6f (patch) | |
tree | d621d28ecb9b6a03e2368f745aa6d47abbfa4b77 /chapter07 | |
parent | b78c7479d4b642d7aea70144b1fbd6cffe26dea3 (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.xml | 509 | ||||
-rw-r--r-- | chapter07/chapter07.xml | 35 | ||||
-rw-r--r-- | chapter07/console.xml | 137 | ||||
-rw-r--r-- | chapter07/hostname.xml | 35 | ||||
-rw-r--r-- | chapter07/hosts.xml | 76 | ||||
-rw-r--r-- | chapter07/inputrc.xml | 43 | ||||
-rw-r--r-- | chapter07/introduction.xml | 35 | ||||
-rw-r--r-- | chapter07/network.xml | 166 | ||||
-rw-r--r-- | chapter07/profile.xml | 230 | ||||
-rw-r--r-- | chapter07/setclock.xml | 78 | ||||
-rw-r--r-- | chapter07/sysklogd.xml | 30 | ||||
-rw-r--r-- | chapter07/udev.xml | 418 | ||||
-rw-r--r-- | chapter07/usage.xml | 212 |
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 >/etc/sysconfig/console <<"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 >/etc/sysconfig/console <<"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 && cat > /etc/kbd/bs-sends-del <<"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 >>/etc/sysconfig/console <<"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>" > /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><IP address> myhost.example.org aliases</screen> +<screen><literal><IP address> myhost.example.org aliases</literal></screen> -<para>Unless the computer is to be visible to the Internet (i.e., -there is a registered domain and a valid block of assigned IP -addresses—most users do not have this), make sure that the IP -address is in the private network IP address range. Valid ranges -are:</para> + <para>Unless the computer is to be visible to the Internet (i.e., + there is a registered domain and a valid block of assigned IP + addresses—most users do not have this), make sure that the IP + address is in the private network IP address range. Valid ranges + are:</para> -<screen> 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 > /etc/hosts << "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>[<HOSTNAME>.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>[<HOSTNAME>.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 > /etc/hosts << "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 — the -input-related library — 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 — the + input-related library — 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 > /etc/inputrc << "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 && mkdir -v ifconfig.eth0 && @@ -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 > /etc/resolv.conf << "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 "de_DE.ISO-8859-15@euro" to -"de_DE@euro" 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 "de_DE.ISO-8859-15@euro" to + "de_DE@euro" 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 > /etc/profile << "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 > /etc/sysconfig/clock << "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—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—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> - |