Index: appendices/dependencies.xml
===================================================================
--- appendices/dependencies.xml	(revision e9ba8aa85f6fe42e7fe1c8815431702c07fe9172)
+++ appendices/dependencies.xml	(revision f70b664df1faabe31c1e5b545ef679eff15ac868)
@@ -1046,4 +1046,40 @@
       </segmentedlist>
 
+<!-- Begin Kmod dependency info -->
+  <bridgehead renderas="sect2" id="kmod-dep">Kmod</bridgehead>
+
+      <segmentedlist>
+        <segtitle>&dependencies;</segtitle>
+
+        <seglistitem>
+         <seg>Bash, Binutils, Bison, Coreutils, Flex, GCC, Gettext, Glibc,
+         Gzip, Make, Sed, Xz-Utils, Zlib</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&testsuites;</segtitle>
+
+        <seglistitem>
+          <seg>No test suite available</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&before;</segtitle>
+
+        <seglistitem>
+          <seg>Udev</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&external;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
 <!-- Begin Less dependency info -->
   <bridgehead renderas="sect2" id="less-dep">Less</bridgehead>
@@ -1914,5 +1950,5 @@
         <seglistitem>
          <seg>Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep,
-         Make, and Sed</seg>
+         Kmod, Make, and Sed</seg>
         </seglistitem>
       </segmentedlist>
@@ -1938,5 +1974,5 @@
 
         <seglistitem>
-          <seg>None</seg>
+          <seg>Glib, Pci-Utils, Python, Systemd, USB-Utils</seg>
         </seglistitem>
       </segmentedlist>
@@ -2037,5 +2073,5 @@
 
         <seglistitem>
-          <seg>Man-DB</seg>
+          <seg>Kmod, Man-DB, Udev</seg>
         </seglistitem>
       </segmentedlist>
Index: bootscripts/ChangeLog
===================================================================
--- bootscripts/ChangeLog	(revision e9ba8aa85f6fe42e7fe1c8815431702c07fe9172)
+++ bootscripts/ChangeLog	(revision f70b664df1faabe31c1e5b545ef679eff15ac868)
@@ -1,2 +1,7 @@
+2012-01-22  Matt Burgess <matthew@linuxfromscratch.org>
+
+   * lfs/init.d/udev: Change udevd path following upstream changes to its
+                      location
+
 2011-12-23  Matt Burgess <matthew@linuxfromscratch.org>
 
Index: bootscripts/lfs/init.d/udev
===================================================================
--- bootscripts/lfs/init.d/udev	(revision e9ba8aa85f6fe42e7fe1c8815431702c07fe9172)
+++ bootscripts/lfs/init.d/udev	(revision f70b664df1faabe31c1e5b545ef679eff15ac868)
@@ -50,5 +50,5 @@
       # Start the udev daemon to continually watch for, and act on,
       # uevents
-      /sbin/udevd --daemon
+      /lib/udev/udevd --daemon
 
       # Now traverse /sys in order to "coldplug" devices that have
Index: chapter01/changelog.xml
===================================================================
--- chapter01/changelog.xml	(revision e9ba8aa85f6fe42e7fe1c8815431702c07fe9172)
+++ chapter01/changelog.xml	(revision f70b664df1faabe31c1e5b545ef679eff15ac868)
@@ -39,4 +39,16 @@
 
     <listitem>
+      <para>2012-01-22</para>
+      <itemizedlist>
+        <listitem>
+          <para>[matthew] - Upgrade to Udev-178, including adding its new
+          depdendency, Kmod-4. Fixes
+          <ulink url="&lfs-ticket-root;2998">#2998</ulink> and
+          <ulink url="&lfs-ticket-root;3001">#3001</ulink>.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
       <para>2012-01-16</para>
       <itemizedlist>
