Index: boot/common/udev.xml
===================================================================
--- boot/common/udev.xml	(revision 83ddbcf8fa8ebf439c9b2a102ee611e8a0333f64)
+++ boot/common/udev.xml	(revision c4efa05205e0529da01584865bd3e4b2e7f11e80)
@@ -28,5 +28,6 @@
 
 <screen os="b"><userinput>make CROSS="${LFS_TARGET}-" CC="${CC}" LD="${CC}" \
-    EXTRAS="extras/firmware extras/run_directory"</userinput></screen>
+    EXTRAS="extra/cdrom_id extras/firmware extras/scsi_id extras/volume_id
+            extras/ata_id extras/usb_id extras/edd_id extras/dasd_id" udevdir=/dev</userinput></screen>
 
     <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
@@ -38,11 +39,7 @@
     xpointer="xpointer(//*[@os='g'])"/>
 
-<screen os="h"><userinput>make DESTDIR=${LFS} EXTRAS="extras/firmware extras/run_directory" install</userinput></screen>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../../final-system/common/udev.xml"
-    xpointer="xpointer(//*[@os='j'])"/>
-
-<screen os="k"><userinput>cp -v ../&udev-config-file; ${LFS}/etc/udev/rules.d/25-lfs.rules</userinput></screen>
+<screen os="h"><userinput>make DESTDIR=${LFS}
+    EXTRAS="extra/cdrom_id extras/firmware extras/scsi_id extras/volume_id
+            extras/ata_id extras/usb_id extras/edd_id extras/dasd_id" udevdir=/dev install</userinput></screen>
 
   </sect2>
Index: boot/multilib/udev.xml
===================================================================
--- boot/multilib/udev.xml	(revision 83ddbcf8fa8ebf439c9b2a102ee611e8a0333f64)
+++ boot/multilib/udev.xml	(revision c4efa05205e0529da01584865bd3e4b2e7f11e80)
@@ -28,5 +28,6 @@
 
 <screen os="b"><userinput>make CROSS="${LFS_TARGET}-" CC="${CC} ${BUILD64}" LD="${CC} ${BUILD64}" \
-    EXTRAS="extras/firmware extras/run_directory"</userinput></screen>
+    EXTRAS="extra/cdrom_id extras/firmware extras/scsi_id extras/volume_id
+            extras/ata_id extras/usb_id extras/edd_id extras/dasd_id" udevdir=/dev</userinput></screen>
 
     <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
@@ -42,12 +43,4 @@
     xpointer="xpointer(//*[@os='h'])"/>
 
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/udev.xml"
-    xpointer="xpointer(//*[@os='j'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/udev.xml"
-    xpointer="xpointer(//*[@os='k'])"/>
-
   </sect2>
 
Index: final-system/common/udev.xml
===================================================================
--- final-system/common/udev.xml	(revision 83ddbcf8fa8ebf439c9b2a102ee611e8a0333f64)
+++ final-system/common/udev.xml	(revision c4efa05205e0529da01584865bd3e4b2e7f11e80)
@@ -36,5 +36,6 @@
     <para os="a">Compile the package:</para>
 
-<screen os="b"><userinput>make EXTRAS="extras/firmware extras/run_directory"</userinput></screen>
+<screen os="b"><userinput>make EXTRAS="extra/cdrom_id extras/firmware extras/scsi_id extras/volume_id
+            extras/ata_id extras/usb_id extras/edd_id extras/dasd_id" udevdir=/dev</userinput></screen>
 
     <variablelist os="c">
@@ -42,5 +43,6 @@
 
       <varlistentry>
-      <term><parameter>EXTRAS="extras/firmware extras/run_directory"</parameter></term>
+      <term><parameter>EXTRAS="extra/cdrom_id extras/firmware extras/scsi_id extras/volume_id
+            extras/ata_id extras/usb_id extras/edd_id extras/dasd_id"</parameter></term>
         <listitem>
           <para>This builds the <command>udev_run_devd</command> and
@@ -63,5 +65,7 @@
     <para os="g">Install the package:</para>
 
-<screen os="h"><userinput>make DESTDIR=/ EXTRAS="extras/firmware extras/run_directory" install</userinput></screen>
+<screen os="h"><userinput>make DESTDIR=/ \
+    EXTRAS="extra/cdrom_id extras/firmware extras/scsi_id extras/volume_id
+            extras/ata_id extras/usb_id extras/edd_id extras/dasd_id" udevdir=/dev install</userinput></screen>
 
     <variablelist os="i">
@@ -79,8 +83,8 @@
     </variablelist>
 
