diff -Naur origjhalfs/CLFS/clfs.xsl jhalfs/CLFS/clfs.xsl
--- origjhalfs/CLFS/clfs.xsl	2012-02-02 21:06:47.000000000 -0700
+++ jhalfs/CLFS/clfs.xsl	2012-02-03 07:22:56.000000000 -0700
@@ -216,9 +216,9 @@
           </xsl:otherwise>
         </xsl:choose>
       </xsl:when>
-      <!-- Fixing toolchain test suites run -->
+      <!-- Fixing toolchain test suites run XXX more to fix -->
       <xsl:when test="string() = 'make check' or
-                string() = 'make -k check'">
+                contains(string(), 'make -k check')">
         <xsl:choose>
           <xsl:when test="$testsuite != '0'">
             <xsl:choose>
@@ -283,6 +283,9 @@
       <xsl:when test="ancestor::sect1[@id='ch-system-glibc']">
         <xsl:value-of select="$timezone"/>
       </xsl:when>
+      <xsl:when test="ancestor::sect1[@id='ch-system-eglibc']">
+        <xsl:value-of select="$timezone"/>
+      </xsl:when>
       <xsl:when test="ancestor::sect1[@id='ch-system-groff']">
         <xsl:value-of select="$page"/>
       </xsl:when>
diff -Naur origjhalfs/CLFS/master.sh jhalfs/CLFS/master.sh
--- origjhalfs/CLFS/master.sh	2012-02-02 21:06:47.000000000 -0700
+++ jhalfs/CLFS/master.sh	2012-02-03 14:13:39.000000000 -0700
@@ -225,6 +225,7 @@
     pkg_tarball=$(get_package_tarball_name $name)
 
     # This is very ugly:: util-linux is in /chroot but must be run under LUSER
+    # Same for e2fsprogs (in CLFS 1.1.0)
     # .. Customized makefile entry
     case "${this_script}" in
       *util-linux)
@@ -236,6 +237,42 @@
          wrt_touch
          temptools="$temptools $this_script"
          continue ;;
+      *util-linux-ng)
+         LUSER_wrt_target "${this_script}" "$PREV"
+         LUSER_wrt_unpack "$pkg_tarball"
+         [[ "$OPTIMIZE" = "2" ]] &&  wrt_optimize "$name" && wrt_makeflags "$name"
+         LUSER_wrt_RunAsUser "${file}"
+         LUSER_RemoveBuildDirs "${name}"
+         wrt_touch
+         temptools="$temptools $this_script"
+         continue ;;
+      *util-linux-libs)
+         LUSER_wrt_target "${this_script}" "$PREV"
+         LUSER_wrt_unpack "$pkg_tarball"
+         [[ "$OPTIMIZE" = "2" ]] &&  wrt_optimize "$name" && wrt_makeflags "$name"
+         LUSER_wrt_RunAsUser "${file}"
+         LUSER_RemoveBuildDirs "${name}"
+         wrt_touch
+         temptools="$temptools $this_script"
+         continue ;;
+      *e2fsprogs)
+         LUSER_wrt_target "${this_script}" "$PREV"
+         LUSER_wrt_unpack "$pkg_tarball"
+         [[ "$OPTIMIZE" = "2" ]] &&  wrt_optimize "$name" && wrt_makeflags "$name"
+         LUSER_wrt_RunAsUser "${file}"
+         LUSER_RemoveBuildDirs "${name}"
+         wrt_touch
+         temptools="$temptools $this_script"
+         continue ;;
+      *e2fsprogs-libs)
+         LUSER_wrt_target "${this_script}" "$PREV"
+         LUSER_wrt_unpack "$pkg_tarball"
+         [[ "$OPTIMIZE" = "2" ]] &&  wrt_optimize "$name" && wrt_makeflags "$name"
+         LUSER_wrt_RunAsUser "${file}"
+         LUSER_RemoveBuildDirs "${name}"
+         wrt_touch
+         temptools="$temptools $this_script"
+         continue ;;
      esac
 
 
@@ -518,7 +555,7 @@
       CHROOT_Unpack "$pkg_tarball"
       # If the testsuites must be run, initialize the log file
       case $name in
