r2182 - / trunk/BOOK/bootscripts trunk/BOOK/bootscripts/common trunk/BOOK/introduction/common

jim at linuxfromscratch.org jim at linuxfromscratch.org
Mon Aug 7 08:47:06 PDT 2006


Author: jim
Date: 2006-08-07 09:47:04 -0600 (Mon, 07 Aug 2006)
New Revision: 2182

Added:
   trunk/BOOK/bootscripts/common/symlinks.xml
Modified:
   /
   trunk/BOOK/bootscripts/alpha-chapter.xml
   trunk/BOOK/bootscripts/common/network.xml
   trunk/BOOK/bootscripts/common/udev.xml
   trunk/BOOK/bootscripts/mips-chapter.xml
   trunk/BOOK/bootscripts/mips64-chapter.xml
   trunk/BOOK/bootscripts/ppc-chapter.xml
   trunk/BOOK/bootscripts/ppc64-chapter.xml
   trunk/BOOK/bootscripts/sparc-chapter.xml
   trunk/BOOK/bootscripts/sparc64-chapter.xml
   trunk/BOOK/bootscripts/x86-chapter.xml
   trunk/BOOK/bootscripts/x86_64-chapter.xml
   trunk/BOOK/introduction/common/changelog.xml
Log:
 r5009 at server (orig r2307):  chris at beaker67.com | 2006-08-07 08:05:06 -0700
 Updated udev text



Property changes on: 
___________________________________________________________________
Name: svk:merge
   - b6734a72-470d-0410-b049-f317dca95413:/:2306
   + b6734a72-470d-0410-b049-f317dca95413:/:2307

Modified: trunk/BOOK/bootscripts/alpha-chapter.xml
===================================================================
--- trunk/BOOK/bootscripts/alpha-chapter.xml	2006-08-07 15:46:49 UTC (rev 2181)
+++ trunk/BOOK/bootscripts/alpha-chapter.xml	2006-08-07 15:47:04 UTC (rev 2182)
@@ -23,6 +23,7 @@
   <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"/>
 
 </chapter>

Modified: trunk/BOOK/bootscripts/common/network.xml
===================================================================
--- trunk/BOOK/bootscripts/common/network.xml	2006-08-07 15:46:49 UTC (rev 2181)
+++ trunk/BOOK/bootscripts/common/network.xml	2006-08-07 15:47:04 UTC (rev 2182)
@@ -24,6 +24,92 @@
   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 > /etc/udev/rules.d/26-network.rules << 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 > /etc/udev/rules.d/26-network.rules << 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>
     <title>Creating Network Interface Configuration Files</title>
 
     <para>Which interfaces are brought up and down by the network script
@@ -32,11 +118,11 @@
     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>
+    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 <filename class="devicefile">eth0</filename> device:</para>
+    file for the <emphasis>eth0</emphasis> device:</para>
 
 <screen><userinput>cd /etc/sysconfig/network-devices &&
 mkdir -v ifconfig.eth0 &&
@@ -49,34 +135,33 @@
 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 brought up.</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 CLFS-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>
+    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>
+    <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>
 
@@ -88,11 +173,12 @@
     </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>
+    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

Added: trunk/BOOK/bootscripts/common/symlinks.xml
===================================================================
--- trunk/BOOK/bootscripts/common/symlinks.xml	                        (rev 0)
+++ trunk/BOOK/bootscripts/common/symlinks.xml	2006-08-07 15:47:04 UTC (rev 2182)
@@ -0,0 +1,141 @@
+<?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 >/etc/udev/rules.d/82-cdrom.rules << 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=="block" 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 >/etc/udev/rules.d/82-cdrom.rules << 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}=="cd" 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 >/etc/udev/rules.d/83-duplicate_devs.rules << 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>

Modified: trunk/BOOK/bootscripts/common/udev.xml
===================================================================
--- trunk/BOOK/bootscripts/common/udev.xml	2006-08-07 15:46:49 UTC (rev 2181)
+++ trunk/BOOK/bootscripts/common/udev.xml	2006-08-07 15:47:04 UTC (rev 2182)
@@ -1,14 +1,14 @@
 <?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">
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
 ]>
 
 <sect1 id="ch-scripts-udev">
   <?dbhtml filename="udev.html"?>
 
-  <title>Device and Module Handling on an LFS System</title>
+  <title>Device and Module Handling on a CLFS System</title>
 
   <indexterm zone="ch-scripts-udev">
     <primary sortas="a-Udev">Udev</primary>
@@ -130,7 +130,7 @@
       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 LFS-Bootscripts package. If