-    <para os="j">Udev's configuration is far from ideal by default, so install
-    the configuration file here:</para>
-
-<screen os="k"><userinput>cp -v ../&udev-config-file; /etc/udev/rules.d/25-lfs.rules</userinput></screen>
+    <para os="i">Install necessary helpers.</para>
+
+<screen os="j"><userinput>install -D extras/path_id /sbin/path_id
+install -D extras/eventrecorder.sh /lib/udev/eventrecorder.sh</userinput></screen>
 
     <para os="l">Install the documentation that explains how to create
@@ -88,9 +92,4 @@
 
 <screen os="m"><userinput>install -v -m644 -D docs/writing_udev_rules/index.html /usr/share/doc/udev-&udev-version;/index.html</userinput></screen>
-
-    <para os="n">Run the <command>udevstart</command> program to create our full
-    complement of device nodes.</para>
-
-<screen os="o"><userinput>/sbin/udevstart</userinput></screen>
 
   </sect2>
@@ -104,6 +103,6 @@
 
       <seglistitem>
-        <seg>udev, udevcontrol, udevd, udevinfo, udevmonitor, udevsend,
-        udevstart and udevtest</seg>
+        <seg>udevcontrol, udevd, udevinfo, udevmonitor, udevsend,
+        and udevtest</seg>
         <seg>/etc/udev</seg>
       </seglistitem>
@@ -114,16 +113,4 @@
       <?dbfo list-presentation="list"?>
       <?dbhtml list-presentation="table"?>
-
-      <varlistentry id="udev">
-        <term><command>udev</command></term>
-        <listitem>
-          <para>Creates device nodes in <filename
-          class="directory">/dev</filename> or renames network interfaces (not
-          in LFS) in response to hotplug events</para>
-          <indexterm zone="ch-system-udev udev">
-            <primary sortas="b-udev">udev</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
 
       <varlistentry id="udevcontrol">
@@ -175,29 +162,4 @@
       </varlistentry>
 
-      <varlistentry id="udevsend">
-        <term><command>udevsend</command></term>
-        <listitem>
-          <para>Delivers hotplug events to <command>udevd</command></para>
-          <indexterm zone="ch-system-udev udevsend">
-            <primary sortas="b-udevsend">udevsend</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="udevstart">
-        <term><command>udevstart</command></term>
-        <listitem>
-          <para>Creates device nodes in <filename class="directory">/dev</filename>
-          that correspond to drivers compiled directly into the kernel; it
-          performs that task by simulating hotplug events presumably dropped by
-          the kernel before invocation of this program (e.g., because the root
-          filesystem has not been mounted) and submitting such synthetic hotplug
-          events to <command>udev</command></para>
-          <indexterm zone="ch-system-udev udevstart">
-            <primary sortas="b-udevstart">udevstart</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
       <varlistentry id="udevtest">
         <term><command>udevtest</command></term>
@@ -213,4 +175,84 @@
       </varlistentry>
 
+      <varlistentry id="cdrom_id">
+        <term><command>cdrom_id</command></term>
+        <listitem>
+	  <para>To be written</para>  
+          <indexterm zone="ch-system-udev cdrom_id">
+            <primary sortas="b-cdrom_id">cdrom_id</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="firmware_helper">
+        <term><command>firmware_helper</command></term>
+        <listitem>
+	  <para>To be written</para>  
+          <indexterm zone="ch-system-udev firmware_helper">
+            <primary sortas="b-firmware_helper">firmware_helper</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="scsi_id">
+        <term><command>scsi_id</command></term>
+        <listitem>
+	  <para>To be written</para>  
+          <indexterm zone="ch-system-udev scsi_id">
+            <primary sortas="b-scsi_id">scsi_id</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="volume_id">
+        <term><command>volume_id</command></term>
+        <listitem>
+	  <para>To be written</para>  
+          <indexterm zone="ch-system-udev volume_id">
+            <primary sortas="b-volume_id">volume_id</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="ata_id">
+        <term><command>ata_id</command></term>
+        <listitem>
+	  <para>To be written</para>  
+          <indexterm zone="ch-system-udev ata_id">
+            <primary sortas="b-volume_id">ata_id</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="usb_id">
+        <term><command>usb_id</command></term>
+        <listitem>
+	  <para>To be written</para>  
+          <indexterm zone="ch-system-udev usb_id">
+            <primary sortas="b-usb_id">usb_id</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="edd_id">
+        <term><command>edd_id</command></term>
+        <listitem>
+	  <para>To be written</para>  
+          <indexterm zone="ch-system-udev edd_id">
+            <primary sortas="b-edd_id">edd_id</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="dasd_id">
+        <term><command>dasd_id</command></term>
+        <listitem>
+	  <para>To be written</para>  
+          <indexterm zone="ch-system-udev dasd_id">
+            <primary sortas="b-dasd_id">dasd_id</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
       <varlistentry id="etc-udev">
         <term><filename class="directory">/etc/udev</filename></term>
@@ -224,4 +266,14 @@
       </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>
 