Index: chapter01/whatsnew.xml
===================================================================
--- chapter01/whatsnew.xml	(revision e9ba8aa85f6fe42e7fe1c8815431702c07fe9172)
+++ chapter01/whatsnew.xml	(revision f70b664df1faabe31c1e5b545ef679eff15ac868)
@@ -114,4 +114,7 @@
     </listitem>-->
     <!--<listitem>
+      <para>Kmod &kmod-version;</para>
+    </listitem>-->
+    <!--<listitem>
       <para>Less &less-version;</para>
     </listitem>-->
@@ -191,7 +194,7 @@
       <para>Texinfo &texinfo-version;</para>
     </listitem>-->
-    <!--<listitem>
+    <listitem>
       <para>Udev &udev-version;</para>
-    </listitem>-->
+    </listitem>
     <!--<listitem>
       <para>&udev-config;</para>
@@ -224,4 +227,8 @@
 
     <listitem>
+      <para>Kmod-&kmod-version;</para>
+    </listitem>
+
+    <listitem>
       <para>&mpfr-fixes-patch;</para>
     </listitem>
Index: chapter03/packages.xml
===================================================================
--- chapter03/packages.xml	(revision e9ba8aa85f6fe42e7fe1c8815431702c07fe9172)
+++ chapter03/packages.xml	(revision f70b664df1faabe31c1e5b545ef679eff15ac868)
@@ -282,4 +282,13 @@
         <para>Download: <ulink url="&kbd-url;"/></para>
         <para>MD5 sum: <literal>&kbd-md5;</literal></para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term>Kmod (&kmod-version;) - <token>&kmod-size;</token>:</term>
+      <listitem>
+        <para>Home page: <ulink url="&kmod-home;"/></para>
+        <para>Download: <ulink url="&kmod-url;"/></para>
+        <para>MD5 sum: <literal>&kmod-md5;</literal></para>
       </listitem>
     </varlistentry>
@@ -569,12 +578,4 @@
 
     <varlistentry>
-      <term>Udev Test Tarball  (&udev-version;) - <token>&udev-testfiles-size;</token>:</term>
-      <listitem>
-        <para>Download: <ulink url="&udev-testfiles-url;"/></para>
-        <para>MD5 sum: <literal>&udev-testfiles-md5;</literal></para>
-      </listitem>
-    </varlistentry>
-
-    <varlistentry>
       <term>Udev Configuration Tarball - <token>&udev-config-size;</token>:</term>
       <listitem>
Index: chapter06/chapter06.xml
===================================================================
--- chapter06/chapter06.xml	(revision e9ba8aa85f6fe42e7fe1c8815431702c07fe9172)
+++ chapter06/chapter06.xml	(revision f70b664df1faabe31c1e5b545ef679eff15ac868)
@@ -59,10 +59,11 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="iproute2.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="kbd.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="xz.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="kmod.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="less.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libpipeline.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="make.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="xz.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="man-db.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module-init-tools.xml"/>
+<!--  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module-init-tools.xml"/> -->
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="patch.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="shadow.xml"/>
Index: chapter06/udev.xml
===================================================================
--- chapter06/udev.xml	(revision e9ba8aa85f6fe42e7fe1c8815431702c07fe9172)
+++ chapter06/udev.xml	(revision f70b664df1faabe31c1e5b545ef679eff15ac868)
@@ -33,8 +33,7 @@
       <seglistitem>
         <seg>&udev-ch6-sbu;</seg>
-        <seg>&udev-ch6-du; plus &udev-testfiles-du; for testfiles</seg>
+        <seg>&udev-ch6-du;</seg>
       </seglistitem>
     </segmentedlist>
-
   </sect2>
 
@@ -42,10 +41,4 @@
     <title>Installation of Udev</title>
 
-    <para>Optionally remove an unneeded warning message that shows up in this
-    version of udev at boot time.</para>
-
-<screen><userinput remap="pre">sed -i -e '/deprecated/d' udev/udevadm-trigger.c</userinput></screen>
-
-
     <para>The udev-config tarball contains LFS-specific files used to configure
     Udev. Unpack it into the Udev source directory:</para>
