Index: BOOK/bootscripts/chapter.xml
===================================================================
--- BOOK/bootscripts/chapter.xml	(revision 492e5a321d6fde92c38430fa8485363081d90749)
+++ BOOK/bootscripts/chapter.xml	(revision faa64670b4482d67c66e709fd92bfbcc7d91b6dc)
@@ -16,13 +16,8 @@
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/udev-rules.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/usage.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/udev.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/setclock.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/console.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/sysklogd.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/inputrc.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/profile.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/hostname.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/hosts.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/symlinks.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/network.xml"/>
 
Index: OK/bootscripts/common/inputrc.xml
===================================================================
--- BOOK/bootscripts/common/inputrc.xml	(revision 492e5a321d6fde92c38430fa8485363081d90749)
+++ 	(revision )
@@ -1,85 +1,0 @@
-<?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" [
-   <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-scripts-inputrc">
-  <?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>
-
-  <para>The <filename>/etc/inputrc</filename> file deals with mapping
-  the keyboard for specific situations. This file is the start-up file
-  used by Readline &mdash; the input-related library &mdash; used by Bash
-  and most other shells.</para>
-
-  <para>Most people do not need user-specific keyboard mappings so
-  the command below creates a global <filename>/etc/inputrc</filename>
-  used by everyone who logs in. If you later decide you need to override
-  the defaults on a per-user basis, you can create a
-  <filename>.inputrc</filename> file in the user's home directory with
-  the modified mappings.</para>
-
-  <para>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>
-
-<screen><userinput>cat &gt; ${CLFS}/etc/inputrc &lt;&lt; "EOF"
-<literal># Begin /etc/inputrc
-# Modified by Chris Lynn &lt;roryo@roryo.dynup.net&gt;
-
-# Allow the command prompt to wrap to the next line
-set horizontal-scroll-mode Off
-
-# Enable 8bit input
-set meta-flag On
-set input-meta On
-
-# Turns off 8th bit stripping
-set convert-meta Off
-
-# Keep the 8th bit for display
-set output-meta On
-
-# none, visible or audible
-set bell-style none
-
-# All of the following map the escape sequence of the
-# value contained inside the 1st argument to the
-# readline specific functions
-
-"\eOd": backward-word
-"\eOc": forward-word
-
-# for linux console
-"\e[1~": beginning-of-line
-"\e[4~": end-of-line
-"\e[5~": beginning-of-history
-"\e[6~": end-of-history
-"\e[3~": delete-char
-"\e[2~": quoted-insert
-
-# for xterm
-"\eOH": beginning-of-line
-"\eOF": end-of-line
-
-# for Konsole
-"\e[H": beginning-of-line
-"\e[F": end-of-line
-
-# End /etc/inputrc</literal>
-EOF</userinput></screen>
-
-</sect1>
Index: BOOK/bootscripts/common/network.xml
===================================================================
--- BOOK/bootscripts/common/network.xml	(revision 492e5a321d6fde92c38430fa8485363081d90749)
+++ BOOK/bootscripts/common/network.xml	(revision faa64670b4482d67c66e709fd92bfbcc7d91b6dc)
@@ -23,90 +23,4 @@
   symlinks from all run-level directories (<filename
   class="directory">/etc/rc.d/rc*.d</filename>).</para>
