diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index da795a9e6..2dcb0ae66 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -44,6 +44,28 @@
     <listitem revision="sysv"> or <listitem revision="systemd"> as
     appropriate for the entry or if needed the entire day's listitem.
        -->
+    <listitem arch="ml_32,ml_x32,ml_all">
+      <para>2020-02-24</para>
+      <itemizedlist>
+        <listitem arch="ml_32,ml_x32,ml_all">
+          <para>[thomas] - Add description to glibc configuration in Chapter 5.
+            Thanks to Kevin Buckley.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem arch="ml_32,ml_x32,ml_all">
+      <para>2020-02-21</para>
+      <itemizedlist>
+        <listitem arch="ml_32,ml_x32,ml_all">
+          <para>[thomas] - Update to isl-0.22.1.</para>
+        </listitem>
+        <listitem arch="ml_32,ml_x32,ml_all">
+          <para>[thomas] - Upgrade to linux-firmware-20200219</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
     <listitem revision="systemd">
       <para>2020-02-16</para>
       <itemizedlist>
@@ -344,7 +366,7 @@
       </itemizedlist>
     </listitem>
 
-    <listitem revision="sysv">
+    <listitem arch="ml_32,ml_x32,ml_all">
       <para>2019-12-02</para>
       <itemizedlist>
         <listitem arch="ml_32,ml_x32,ml_all">
diff --git a/chapter05/binutils-pass2.xml b/chapter05/binutils-pass2.xml
index 8ff9d3574..86204df45 100644
--- a/chapter05/binutils-pass2.xml
+++ b/chapter05/binutils-pass2.xml
@@ -114,10 +114,16 @@ RANLIB=$LFS_TGT-ranlib         \
       <varlistentry>
         <term><parameter>--with-sysroot</parameter></term>
         <listitem>
-          <para>The sysroot feature enables the linker to find shared objects
-          which are required by other shared objects explicitly included on the
-          linker's command line. Without this, some packages may not build
-          successfully on some hosts.</para>
+          <para>This defines a default (non-existent) sysroot directory
+          <filename class="directory">/tools/$LFS_TGT/sys-root</filename>.
+          It is useful when looking for shared objects which are required by
+          other shared objects explicitly included on the linker's command
+          line. Those objects are searched into the directories listed in
+          <filename>&lt;sysroot&gt;/etc/ld.so.conf</filename>, and failing
+          that, into the linker search path, which is right. If this switch
+          is not given, <filename>/etc/ld.so.conf</filename> on the host
+          is used, that is, programs may be linked to libraries on
+          the host, which we want to avoid.</para>
         </listitem>
       </varlistentry>
 
diff --git a/chapter05/gcc-pass1.xml b/chapter05/gcc-pass1.xml
index 04427880f..12eb0ff51 100644
--- a/chapter05/gcc-pass1.xml
+++ b/chapter05/gcc-pass1.xml
@@ -140,10 +140,12 @@ esac</userinput></screen>
     <!-- Following patch might be obsolete with gcc >= 8.2.1 -->
     <!-- see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86724 -->
     <!-- Fix applied in ch5-gcc-pass{1,2}, ch6-gcc -->
+<!--
     <para arch="ml_32,ml_x32,ml_all">Fix an issue with isl-&isl-version;:</para>
 
 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e "/#include &lt;isl\/schedule_node.h&gt;/ a#include &lt;isl/id.h&gt;\n#include &lt;isl/space.h&gt;" \
     -i gcc/graphite.h</userinput></screen>
+-->
 
     <para>The GCC documentation recommends building GCC 
     in a dedicated build directory:</para>
diff --git a/chapter05/gcc-pass2.xml b/chapter05/gcc-pass2.xml
index 2ad8fe4e3..8947bc991 100644
--- a/chapter05/gcc-pass2.xml
+++ b/chapter05/gcc-pass2.xml
@@ -122,10 +122,12 @@ tar -xf ../isl-&isl-version;.tar.xz
 mv -v isl-&isl-version; isl</userinput></screen>
 
     <!-- Following patch might be obsolete with gcc >= 8.2.1 --> 
+<!--
     <para arch="ml_32,ml_x32,ml_all">Fix an issue with isl-&isl-version;:</para>
 
 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e "/#include &lt;isl\/schedule_node.h&gt;/ a#include &lt;isl/id.h&gt;\n#include &lt;isl/space.h&gt;" \
     -i gcc/graphite.h</userinput></screen>
+-->
 
     <para>
       Now fix a problem introduced by Glibc-2.31:
diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml
index ed19f960d..7cf862545 100644
--- a/chapter05/glibc.xml
+++ b/chapter05/glibc.xml
@@ -216,15 +216,42 @@ RANLIB="${LFS_TGT}-ranlib"        \
              --build=$(../scripts/config.guess) \
              --host=${LFS_TGT32}                \
              --enable-kernel=&min-kernel;             \
+             --with-headers=/tools/include      \
+             --with-binutils=/tools/bin         \
              --enable-multi-arch                \
              --libdir=/tools/lib32              \
-             --libexecdir=/tools/lib32          \
-             --with-headers=/tools/include      \
-             --with-binutils=/tools/bin</userinput></screen>
+             --libexecdir=/tools/lib32</userinput></screen>
 <!--                      \
              libc_cv_forced_unwind=yes          \
              libc_cv_c_cleanup=yes</userinput></screen> -->
 
+    <variablelist>
+      <title>The meaning of the extra configure options:</title>
+
+      <varlistentry>
+        <term><parameter>--enable-multi-arch</parameter></term>
+        <listitem>
+          <para>Enables glibc for multiarch environments.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><parameter>--libdir=/tools/lib32, --libexecdir=/tools/lib32</parameter></term>
+        <listitem>
+          <para>Overrides location for installing 32-bit files.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><parameter>--with-binutils=/tools/bin</parameter></term>
+        <listitem>
+          <para>This tells Glibc to compile itself against the utilities
+          found within our "tools" heirachy, because otherwise...</para>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
     <para>Now compile the 32-bit version of glibc:</para>
 <screen><userinput remap="make">make</userinput></screen>
 