@@ -53,10 +46,4 @@
 <screen><userinput remap="pre">tar -xvf ../&udev-config;.tar.bz2</userinput></screen>
 
-    <para>The udev-testfiles tarball contains files needed to test udev. The 
-    file expands to an apparent size of about 37MB but the actual disk usage
-    is less than 7MB.</para>
-
-<screen><userinput remap="pre">tar -xvf ../udev-&udev-version;-testfiles.tar.bz2 --strip-components=1</userinput></screen>
-
     <para>Create some devices and directories that Udev cannot handle due to
     them being required very early in the boot process, or by Udev itself:</para>
@@ -68,31 +55,21 @@
 
 <!-- Note that "libdir=/usr/lib64" would be required for multilib. -->
-<screen><userinput remap="configure">./configure --prefix=/usr \
-    --sysconfdir=/etc --sbindir=/sbin \
-    --with-rootlibdir=/lib --libexecdir=/lib/udev \
-    --disable-hwdb --disable-introspection \
-    --disable-keymap --disable-gudev</userinput></screen>
+<screen><userinput remap="configure">BLKID_CFLAGS="-I/usr/include/blkid" BLKID_LIBS="-L/lib -lblkid" \
+  KMOD_CFLAGS="-I/usr/include" KMOD_LIBS="-L/lib -lkmod" ./configure \
+  --prefix=/usr --bindir=/sbin --sysconfdir=/etc --libexecdir=/lib \
+  --enable-rule_generator --disable-introspection --disable-keymap \
+  --disable-gudev --with-usb-ids-path=no --with-pci-ids-path=no \
+  --with-systemdsystemunitdir=no</userinput></screen>
 
     <variablelist>
       <title>The meaning of the new configure options</title>
 
-      <varlistentry>
-        <term><parameter>--with-rootlibdir=/lib</parameter></term>
-        <listitem>
-          <para>This controls where the <filename
-          class="libraryfile">libudev</filename> library is installed.  The
-          library needs to be in <filename class="directory">/lib</filename>
-          because it's used by Udev at boot time, before <filename
-          class="directory">/usr</filename> might be available, and the default
-          --rootlibdir is <filename class="directory">/usr/lib</filename>.</para>
-        </listitem>
-      </varlistentry>
-
-      <!-- Note that libexecdir *MUST* stay /lib/udev, even on a 64-bit
-           / multilib system where udev is compiled for 64-bit.  Other
-           packages require this exact path; the udev maintainers have
+      <!-- Note that libexecdir *MUST* stay /lib, even on a 64-bit
+           / multilib system where udev is compiled for 64-bit.  The udev
+           configure system automatically adds "udev" onto this path, and other
+           packages require /lib/udev; the udev maintainers have
            said this is part of the udev API. -->
       <varlistentry>
-        <term><parameter>--libexecdir=/lib/udev</parameter></term>
+        <term><parameter>--libexecdir=/lib</parameter></term>
         <listitem>
           <para>This controls where Udev-internal rules and helper programs
@@ -102,5 +79,13 @@
 
       <varlistentry>
-        <term><parameter>--disable-*</parameter></term>
+        <term><parameter>--enable-rule_generator</parameter></term>
+        <listitem>
+          <para>This allows persistent rules to be generated for network and
+          optical media devices</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><parameter>--disable-* and --with-*</parameter></term>
         <listitem>
           <para>These options prevent Udev from installing helper programs and
Index: chapter06/xz.xml
===================================================================
--- chapter06/xz.xml	(revision e9ba8aa85f6fe42e7fe1c8815431702c07fe9172)
+++ chapter06/xz.xml	(revision f70b664df1faabe31c1e5b545ef679eff15ac868)
@@ -47,5 +47,5 @@
     <para>Prepare Xz for compilation with:</para>
 