+      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
@@ -154,7 +154,7 @@
       <filename>/sys/bus/pci/devices/0000:00:0d.0/modalias</filename> file
       might contain the string
       <quote>pci:v00001319d00000801sv00001319sd00001319bc04sc01i00</quote>.
-      The rules that LFS installs will cause <command>udevd</command> to call
+      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),
@@ -280,7 +280,7 @@
       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 LFS Development list if you do so and it
+      file. Please notify the CLFS Development list if you do so and it
       helps.</para>
 
     </sect3>

Modified: trunk/BOOK/bootscripts/mips-chapter.xml
===================================================================
--- trunk/BOOK/bootscripts/mips-chapter.xml	2006-08-07 15:46:49 UTC (rev 2181)
+++ trunk/BOOK/bootscripts/mips-chapter.xml	2006-08-07 15:47:04 UTC (rev 2182)
@@ -23,6 +23,7 @@
   <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"/>
 
 </chapter>

Modified: trunk/BOOK/bootscripts/mips64-chapter.xml
===================================================================
--- trunk/BOOK/bootscripts/mips64-chapter.xml	2006-08-07 15:46:49 UTC (rev 2181)
+++ trunk/BOOK/bootscripts/mips64-chapter.xml	2006-08-07 15:47:04 UTC (rev 2182)
@@ -23,6 +23,7 @@
   <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"/>
 
 </chapter>

Modified: trunk/BOOK/bootscripts/ppc-chapter.xml
===================================================================
--- trunk/BOOK/bootscripts/ppc-chapter.xml	2006-08-07 15:46:49 UTC (rev 2181)
+++ trunk/BOOK/bootscripts/ppc-chapter.xml	2006-08-07 15:47:04 UTC (rev 2182)
@@ -23,6 +23,7 @@
   <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"/>
 
 </chapter>

Modified: trunk/BOOK/bootscripts/ppc64-chapter.xml
===================================================================
--- trunk/BOOK/bootscripts/ppc64-chapter.xml	2006-08-07 15:46:49 UTC (rev 2181)
+++ trunk/BOOK/bootscripts/ppc64-chapter.xml	2006-08-07 15:47:04 UTC (rev 2182)
@@ -23,6 +23,7 @@
   <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"/>
 
 </chapter>

Modified: trunk/BOOK/bootscripts/sparc-chapter.xml
===================================================================
--- trunk/BOOK/bootscripts/sparc-chapter.xml	2006-08-07 15:46:49 UTC (rev 2181)
+++ trunk/BOOK/bootscripts/sparc-chapter.xml	2006-08-07 15:47:04 UTC (rev 2182)
@@ -23,6 +23,7 @@
   <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"/>
 
 </chapter>

Modified: trunk/BOOK/bootscripts/sparc64-chapter.xml
===================================================================
--- trunk/BOOK/bootscripts/sparc64-chapter.xml	2006-08-07 15:46:49 UTC (rev 2181)
+++ trunk/BOOK/bootscripts/sparc64-chapter.xml	2006-08-07 15:47:04 UTC (rev 2182)
@@ -23,6 +23,7 @@
   <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"/>
 
 </chapter>

Modified: trunk/BOOK/bootscripts/x86-chapter.xml
===================================================================
--- trunk/BOOK/bootscripts/x86-chapter.xml	2006-08-07 15:46:49 UTC (rev 2181)
+++ trunk/BOOK/bootscripts/x86-chapter.xml	2006-08-07 15:47:04 UTC (rev 2182)
@@ -23,6 +23,7 @@
   <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"/>
 
 </chapter>

Modified: trunk/BOOK/bootscripts/x86_64-chapter.xml
===================================================================
--- trunk/BOOK/bootscripts/x86_64-chapter.xml	2006-08-07 15:46:49 UTC (rev 2181)
+++ trunk/BOOK/bootscripts/x86_64-chapter.xml	2006-08-07 15:47:04 UTC (rev 2182)
@@ -23,6 +23,7 @@
   <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"/>
 
 </chapter>

Modified: trunk/BOOK/introduction/common/changelog.xml
===================================================================
--- trunk/BOOK/introduction/common/changelog.xml	2006-08-07 15:46:49 UTC (rev 2181)
+++ trunk/BOOK/introduction/common/changelog.xml	2006-08-07 15:47:04 UTC (rev 2182)
@@ -37,6 +37,17 @@
 -->
 
     <listitem>
+      <para>August 7, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[Chris] - Updated udev explanatory text in the book and added
+          "Custom Symlinks" page, taken from LFS. Thanks to Alexander Patrakov
+          for the updated text (fixes ticket #75).</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
       <para>August 3, 2006</para>
       <itemizedlist>
         <listitem>




More information about the cross-lfs mailing list