@@ -234,8 +261,7 @@ install -vdm755 /tools/lib32
 cp -Rv DESTDIR/tools/lib32/* /tools/lib32
 install -vm644 DESTDIR/tools/include/gnu/{lib-names,stubs}-32.h \
                /tools/include/gnu/
-ln -svf /tools/lib32/ld-linux.so.2 /tools/lib/
-cd ..</userinput></screen>
+ln -svf /tools/lib32/ld-linux.so.2 /tools/lib/</userinput></screen>
 
   </sect2>
 
@@ -243,8 +269,8 @@ cd ..</userinput></screen>
     <title>Installation of Glibc x32-bit</title>
 
     <para>Create a build directory for redoing glibc for x32-bit:</para>
-<screen><userinput remap="pre">mkdir build32x
-cd build32x</userinput></screen>
+<screen><userinput remap="pre">mkdir ../build32x
+cd ../build32x</userinput></screen>
 
     <para>Rebuild glibc for x32-bit:</para>
 <screen><userinput remap="configure">echo slibdir=/tools/libx32 &gt; configparms
@@ -257,15 +283,42 @@ RANLIB="${LFS_TGT}-ranlib"        \
              --build=$(../scripts/config.guess) \
              --host=${LFS_TGTX32}               \
              --enable-kernel=&min-kernel;             \
+             --with-headers=/tools/include      \
+             --with-binutils=/tools/bin         \
              --enable-multi-arch                \
              --libdir=/tools/libx32             \
-             --libexecdir=/tools/libx32         \
-             --with-headers=/tools/include      \
-             --with-binutils=/tools/bin</userinput></screen>
+             --libexecdir=/tools/libx32</userinput></screen>
 <!--                      \
              libc_cv_forced_unwind=yes          \
              libc_cv_c_cleanup=yes</userinput></screen> -->
 
+    <variablelist>
+      <title>The meaning of the extra configure options:</title>
+
+      <varlistentry>
+        <term><parameter>--enable-multi-arch</parameter></term>
+        <listitem>
+          <para>Enables glibc for multiarch environments.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><parameter>--libdir=/tools/libx32, --libexecdir=/tools/libx32</parameter></term>
+        <listitem>
+          <para>Overrides location for installing x32-bit files.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><parameter>--with-binutils=/tools/bin</parameter></term>
+        <listitem>
+          <para>This tells Glibc to compile itself against the utilities
+          found within our "tools" heirachy, because otherwise...</para>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
     <para>Now compile the x32-bit version of glibc:</para>
 <screen><userinput remap="make">make</userinput></screen>
 
diff --git a/chapter05/libstdc++.xml b/chapter05/libstdc++.xml
index 6c3b3d27b..42a304bfe 100644
--- a/chapter05/libstdc++.xml
+++ b/chapter05/libstdc++.xml
@@ -82,8 +82,8 @@ cd       build</userinput></screen>
       <varlistentry>
         <term><parameter>--disable-libstdcxx-threads</parameter></term>
         <listitem>
-          <para>Since we have not yet built the C threads library, the C++
-          one cannot be built either.</para>
+          <para>Since gcc-pass1 is built without thread support, the C++
+          thread library cannot be built either.</para>
         </listitem>
       </varlistentry>
 
diff --git a/chapter06/createfiles.xml b/chapter06/createfiles.xml
index 5c3705095..42d1ec1fe 100644
--- a/chapter06/createfiles.xml
+++ b/chapter06/createfiles.xml
@@ -46,9 +46,9 @@ ln -sv /tools/lib/libstdc++.{a,so{,.6}}             /usr/lib
 
 ln -sv bash /bin/sh</userinput></screen>
 
-  <para arch="ml_32,ml_x32,ml_all">32-bit builds also require these links:</para>
+  <para arch="ml_32,ml_all">32-bit builds also require these links:</para>
 
-<screen arch="ml_32,ml_x32,ml_all"><userinput arch="ml_32,ml_all">ln -sv /tools/lib32/libgcc_s.so{,.1}               /usr/lib32
+<screen arch="ml_32,ml_all"><userinput arch="ml_32,ml_all">ln -sv /tools/lib32/libgcc_s.so{,.1}               /usr/lib32
 ln -sv /tools/lib32/libstdc++.{a,so{,.6}}          /usr/lib32</userinput></screen>
 
   <para arch="ml_x32,ml_all">x32-bit builds also require these links:</para>
diff --git a/chapter06/gcc.xml b/chapter06/gcc.xml
index fb3650471..a5becfd75 100644
--- a/chapter06/gcc.xml
+++ b/chapter06/gcc.xml
@@ -64,10 +64,12 @@ esac</userinput></screen>
 <screen><userinput remap="pre">rm -f /usr/lib/gcc</userinput></screen>
 
     <!-- Following patch might be obsolete with gcc >= 8.2.1 --> 
+<!--
     <para>Fix an issue with isl-&isl-version;:</para>
 
 <screen><userinput remap="pre">sed -e "/#include &lt;isl\/schedule_node.h&gt;/ a#include &lt;isl/id.h&gt;\n#include &lt;isl/space.h&gt;" \
     -i gcc/graphite.h</userinput></screen>
+-->
 
    <para>
       As in gcc-pass2, fix a problem introduced by Glibc-2.31:
diff --git a/packages.ent b/packages.ent
index a4cb0ec0b..2dc0f4de9 100644
--- a/packages.ent
+++ b/packages.ent
@@ -357,10 +357,10 @@
 <!ENTITY iproute2-ch6-du "14 MB">
 <!ENTITY iproute2-ch6-sbu "0.2 SBU">
 
-<!ENTITY isl-version "0.22">
+<!ENTITY isl-version "0.22.1">
 <!ENTITY isl-size "1.6 MB">
 <!ENTITY isl-url "http://isl.gforge.inria.fr/isl-&isl-version;.tar.xz">
-<!ENTITY isl-md5 "ce103a7924ef31f1ff47b7ac868f434b">
+<!ENTITY isl-md5 "6e124849a9b62e3e2d5d51e955323f6e">
 <!ENTITY isl-home "http://isl.gforge.inria.fr/">
 <!ENTITY isl-ch6-du "20 MB">
 <!ENTITY isl-ch6-sbu "0.1 SBU">
@@ -449,13 +449,15 @@
 <!ENTITY linux-headers-ch6-du "1 GB">
 <!ENTITY linux-headers-ch6-sbu "0.1 SBU">
 
-<!ENTITY linux-firmware-version "20191026">
-<!ENTITY linux-firmware-size "91,572 KB">
+<!ENTITY linux-firmware-version "20200219">
+<!ENTITY linux-firmware-size "107 MB">
 <!ENTITY linux-firmware-url "http://www.linuxfromscratch.org/~dj/linux-firmware-&linux-firmware-version;.tar.xz">
-<!ENTITY linux-firmware-md5 "079dcff9c13cccddb40cbfc392f7a790">
+<!ENTITY linux-firmware-md5 "6f0bc3f1daa494c4c4c7c7578da92030">
 <!ENTITY linux-firmware-home "http://www.kernel.org/">
-<!ENTITY linux-firmware-ch6-du "582 MB">
-<!ENTITY linux-firmware-ch6-sbu "0.1 SBU">
+<!ENTITY linux-firmware-ch5-du "520 MB">
+<!ENTITY linux-firmware-ch5-sbu "0.1 SBU">
+<!ENTITY linux-firmware-ch6-du "&linux-firmware-ch5-du;">
+<!ENTITY linux-firmware-ch6-sbu "&linux-firmware-ch5-sbu;">
 
 <!ENTITY m4-version "1.4.18">
 <!ENTITY m4-size "1,180 KB">