-
-  <sect2>
-    <title>Creating stable names for network interfaces</title>
-
-    <para>Instructions in this section are optional if you have only one
-    network card.</para>
-
-    <para>With Udev and modular network drivers, the network interface numbering
-    is not persistent across reboots by default, because the drivers are loaded
-    in parallel and, thus, in random order. For example, on a computer having
-    two network cards made by Intel and Realtek, the network card manufactured
-    by Intel may become <filename class="devicefile">eth0</filename> and the
-    Realtek card becomes  <filename class="devicefile">eth1</filename>. In some
-    cases, after a reboot the cards get renumbered the other way around. To
-    avoid this, create Udev rules that assign stable names to network cards
-    based on their MAC addresses or bus positions.</para>
-
-    <para>If you are going to use MAC addresses to identify your network
-    cards, find the addresses with the following command:</para>
-
-<screen role="nodump"><userinput>grep -H . /sys/class/net/*/address</userinput></screen>
-
-    <para>For each network card (but not for the loopback interface),
-    invent a descriptive name, such as <quote>realtek</quote>, and create
-    Udev rules similar to the following:</para>
-
-<screen role="nodump"><userinput>cat &gt; /etc/udev/rules.d/26-network.rules &lt;&lt; EOF
-<literal>ACTION=="add", SUBSYSTEM=="net", SYSFS{address}=="<replaceable>00:e0:4c:12:34:56</replaceable>", \
-    NAME="<replaceable>realtek</replaceable>"
-ACTION=="add", SUBSYSTEM=="net", SYSFS{address}=="<replaceable>00:a0:c9:78:9a:bc</replaceable>", \
-    NAME="<replaceable>intel</replaceable>"</literal>
-EOF</userinput></screen>
-
-<!-- Yes, I know that VLANs are beyond BLFS. This is not the reason to get them
-     incorrect by default when every distro does this right. -->
-
-    <note>
-      <para>Although the examples in this book work properly, be aware
-      that Udev does not recognize the backslash for line continuation.
-      If modifying Udev rules with an editor, be sure to leave each rule
-      on one physical line.</para>
-    </note>
-
-    <para>If you are going to use the bus position as a key, create
-    Udev rules similar to the following:</para>
-
-<screen role="nodump"><userinput>cat &gt; /etc/udev/rules.d/26-network.rules &lt;&lt; EOF
-<literal>ACTION=="add", SUBSYSTEM=="net", BUS=="<replaceable>pci</replaceable>", ID=="<replaceable>0000:00:0c.0</replaceable>", \
-    NAME="<replaceable>realtek</replaceable>"
-ACTION=="add", SUBSYSTEM=="net", BUS=="<replaceable>pci</replaceable>", ID=="<replaceable>0000:00:0d.0</replaceable>", \
-    NAME="<replaceable>intel</replaceable>"</literal>
-EOF</userinput></screen>
-
-    <para>These rules will always rename the network cards to
-    <quote>realtek</quote> and <quote>intel</quote>, independently
-    of the original numbering provided by the kernel (i.e.: the original
-    <quote>eth0</quote> and <quote>eth1</quote> interfaces will no longer
-    exist, unless you put such <quote>descriptive</quote> names in the NAME
-    key). Use the descriptive names from the Udev rules instead
-    of <quote>eth0</quote> in the network interface configuration files
-    below.</para>
-
-    <para>Note that the rules above don't work for every setup. For example,
-    MAC-based rules break when bridges or VLANs are used, because bridges and
-    VLANs have the same MAC address as the network card. One wants to rename
-    only the network card interface, not the bridge or VLAN interface, but the
-    example rule matches both. If you use such virtual interfaces, you have two
-    potential solutions. One is to add the DRIVER=="?*" key after
-    SUBSYSTEM=="net" in MAC-based rules which will stop matching the virtual
-    interfaces.  This is known to fail with some older Ethernet cards because
-    they don't have the DRIVER variable in the uevent and thus the rule does
-    not match with such cards. Another solution is to switch to rules that use
-    the bus position as a key.</para>
-
-    <para>The second known non-working case is with wireless cards using the
-    MadWifi or HostAP drivers, because they create at least two interfaces with
-    the same MAC address and bus position. For example, the Madwifi driver
-    creates both an athX and a wifiX interface where X is a digit.  To
-    differentiate these interfaces, add an appropriate KERNEL parameter such as
-    KERNEL=="ath*" after SUBSYSTEM=="net".</para>
-
-    <para>There may be other cases where the rules above don't work. Currently,
-    bugs on this topic are still being reported to Linux distributions, and no
-    solution that covers every case is available.</para>
-
-  </sect2>
 
   <sect2>
Index: OK/bootscripts/common/profile.xml
===================================================================
--- BOOK/bootscripts/common/profile.xml	(revision 492e5a321d6fde92c38430fa8485363081d90749)
+++ 	(revision )
@@ -1,166 +1,0 @@
-<?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" [
-  <!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>
-
-<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>
-
-<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>
-
-<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>
-
-<screen role="nodump"><userinput>LC_ALL=[locale name] locale country
-LC_ALL=[locale name] locale language
-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>
-
-<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>Some packages beyond CLFS may also lack support for your chosen locale.
-  One example is the X library (part of the X Window System), which outputs
-  the following error message:</para>
-
-<screen><computeroutput>Warning: locale not supported by Xlib, locale set to C</computeroutput></screen>
-
-  <para>Sometimes it is possible to fix this by removing the charmap part of
-  the locale specification, as long as that does not change the character map
-  that Glibc associates with the locale (this can be checked by running the
-  <command>locale charmap</command> command in both locales). For example,
-  one would have to change &quot;de_DE.ISO-8859-15@euro&quot; to
-  &quot;de_DE@euro&quot; in order to get this locale recognized by Xlib.</para>
-
-  <para>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>
-
-<screen><userinput>cat &gt; ${CLFS}/etc/profile &lt;&lt; "EOF"
-<literal># Begin /etc/profile
-
-export LANG=<replaceable>[ll]</replaceable>_<replaceable>[CC]</replaceable>.<replaceable>[charmap]</replaceable>
-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>
-
-  <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 CLFS book and such locales are not yet supported
-  by CLFS.</para>
-
-</sect1>
Index: OK/bootscripts/common/symlinks.xml
===================================================================
--- BOOK/bootscripts/common/symlinks.xml	(revision 492e5a321d6fde92c38430fa8485363081d90749)
+++ 	(revision )
@@ -1,141 +1,0 @@
-<?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" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-scripts-symlinks">
-  <?dbhtml filename="symlinks.html"?>
-
-  <title>Creating custom symlinks to devices</title>
-
-  <sect2>
-
-    <title>CD-ROM symlinks</title>
-
-    <para>Some software that you may want to install later (e.g., various
-    media players) expect the /dev/cdrom and /dev/dvd symlinks to exist.
-    Also, it may be convenient to put references to those symlinks into
-    <filename>/etc/fstab</filename>. For each of your CD-ROM devices,
-    find the corresponding directory under
-    <filename class="directory">/sys</filename> (e.g., this can be
-    <filename class="directory">/sys/block/hdd</filename>) and
-    run a command similar to the following:</para>
-
-<screen role="nodump"><userinput>udevtest /block/hdd</userinput></screen>
-
-    <para>Look at the lines containing the output of various *_id programs.</para>
-
-    <para>There are two approaches to creating symlinks. The first one is to
-    use the model name and the serial number, the second one is based on the
-    location of the device on the bus. If you are going to use the first
-    approach, create a file similar to the following:</para>
-
-<screen role="nodump"><userinput>cat &gt; ${CLFS}/etc/udev/rules.d/82-cdrom.rules &lt;&lt; EOF
-<literal>
-# Custom CD-ROM symlinks
-SUBSYSTEM=="block", ENV{ID_MODEL}=="SAMSUNG_CD-ROM_SC-148F", \
-    ENV{ID_REVISION}=="PS05", SYMLINK+="cdrom"
-SUBSYSTEM=="block", ENV{ID_MODEL}=="PHILIPS_CDD5301", \
-    ENV{ID_SERIAL}=="5VO1306DM00190", SYMLINK+="cdrom1 dvd"
-</literal>
-EOF</userinput></screen>
-
-    <note>
-      <para>Although the examples in this book work properly, be aware
-      that Udev does not recognize the backslash for line continuation.
-      If modifying Udev rules with an editor, be sure to leave each rule
-      on one physical line.</para>
-    </note>
-
-    <para>This way, the symlinks will stay correct even if you move the drives
-    to different positions on the IDE bus, but the
-    <filename>/dev/cdrom</filename> symlink won't be created if you replace
-    the old SAMSUNG CD-ROM with a new drive.</para>
-<!-- The symlinks in the first approach survive even the transition
-     to libata for IDE drives, but that is not for the book. -->
-
-    <para>The SUBSYSTEM==&quot;block&quot; key is needed in order to avoid
-    matching SCSI generic devices. Without it, in the case with SCSI
-    CD-ROMs, the symlinks will sometimes point to the correct
-    <filename>/dev/srX</filename> devices, and sometimes to
-    <filename>/dev/sgX</filename>, which is wrong.</para>
-
-    <para>The second approach yields:</para>
-
-<screen role="nodump"><userinput>cat &gt; ${CLFS}/etc/udev/rules.d/82-cdrom.rules &lt;&lt; EOF
-<literal>
-# Custom CD-ROM symlinks
-SUBSYSTEM=="block", ENV{ID_TYPE}=="cd", \
-    ENV{ID_PATH}=="pci-0000:00:07.1-ide-0:1", SYMLINK+="cdrom"
-SUBSYSTEM=="block", ENV{ID_TYPE}=="cd", \
-    ENV{ID_PATH}=="pci-0000:00:07.1-ide-1:1", SYMLINK+="cdrom1 dvd"
-</literal>
-EOF</userinput></screen>
-
-    <para>This way, the symlinks will stay correct even if you replace drives
-    with different models, but place them to the old positions on the IDE
-    bus. The ENV{ID_TYPE}==&quot;cd&quot; key makes sure that the symlink
-    disappears if you put something other than a CD-ROM in that position on
-    the bus.</para>
-
-    <para>Of course, it is possible to mix the two approaches.</para>
-
-  </sect2>
-
-  <sect2>
-
-    <title>Dealing with duplicate devices</title>
-
-    <para>As explained in <xref linkend="ch-scripts-udev"/>, the order in
-    which devices with the same function appear in
-    <filename class="directory">/dev</filename> is essentially random.
-    E.g., if you have a USB web camera and a TV tuner, sometimes
-    <filename>/dev/video0</filename> refers to the camera and
-    <filename>/dev/video1</filename> refers to the tuner, and sometimes
-    after a reboot the order changes to the opposite one.
-    For all classes of hardware except sound cards and network cards, this is
-    fixable by creating udev rules for custom persistent symlinks.
-    The case of network cards is covered separately in
-    <xref linkend="ch-scripts-network"/>, and sound card configuration can
-    be found in <ulink url="&blfs-root;">BLFS</ulink>.</para>
-
-    <para>For each of your devices that is likely to have this problem
-    (even if the problem doesn't exist in your current Linux distribution),
-    find the corresponding directory under
-    <filename class="directory">/sys/class</filename> or
-    <filename class="directory">/sys/block</filename>.
-    For video devices, this may be
-    <filename
-    class="directory">/sys/class/video4linux/video<replaceable>X</replaceable></filename>.
-    Figure out the attributes that identify the device uniquely (usually,
-    vendor and product IDs and/or serial numbers work):</para>
-
-<screen role="nodump"><userinput>udevinfo -a -p /sys/class/video4linux/video0</userinput></screen>
-
-    <para>Then write rules that create the symlinks, e.g.:</para>
-
-<screen role="nodump"><userinput>cat &gt; ${CLFS}/etc/udev/rules.d/83-duplicate_devs.rules &lt;&lt; EOF
-<literal>
-# Persistent symlinks for webcam and tuner
-KERNEL=="video*", SYSFS{idProduct}=="1910", SYSFS{idVendor}=="0d81", \
-    SYMLINK+="webcam"
-KERNEL=="video*", SYSFS{device}=="0x036f", SYSFS{vendor}=="0x109e", \
-    SYMLINK+="tvtuner"
-</literal>
-EOF</userinput></screen>
-
-    <para>The result is that <filename>/dev/video0</filename> and
-    <filename>/dev/video1</filename> devices still refer randomly to the tuner
-    and the web camera (and thus should never be used directly), but there are
-    symlinks <filename>/dev/tvtuner</filename> and
-    <filename>/dev/webcam</filename> that always point to the correct
-    device.</para>
-
-    <para>More information on writing Udev rules can be found in
-    <filename>/usr/share/doc/udev-&udev-version;/index.html</filename>.</para>
-
- </sect2>
-
-</sect1>
Index: OK/bootscripts/common/sysklogd.xml
===================================================================
--- BOOK/bootscripts/common/sysklogd.xml	(revision 492e5a321d6fde92c38430fa8485363081d90749)
+++ 	(revision )
@@ -1,25 +1,0 @@
-<?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.3/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-scripts-sysklogd">
-  <?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>
-
-  <para>The <filename>sysklogd</filename> script invokes the
-  <command>syslogd</command> program with the <option>-m 0</option> 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>
Index: BOOK/bootscripts/common/udev-rules.xml
===================================================================
--- BOOK/bootscripts/common/udev-rules.xml	(revision 492e5a321d6fde92c38430fa8485363081d90749)
+++ BOOK/bootscripts/common/udev-rules.xml	(revision faa64670b4482d67c66e709fd92bfbcc7d91b6dc)
@@ -26,7 +26,7 @@
     <title>Installation of Udev-Rules</title>
 
-    <para os="a">Install the package:</para>
+<para os="a">Install the package:</para>
 
-<screen os="b"><userinput>make DESTDIR=${CLFS} install</userinput></screen>
+<screen os="b"><userinput>make DESTDIR=${CLFS}</userinput></screen>
 
   </sect2>
@@ -91,15 +91,4 @@
           <indexterm zone="ch-scripts-udev-rules z50-udev.rules">
             <primary sortas="d-50-udev.rules">50-udev.rules</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="z55-sound.rules">
-        <term><command>55-sound.rules</command></term>
-        <listitem>
-          <para>Gives proper permissions to audio device and restores sound
-          volumes.</para>
-          <indexterm zone="ch-scripts-udev-rules z55-sound.rules">
-            <primary sortas="d-55-sound.rules">55-sound.rules</primary>
           </indexterm>
         </listitem>
@@ -182,2 +171,3 @@
 
 </sect1>
+
Index: OK/bootscripts/common/udev.xml
===================================================================
--- BOOK/bootscripts/common/udev.xml	(revision 492e5a321d6fde92c38430fa8485363081d90749)
+++ 	(revision )
@@ -1,352 +1,0 @@
-<?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" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-scripts-udev">
-  <?dbhtml filename="udev.html"?>
-
-  <title>Device and Module Handling on a CLFS 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.</para>
-
-  <para>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 hardware 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>
-
-    <sect3>
-      <title>Sysfs</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>udevd</command> for device
-      node creation.</para>
-
-    </sect3>
-
-    <sect3>
-      <title>Udev Bootscript</title>
-
-      <para>The <command>S10udev</command> initscript takes care of creating
-      device nodes when Linux is booted. The script unsets the uevent handler
-      from the default of <command>/sbin/hotplug</command>.  This is done
-      because the kernel no longer needs to call out to an external binary.
-      Instead <command>udevd</command> will listen on a netlink socket for
-      uevents that the kernel raises. Next, the bootscript copies any static
-      device nodes that exist in <filename
-      class="directory">/lib/udev/devices</filename> to <filename
-      class="directory">/dev</filename>. This is necessary because some devices,
-      directories, and symlinks are needed before the dynamic device handling
-      processes are available during the early stages of booting a system.
-      Creating static device nodes in <filename
-      class="directory">/lib/udev/devices</filename> also provides an easy
-      workaround for devices that are not supported by the dynamic device
-      handling infrastructure. The bootscript then starts the Udev daemon,
-      <command>udevd</command>, which will act on any uevents it receives.
-      Finally, the bootscript forces the kernel to replay uevents for any
-      devices that have already been registered and then waits for
-      <command>udevd</command> to handle them.</para>
-
-    </sect3>
-
-    <sect3>
-      <title>Device Node Creation</title>
-
-      <para>To obtain the right major and minor number for a device, Udev relies
-      on the information provided by <systemitem
-      class="filesystem">sysfs</systemitem> in <filename
-      class="directory">/sys</filename>.  For example,
-      <filename>/sys/class/tty/vcs/dev</filename> contains the string
-      <quote>7:0</quote>. This string is used by <command>udevd</command>
-      to create a device node 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
-      determined by 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 CLFS-Bootscripts package. If
-      <command>udevd</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>. Documentation on the syntax of the Udev
-      rules configuration files are available in
-      <filename>/usr/share/doc/udev-&udev-version;/index.html</filename></para>
-
-    </sect3>
-
-    <sect3>
-      <title>Module Loading</title>
-
-      <para>Device drivers compiled as modules may have aliases built into them.
-      Aliases are visible in the output of the <command>modinfo</command>
-      program and are usually related to the bus-specific identifiers of devices
-      supported by a module. For example, the <emphasis>snd-fm801</emphasis>
-      driver supports PCI devices with vendor ID 0x1319 and device ID 0x0801,
-      and has an alias of <quote>pci:v00001319d00000801sv*sd*bc04sc01i*</quote>.
-      For most devices, the bus driver exports the alias of the driver that
-      would handle the device via <systemitem
-      class="filesystem">sysfs</systemitem>. E.g., the
-      <filename>/sys/bus/pci/devices/0000:00:0d.0/modalias</filename> file
-      might contain the string
-      <quote>pci:v00001319d00000801sv00001319sd00001319bc04sc01i00</quote>.
-      The rules that CLFS installs will cause <command>udevd</command> to call
-      out to <command>/sbin/modprobe</command> with the contents of the
-      <envar>MODALIAS</envar> uevent environment variable (that should be the
-      same as the contents of the <filename>modalias</filename> file in sysfs),
-      thus loading all modules whose aliases match this string after wildcard
-      expansion.</para>
-
-      <para>In this example, this means that, in addition to
-      <emphasis>snd-fm801</emphasis>, the obsolete (and unwanted)
-      <emphasis>forte</emphasis> driver will be loaded if it is
-      available. See below for ways in which the loading of unwanted drivers can
-      be prevented.</para>
-
-      <para>The kernel itself is also able to load modules for network
-      protocols, filesystems and NLS support on demand.</para>
-
-    </sect3>
-
-    <sect3>
-      <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 uevent. This uevent is then handled by
-      <command>udevd</command> as described above.</para>
-
-    </sect3>
-
-  </sect2>
-
-  <sect2>
-    <title>Problems with Loading Modules and Creating Devices</title>
-
-    <para>There are a few possible problems when it comes to automatically
-    creating device nodes.</para>
-
-    <sect3>
-      <title>A kernel module is not loaded automatically</title>
-
-      <para>Udev will only load a module if it has a bus-specific alias and the
-      bus driver properly exports the necessary aliases to <systemitem
-      class="filesystem">sysfs</systemitem>. In other cases, one should
-      arrange module loading by other means. With Linux-&linux-version;, Udev is
-      known to load properly-written drivers for INPUT, IDE, PCI, USB, SCSI,
-      SERIO and FireWire devices.</para>
-
-      <para>To determine if the device driver you require has the necessary
-      support for Udev, run <command>modinfo</command> with the module name as
-      the argument.  Now try locating the device directory under
-      <filename class="directory">/sys/bus</filename> and check whether there is
-      a <filename>modalias</filename> file there.</para>
-
-      <para>If the <filename>modalias</filename> file exists in <systemitem
-      class="filesystem">sysfs</systemitem>, the driver supports the device and
-      can talk to it directly, but doesn't have the alias, it is a bug in the
-      driver. Load the driver without the help from Udev and expect the issue
-      to be fixed later.</para>
-
-      <para>If there is no <filename>modalias</filename> file in the relevant
-      directory under <filename class="directory">/sys/bus</filename>, this
-      means that the kernel developers have not yet added modalias support to
-      this bus type. With Linux-&linux-version;, this is the case with ISA
-      busses. Expect this issue to be fixed in later kernel versions.</para>
-
-      <para>Udev is not intended to load <quote>wrapper</quote> drivers such as
-      <emphasis>snd-pcm-oss</emphasis> and non-hardware drivers such as
-      <emphasis>loop</emphasis> at all.</para>
-
-    </sect3>
-
-    <sect3>
-      <title>A kernel module is not loaded automatically, and Udev is not
-      intended to load it</title>
-
-      <para>If the <quote>wrapper</quote> module only enhances the functionality
-      provided by some other module (e.g., <emphasis>snd-pcm-oss</emphasis>
-      enhances the functionality of <emphasis>snd-pcm</emphasis> by making the
-      sound cards available to OSS applications), configure
-      <command>modprobe</command> to load the wrapper after Udev loads the
-      wrapped module. To do this, add an <quote>install</quote> line in
-      <filename>/etc/modprobe.conf</filename>. For example:</para>
-
-<screen role="nodump"><literal>install snd-pcm /sbin/modprobe -i snd-pcm ; \
-    /sbin/modprobe snd-pcm-oss ; true</literal></screen>
-
-      <para>If the module in question is not a wrapper and is useful by itself,
-      configure the <command>S05modules</command> bootscript to load this
-      module on system boot. To do this, add the module name to the
-      <filename>/etc/sysconfig/modules</filename> file on a separate line.
-      This works for wrapper modules too, but is suboptimal in that case.</para>
-
-    </sect3>
-
-    <sect3>
-      <title>Udev loads some unwanted module</title>
-
-      <para>Either don't build the module, or blacklist it in
-      <filename>/etc/modprobe.conf</filename> file as done with the
-      <emphasis>forte</emphasis> module in the example below:</para>
-
-<screen role="nodump"><literal>blacklist forte</literal></screen>
-
-      <para>Blacklisted modules can still be loaded manually with the
-      explicit <command>modprobe</command> command.</para>
-
-    </sect3>
-
-    <sect3>
-      <title>Udev creates a device incorrectly, or makes a wrong symlink</title>
-
-      <para>This usually happens if a rule unexpectedly matches a device. For
-      example, a poorly-writen rule can match both a SCSI disk (as desired)
-      and the corresponding SCSI generic device (incorrectly) by vendor.
-      Find the offending rule and make it more specific.</para>
-
-    </sect3>
-
-    <sect3>
-      <title>Udev rule works unreliably</title>
-
-      <para>This may be another manifestation of the previous problem. If not,
-      and your rule uses <systemitem class="filesystem">sysfs</systemitem>
-      attributes, it may be a kernel timing issue, to be fixed in later kernels.
-      For now, you can work around it by creating a rule that waits for the used
-      <systemitem class="filesystem">sysfs</systemitem> attribute and appending
-      it to the <filename>/etc/udev/rules.d/10-wait_for_sysfs.rules</filename>
-      file. Please notify the CLFS Development list if you do so and it
-      helps.</para>
-
-    </sect3>
-
-    <sect3>
-      <title>Udev does not create a device</title>
-
-      <para>Further text assumes that the driver is built statically into the
-      kernel or already loaded as a module, and that you have already checked
-      that Udev doesn't create a misnamed device.</para>
-
-      <para>Udev has no information needed to create a device node if a kernel
-      driver does not export its data to <systemitem
-      class="filesystem">sysfs</systemitem>.
-      This is most common with third party drivers from outside the kernel
-      tree. Create a static device node in
-      <filename>/lib/udev/devices</filename> with the appropriate major/minor
-      numbers (see the file <filename>devices.txt</filename> inside the kernel
-      documentation or the documentation provided by the third party driver
-      vendor). The static device node will be copied to
-      <filename class="directory">/dev</filename> by the
-      <command>S10udev</command> bootscript.</para>
-
-    </sect3>
-
-    <sect3>
-      <title>Device naming order changes randomly after rebooting</title>
-
-      <para>This is due to the fact that Udev, by design, handles uevents and
-      loads modules in parallel, and thus in an unpredictable order. This will
-      never be <quote>fixed</quote>. You should not rely upon the kernel device
-      names being stable. Instead, create your own rules that make symlinks with
-      stable names based on some stable attributes of the device, such as a
-      serial number or the output of various *_id utilities installed by Udev.
-      See <xref linkend="ch-scripts-symlinks"/> and
-      <xref linkend="ch-scripts-network"/> for examples.</para>
-
-    </sect3>
-
-  </sect2>
-
-  <sect2>
-    <title>Useful Reading</title>
-
-    <para>Additional helpful documentation is available at the following
-    sites:</para>
-
-    <itemizedlist>
-
-      <listitem>
-        <para remap="verbatim">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 remap="verbatim">udev FAQ
-        <ulink url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-FAQ"/></para>
-      </listitem>
-
-      <listitem>
-        <para remap="verbatim">The <systemitem class="filesystem">sysfs</systemitem> Filesystem
-        <ulink url="http://www.kernel.org/pub/linux/kernel/people/mochel/doc/papers/ols-2005/mochel.pdf"/></para>
-      </listitem>
-
-    </itemizedlist>
-
-  </sect2>
-
-</sect1>
Index: BOOK/final-system/common/udev.xml
===================================================================
--- BOOK/final-system/common/udev.xml	(revision faa64670b4482d67c66e709fd92bfbcc7d91b6dc)
+++ BOOK/final-system/common/udev.xml	(revision faa64670b4482d67c66e709fd92bfbcc7d91b6dc)
@@ -0,0 +1,165 @@
+<?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" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-system-udev" role="wrap">
+  <?dbhtml filename="udev.html"?>
+
+  <title>Udev-&udev-version;</title>
+
+  <indexterm zone="ch-system-udev">
+    <primary sortas="a-Udev">Udev</primary>
+    <secondary>boot</secondary>
+  </indexterm>
+
+  <sect2 role="package">
+    <title/>
+
+    <para>The Udev package contains programs for dynamic creation of device
+    nodes.</para>
+
+  </sect2>
+
+  <sect2 role="installation">
+    <title>Installation of Udev</title>
+
+<para os="a">Compile the package:</para>
+
+<screen os="b"><userinput>make CROSS_COMPILE="${CLFS_TARGET}-" CC="${CC}" LD="${CC}"</userinput></screen>
+
+<para os="c">Install the package:</para>
+
+<screen os="d"><userinput>make DESTDIR=${CLFS} install</userinput></screen>
+
+  </sect2>
+
+  <sect2 id="contents-udev" role="content">
+    <title>Contents of Udev</title>
+
+    <segmentedlist>
+      <segtitle>Installed programs</segtitle>
+      <segtitle>Installed directory</segtitle>
+
+      <seglistitem>
+        <seg>udevcontrol, udevd, udevinfo, udevmonitor, udevsend,
+        udevtest, and udevtrigger</seg>
+        <seg>/etc/udev</seg>
+      </seglistitem>
+    </segmentedlist>
+
+    <variablelist>
+      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+      <?dbfo list-presentation="list"?>
+      <?dbhtml list-presentation="table"?>
+
+      <varlistentry id="udevcontrol">
+        <term><command>udevcontrol</command></term>
+        <listitem>
+          <para>Configures a number of options for the running
+          <command>udevd</command> daemon, such as the log level.</para>
+          <indexterm zone="ch-system-udev udevcontrol">
+            <primary sortas="b-udevcontrol">udevcontrol</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="udevd">
+        <term><command>udevd</command></term>
+        <listitem>
+          <para>A daemon that reorders hotplug events before submitting them to
+          <command>udev</command>,
+          thus avoiding various race conditions</para>
+          <indexterm zone="ch-system-udev udevd">
+            <primary sortas="b-udevd">udevd</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="udevinfo">
+        <term><command>udevinfo</command></term>
+        <listitem>
+          <para>Allows users to query the <command>udev</command> database for
+          information on any device currently present on the system; it also
+          provides a way to query any device in the <systemitem
+          class="filesystem">sysfs</systemitem> tree to help create udev
+          rules</para>
+          <indexterm zone="ch-system-udev udevinfo">
+            <primary sortas="b-udevinfo">udevinfo</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="udevmonitor">
+        <term><command>udevmonitor</command></term>
+        <listitem>
+          <para>Prints the event received from the kernel and the event which
+          <command>udev</command> sends out after rule processing</para>
+          <indexterm zone="ch-system-udev udevmonitor">
+            <primary sortas="b-udevmonitor">udevmonitor</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="udevsettle">
+        <term><command>udevsettle</command></term>
+        <listitem>
+          <para>Watches the Udev event queue and exits if all current uevents
+          have been handled</para>
+          <indexterm zone="ch-system-udev udevsettle">
+            <primary sortas="b-udevsettle">udevsettle</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="udevtest">
+        <term><command>udevtest</command></term>
+        <listitem>
+          <para>Simulates a <command>udev</command> run for the given device,
+          and prints out the name of the node the real <command>udev</command>
+          would have created or the name of the renamed network interface</para>
+          <indexterm zone="ch-system-udev udevtest">
+            <primary sortas="b-udevtest">udevtest</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="udevtrigger">
+        <term><command>udevtrigger</command></term>
+        <listitem>
+          <para>Walks the sysfs tree for devices that need to be added to the
+          system.</para>
+          <indexterm zone="ch-system-udev udevtrigger">
+            <primary sortas="b-udevtrigger">udevtrigger</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="etc-udev">
+        <term><filename class="directory">/etc/udev</filename></term>
+        <listitem>
+          <para>Contains <command>udev</command> configuration files,
+          device permissions, and rules for device naming</para>
+          <indexterm zone="ch-system-udev etc-udev">
+            <primary sortas="e-/etc/udev">/etc/udev</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="lib-udev">
+        <term><filename class="directory">/lib/udev</filename></term>
+        <listitem>
+          <para>Contains <command>udev</command> helper programs
+          and static devices which get copied to /dev when booted.</para>
+          <indexterm zone="ch-system-udev lib-udev">
+            <primary sortas="e-/lib/udev">/lib/udev</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+
+  </sect2>
+
+</sect1>
Index: BOOK/final-system/common/variables.xml
===================================================================
--- BOOK/final-system/common/variables.xml	(revision faa64670b4482d67c66e709fd92bfbcc7d91b6dc)
+++ BOOK/final-system/common/variables.xml	(revision faa64670b4482d67c66e709fd92bfbcc7d91b6dc)
@@ -0,0 +1,24 @@
+<?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" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-system-variables">
+  <?dbhtml filename="variables.html"?>
+
+  <title>Build Variables</title>
+
+  <para>Setup target-specific variables for the compiler
+  and linkers:</para>
+
+<screen><userinput>export CC="${CLFS_TARGET}-gcc"
+export CXX="${CLFS_TARGET}-g++"
+export AR="${CLFS_TARGET}-ar"
+export AS="${CLFS_TARGET}-as"
+export RANLIB="${CLFS_TARGET}-ranlib"
+export LD="${CLFS_TARGET}-ld"
+export STRIP="${CLFS_TARGET}-strip"</userinput></screen>
+
+</sect1>
Index: BOOK/final-system/x86-chapter.xml
===================================================================
--- BOOK/final-system/x86-chapter.xml	(revision 492e5a321d6fde92c38430fa8485363081d90749)
+++ BOOK/final-system/x86-chapter.xml	(revision faa64670b4482d67c66e709fd92bfbcc7d91b6dc)
@@ -14,5 +14,7 @@
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/introduction.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/pkgmgt.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/variables.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/busybox.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/udev.xml"/>
 
 </chapter>