-<screen><userinput remap="configure">./configure --prefix=/usr --docdir=/usr/share/doc/xz-&xz-version;</userinput></screen>
+<screen><userinput remap="configure">./configure --prefix=/usr --libdir=/lib --docdir=/usr/share/doc/xz-&xz-version;</userinput></screen>
 
     <para>Compile the package:</para>
Index: general.ent
===================================================================
--- general.ent	(revision e9ba8aa85f6fe42e7fe1c8815431702c07fe9172)
+++ general.ent	(revision f70b664df1faabe31c1e5b545ef679eff15ac868)
@@ -1,4 +1,4 @@
-<!ENTITY version "SVN-20120116">
-<!ENTITY releasedate "Jan 16, 2012">
+<!ENTITY version "SVN-20120122">
+<!ENTITY releasedate "Jan 22, 2012">
 <!ENTITY copyrightdate "1999-2012"><!-- jhalfs needs a literal dash, not &ndash; -->
 <!ENTITY milestone "7.1">
Index: packages.ent
===================================================================
--- packages.ent	(revision e9ba8aa85f6fe42e7fe1c8815431702c07fe9172)
+++ packages.ent	(revision f70b664df1faabe31c1e5b545ef679eff15ac868)
@@ -290,4 +290,12 @@
 <!ENTITY kbd-ch6-sbu "less than 0.1 SBU">
 
+<!ENTITY kmod-version "4">
+<!ENTITY kmod-size "318 KB">
+<!ENTITY kmod-url "http://packages.profusion.mobi/kmod/kmod-&kmod-version;.tar.xz">
+<!ENTITY kmod-md5 "e14450a066a48accd0af1995b3c0232d">
+<!ENTITY kmod-home " ">
+<!ENTITY kmod-ch6-du "16.0 MB">
+<!ENTITY kmod-ch6-sbu "less than 0.1 SBU">
+
 <!ENTITY less-version "444">
 <!ENTITY less-size "301 KB">
@@ -298,5 +306,5 @@
 <!ENTITY less-ch6-sbu "less than 0.1 SBU">
 
-<!ENTITY lfs-bootscripts-version "20120116">                 <!-- Scripts depend on this format -->
+<!ENTITY lfs-bootscripts-version "20120122">                 <!-- Scripts depend on this format -->
 <!ENTITY lfs-bootscripts-size "BOOTSCRIPTS-SIZE KB">         <!-- Updated in Makefile -->
 <!ENTITY lfs-bootscripts-url "&downloads-root;lfs-bootscripts-&lfs-bootscripts-version;.tar.bz2">
@@ -520,16 +528,11 @@
 <!ENTITY texinfo-ch6-sbu "0.3 SBU">
 
-<!ENTITY udev-version "173">
-<!ENTITY udev-size "594 KB">
-<!ENTITY udev-url "&anduin-sources;udev/udev-&udev-version;.tar.bz2">
-<!ENTITY udev-md5 "91a88a359b60bbd074b024883cc0dbde">
+<!ENTITY udev-version "178">
+<!ENTITY udev-size "676 KB">
+<!ENTITY udev-url "&kernel;linux/utils/kernel/udev-&udev-version;.tar.xz">
+<!ENTITY udev-md5 "173cc6061e3a82dd6e9a1a5cf767a858">
 <!ENTITY udev-home "&kernel;linux/utils/kernel/hotplug/udev.html">
 <!ENTITY udev-ch6-du "9.3 MB">
 <!ENTITY udev-ch6-sbu "0.2 SBU">
-
-<!ENTITY udev-testfiles-url "http://anduin.linuxfromscratch.org/sources/other/udev-&udev-version;-testfiles.tar.bz2">
-<!ENTITY udev-testfiles-size "152 KB">
-<!ENTITY udev-testfiles-md5 "d97f80f6a70cd97f0519b14f15e3e195">
-<!ENTITY udev-testfiles-du "37 MB">
 
 <!ENTITY udev-config "udev-config-20100128"> <!-- Scripts depend on this format -->
