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: [EMAIL PROTECTED] (orig r2307): [EMAIL PROTECTED] | 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> -- http://linuxfromscratch.org/mailman/listinfo/cross-lfs FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