Index: final-system/multilib/udev.xml
===================================================================
--- final-system/multilib/udev.xml	(revision 83ddbcf8fa8ebf439c9b2a102ee611e8a0333f64)
+++ final-system/multilib/udev.xml	(revision c4efa05205e0529da01584865bd3e4b2e7f11e80)
@@ -27,5 +27,6 @@
 
 <screen os="b"><userinput>make CC="gcc ${BUILD64}" LD="gcc ${BUILD64}" \
-    EXTRAS="extras/firmware extras/run_directory" udevdir=/dev</userinput></screen>
+ EXTRAS="extra/cdrom_id extras/firmware extras/scsi_id extras/volume_id
+            extras/ata_id extras/usb_id extras/edd_id extras/dasd_id" udevdir=/dev</userinput></screen>
 
     <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
@@ -63,8 +64,4 @@
     <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     href="../common/udev.xml"
-    xpointer="xpointer(//*[@os='k'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/udev.xml"
     xpointer="xpointer(//*[@os='l'])"/>
 
@@ -73,119 +70,9 @@
     xpointer="xpointer(//*[@os='m'])"/>
 
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/udev.xml"
-    xpointer="xpointer(//*[@os='n'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/udev.xml"
-    xpointer="xpointer(//*[@os='o'])"/>
-
   </sect2>
 
-  <sect2 id="contents-udev" role="content">
-    <title>Contents of Udev</title>
-
-    <segmentedlist>
-      <segtitle>Installed programs</segtitle>
-      <segtitle>Installed directory</segtitle>
-
-      <seglistitem>
-        <seg>udev, udevd, udevsend, udevstart, udevinfo, and udevtest</seg>
-        <seg>/etc/udev</seg>
-      </seglistitem>
-    </segmentedlist>
-
-    <variablelist>
-      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
-      <?dbfo list-presentation="list"?>
-      <?dbhtml list-presentation="table"?>
-
-      <varlistentry id="udev">
-        <term><command>udev</command></term>
-        <listitem>
-          <para>Creates device nodes in <filename
-          class="directory">/dev</filename> or renames network interfaces (not
-          in LFS) in response to hotplug events</para>
-            <indexterm zone="ch-system-udev udev">
-          <primary sortas="b-udev">udev</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="udevsend">
-        <term><command>udevsend</command></term>
-        <listitem>
-          <para>Delivers hotplug events to <command>udevd</command></para>
-            <indexterm zone="ch-system-udev udevsend">
-          <primary sortas="b-udevsend">udevsend</primary>
-        </indexterm>
-      </listitem></varlistentry>
-
-      <varlistentry id="udevstart">
-        <term><command>udevstart</command></term>
-        <listitem>
-          <para>Creates device nodes in <filename class="directory">/dev</filename>
-          that correspond to drivers compiled directly into the kernel; it
-          performs that task by simulating hotplug events presumably dropped by
-          the kernel before invocation of this program (e.g., because the root
-          filesystem has not been mounted) and submitting such synthetic hotplug
-          events to <command>udev</command></para>
-          <indexterm zone="ch-system-udev udevstart">
-            <primary sortas="b-udevstart">udevstart</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="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 (not in LFS) 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="etc-udev">
-        <term><filename class="directory">/etc/udev</filename></term>
-        <listitem>
-          <para>Contains <command>udev</command> configuation 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>
-
-    </variablelist>
-
-  </sect2>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+  href="../common/udev.xml"
+  xpointer="xpointer(id('contents-udev'))"/>
 
 </sect1>
Index: introduction/common/changelog.xml
===================================================================
--- introduction/common/changelog.xml	(revision 83ddbcf8fa8ebf439c9b2a102ee611e8a0333f64)
+++ introduction/common/changelog.xml	(revision c4efa05205e0529da01584865bd3e4b2e7f11e80)
@@ -46,4 +46,7 @@
           <para>[jim] - Removal of Hotplug.</para>
         </listitem>
+        <listitem>
+          <para>[jim] - Updated to Udev 087.</para>
+        </listitem>
       </itemizedlist>
     </listitem>
Index: packages.ent
===================================================================
--- packages.ent	(revision 83ddbcf8fa8ebf439c9b2a102ee611e8a0333f64)
+++ packages.ent	(revision c4efa05205e0529da01584865bd3e4b2e7f11e80)
@@ -263,6 +263,6 @@
 <!ENTITY tree-url "ftp://mama.indstate.edu/linux/tree/tree-&tree-version;.tgz">
 
-<!ENTITY udev-version "076">
-<!ENTITY udev-size "217 KB">
+<!ENTITY udev-version "087">
+<!ENTITY udev-size "186 KB">
 <!ENTITY udev-url "&kernel;linux/utils/kernel/hotplug/udev-&udev-version;.tar.bz2">
 