-        binutils | gcc | glibc )
+        binutils | gcc | glibc | eglibc )
           [[ "$TEST" != "0" ]] && CHROOT_wrt_test_log "${this_script}"
           ;;
         * )
@@ -634,6 +671,84 @@
 }
 
 #--------------------------------------#
+network_Makefiles() {                  #
+#--------------------------------------#
+
+  if [[ "${METHOD}" = "chroot" ]]; then
+    echo "${tab_}${GREEN}Processing... ${L_arrow}(chroot) network   ( CHROOT ) ${R_arrow}"
+  else
+    echo "${tab_}${GREEN}Processing... ${L_arrow}(boot) network     ( ROOT ) ${R_arrow}"
+  fi
+
+  for file in network/* ; do
+    # Keep the script file name
+    this_script=`basename $file`
+
+    case $this_script in
+      *choose)   continue ;; # This is not a script but a commentary. 
+      *dhcp)    continue ;; # Assume static networking.
+      *dhcpcd)    continue ;; # Assume static networking.
+      *)  ;;
+    esac
+
+    # First append each name of the script files to a list (this will become
+    # the names of the targets in the Makefile
+    networktools="$networktools $this_script"
+
+    # Grab the name of the target, strip id number, XXX-script
+    name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@'\
+                                  -e 's@-64bit@@' \
+                                  -e 's@-64@@' \
+                                  -e 's@64@@' \
+                                  -e 's@n32@@'`
+    case $name in
+      *network*) name=network-cross-lfs ;;
+    esac
+
+    pkg_tarball=$(get_package_tarball_name $name)
+
+    #--------------------------------------------------------------------#
+    #         >>>>>>>> START BUILDING A Makefile ENTRY <<<<<<<<          #
+    #--------------------------------------------------------------------#
+    #
+    # Drop in the name of the target on a new line, and the previous target
+    # as a dependency. Also call the echo_message function.
+    CHROOT_wrt_target "${this_script}" "$PREV"
+    #
+    # If $pkg_tarball isn't empty, we've got a package...
+    #
+    if [ "$pkg_tarball" != "" ] ; then
+      if [ "${INSTALL_LOG}" = "y" ] ; then
+        CHROOT_wrt_LogNewFiles "$name"
+      fi
+      CHROOT_Unpack "$pkg_tarball"
+    fi
+    #
+    CHROOT_wrt_RunAsRoot "${file}"
+    #
+    # Write installed files log and remove the build directory(ies)
+    # except if the package build fails.
+    if [ "$pkg_tarball" != "" ] ; then
+      CHROOT_wrt_RemoveBuildDirs "$name"
+      if [ "${INSTALL_LOG}" = "y" ] ; then
+        CHROOT_wrt_LogNewFiles "$name"
+      fi
+    fi
+    #
+    # Include a touch of the target name so make can check if it's already been made.
+    wrt_touch
+    #
+    #--------------------------------------------------------------------#
+    #              >>>>>>>> END OF Makefile ENTRY <<<<<<<<               #
+    #--------------------------------------------------------------------#
+    #
+    # Keep the script file name for Makefile dependencies.
+    PREV=$this_script
+
+  done  # for file in network/* ...
+}
+
+#--------------------------------------#
 bootable_Makefiles() {                 #
 #--------------------------------------#
 
@@ -756,6 +871,9 @@
     # Add the iterations targets, if needed
   [[ "$COMPARE" = "y" ]] && wrt_compare_targets
   bootscripts_Makefiles          # mk_BOOTSCRIPT (CHROOT) $bootscripttools
+  if [ -d network ]; then 
+     network_Makefiles           # If present, process network setup.
+  fi
   bootable_Makefiles             # mk_BOOTABLE   (CHROOT) $bootabletools
 
   # Add the CUSTOM_TOOLS targets, if needed
diff -Naur origjhalfs/CLFS2/clfs2.xsl jhalfs/CLFS2/clfs2.xsl
--- origjhalfs/CLFS2/clfs2.xsl	2012-02-02 21:06:48.000000000 -0700
+++ jhalfs/CLFS2/clfs2.xsl	2012-02-03 07:22:56.000000000 -0700
@@ -71,7 +71,8 @@
               <xsl:text>set -e&#xA;</xsl:text>
             </xsl:if>
             <xsl:text>&#xA;</xsl:text>
-            <xsl:if test="sect2[@role='installation']">
+            <xsl:if test="sect2[@role='installation'] and
+                          not(@id='ch-cross-tools-sysroot-wrapper')">
               <xsl:text>cd $PKGDIR&#xA;</xsl:text>
               <xsl:if test="@id='ch-system-vim' and $vim-lang = 'y'">
                 <xsl:text>tar -xvf ../vim-&vim-version;-lang.* --strip-components=1&#xA;</xsl:text>
@@ -138,6 +139,9 @@
       <xsl:when test="ancestor::sect1[@id='ch-cross-tools-glibc']">
         <xsl:value-of select="$timezone"/>
       </xsl:when>
+      <xsl:when test="ancestor::sect1[@id='ch-cross-tools-eglibc']">
+        <xsl:value-of select="$timezone"/>
+      </xsl:when>
       <xsl:when test="ancestor::sect1[@id='ch-cross-tools-groff'] or
                       ancestor::sect1[@id='ch-system-groff']">
         <xsl:value-of select="$page"/>
diff -Naur origjhalfs/common/libs/func_wrt_Makefile jhalfs/common/libs/func_wrt_Makefile
--- origjhalfs/common/libs/func_wrt_Makefile	2012-02-02 21:06:48.000000000 -0700
+++ jhalfs/common/libs/func_wrt_Makefile	2012-02-03 19:34:37.000000000 -0700
@@ -71,6 +71,8 @@
    case $script_name in
      tcl) echo $(grep "^tcl" $JHALFSDIR/pkg_tarball_list | head -n1 )
          ;;
+     iputils) echo $(grep "^iputils" $JHALFSDIR/pkg_tarball_list | head -n1 )
+         ;;
      powerpc-utils) echo $(grep "^powerpc-utils" $JHALFSDIR/pkg_tarball_list | head -n1 )
          ;;
      uClibc)
@@ -85,12 +87,17 @@
            # Uses kernel headers directly
            echo $(grep "^linux-[[:digit:]]" $JHALFSDIR/pkg_tarball_list | head -n1 )
          else
-           # CLFS{2,3} use massaged headers package
-           echo $(grep "^linux-headers-[[:digit:]]" $JHALFSDIR/pkg_tarball_list | head -n1 )
+           # CLFS{2,3} used to use massaged headers package
+           # echo $(grep "^linux-headers-[[:digit:]]" $JHALFSDIR/pkg_tarball_list | head -n1 )
+           echo $(grep "^linux-[[:digit:]]" $JHALFSDIR/pkg_tarball_list | head -n1 )
          fi
          ;;
      expect) echo $(grep "^expect" $JHALFSDIR/pkg_tarball_list | head -n1 )
          ;;
+     e2fsprogs-libs) echo $(grep "^e2fsprogs" $JHALFSDIR/pkg_tarball_list | head -n1 )
+         ;;
+     util-linux-libs) echo $(grep "^util-linux" $JHALFSDIR/pkg_tarball_list | head -n1 )
+         ;;
      xz-utils) echo $(grep "^xz" $JHALFSDIR/pkg_tarball_list | head -n1 )
 	 ;;
      sqlite) echo $(grep "^sqlite" $JHALFSDIR/pkg_tarball_list | head -n1 )
diff -Naur origjhalfs/Config.in jhalfs/Config.in
--- origjhalfs/Config.in	2012-02-02 21:06:48.000000000 -0700
+++ jhalfs/Config.in	2012-02-03 07:22:56.000000000 -0700
@@ -260,7 +260,7 @@
 		default	"hppa1.1-unknown-linux-gnu"	if  PROC_hppa1
 		default	"hppa2.0-unknown-linux-gnu"	if  PROC_hppa2
 
-		default	"arm-unknown-linux-gnu"		if  ARCH_ARM && BOOK_CLFS2
+		default	"arm-unknown-linux-gnueabi"	if  ARCH_ARM && BOOK_CLFS2
 
 		default "arm-unknown-linux-uclibc"	if  PROC_ARM
 		default "armv5l-unknown-linux-uclibc"	if  PROC_ARM5L
