Index: chapter06/chapter06.xml
===================================================================
--- chapter06/chapter06.xml	(revision 3bb463d33d713d262b4864d8d3c6af08e25c77aa)
+++ chapter06/chapter06.xml	(revision 964103cbdc01d6b47028c20602840efab91d4e21)
@@ -32,3 +32,8 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gcc-pass2.xml"/>
 
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="util-linux.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="grub.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="kernel.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="grub-cfg.xml"/>
+
 </chapter>
Index: chapter06/gcc-pass2.xml
===================================================================
--- chapter06/gcc-pass2.xml	(revision 3bb463d33d713d262b4864d8d3c6af08e25c77aa)
+++ chapter06/gcc-pass2.xml	(revision 964103cbdc01d6b47028c20602840efab91d4e21)
@@ -55,12 +55,11 @@
 mv -v mpc-&mpc-version; mpc</userinput></screen>
 
-    <para>If building on x86_64, change the default directory name for 64-bit
-    libraries to <quote>lib</quote>:</para>
+    <para>For x86_64 target, set the default directory name for
+    64-bit libraries to <quote>lib</quote>.  The command is unnecessary,
+    but harmless for 32-bit x86.  If you are building for another target,
+    you may need to adjust the command for your target.</para>
 
-<screen><userinput remap="pre">case $(uname -m) in
-  x86_64)
-    sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64
-  ;;
-esac</userinput></screen>
+<screen><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
+    -i.orig gcc/config/i386/t-linux64</userinput></screen>
 
     <!-- https://gcc.gnu.org/PR100017 -->
Index: chapter06/grub-cfg.xml
===================================================================
--- chapter06/grub-cfg.xml	(revision 964103cbdc01d6b47028c20602840efab91d4e21)
+++ chapter06/grub-cfg.xml	(revision 964103cbdc01d6b47028c20602840efab91d4e21)
@@ -0,0 +1,215 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-bootable-temp" role="wrap">
+  <?dbhtml filename="grub-cfg.html"?>
+
+  <sect1info condition="script">
+    <productname>grub</productname>
+    <productnumber>&grub-version;</productnumber>
+    <address>&grub-url;</address>
+  </sect1info>
+
+  <title>Making the Temporary System Bootable</title>
+
+  <sect2>
+    <title>Introduction</title>
+
+    <para>In a normal LFS building procedure, we will chroot into the
+    temporary system and continue to build additional temporary tools.
+    But, as we've explained, in the Cross Edition we need to make the
+    temporary system bootable and boot it on the target system.</para>
+  </sect2>
+
+  <sect2>
+    <title>Creating the GRUB Configuration File</title>
+
+    <para>Generate <filename>$LFS/boot/grub/grub.cfg</filename>:</para>
+
+    <screen><userinput>cat &gt; $LFS/boot/grub/grub.cfg &lt;&lt; "EOF"
+<literal># Begin /boot/grub/grub.cfg
+set default=0
+set timeout=5
+
+menuentry "LFS Temporary System" {
+        linux   /vmlinux root=/dev/sda3 rw init=/bin/bash
+        boot
+}</literal>
+EOF</userinput></screen>
+
+    <variablelist>
+      <title>The meaning of the linux command options:</title>
+
+      <varlistentry>
+        <term><parameter>root=/dev/sda3</parameter></term>
+        <listitem>
+          <para>We will use the third parition as the partition for the
+          root filesystem of the LFS system.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><parameter>rw</parameter></term>
+        <listitem>
+          <para>Tell the kernel to mount the root filesystem read-write.
+          In normal distros there is <parameter>ro</parameter> instead, so
+          the kernel will mount the root filesystem read-only.  Then
+          the <command>init</command> process can check the filesystem
+          integrity and remount it read-write.  For the temporary system
+          it's not needed.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><parameter>init=/bin/bash</parameter></term>
+        <listitem>
+          <para>By default the kernel runs <command>/sbin/init</command>
+          as the first process.  It's provided by SysVinit or Systemd
+          package, which is not installed yet.  We explicitly tell the
+          kernel to run <command>/bin/bash</command> instead to start a
+          shell, so we can run further commands interactively.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>(optional) <parameter>console=ttyS0,115200</parameter></term>
+        <listitem>
+          <para>Use the serial port at <filename>/dev/ttyS0</filename> as
+          the output console device.  It's very useful if the virtual
+          console is not avaliable (for example, the target system may lack
+          graphic output, or the framebuffer console may be too slow).
+          And, by connecting the host system and the target system with a
+          NULL modem or USB serial converter, it will be able to copy the
+          commands from the book and paste it into a terminal emulator
+          (for example,
+          <ulink url='&blfs-book;general/screen.html'>GNU Screen</ulink>)
+          on the host, to execute them on the target system.
+          <parameter>115200</parameter> specifies the baudrate, the default
+          (9600) is too slow for large amount of console output building
+          LFS.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+
+    <note><para>From <application>GRUB</application>'s perspective, the
+    kernel files are relative to the partition used.  We will use a
+    a separate /boot partition, so /boot is not needed in the above
+    <emphasis>linux</emphasis> line.
+    </para></note>
+
+   </sect2>
+
+   <sect2>
+     <title>Copy the Temporary System to the Target Machine</title>
+
+     <note>
+       <para>The commands in the subsection must be performed on the host
+       system while logged in as user
+       <systemitem class="username">root</systemitem>
+       and no longer as user <systemitem class="username">lfs</systemitem>.
+       Also, double check that <envar>$LFS</envar> is set in <systemitem
+       class="username">root</systemitem>'s environment.</para>
+     </note>
+
+     <para>Now it's the time to copy the
+     <filename class="directory">$LFS</filename> hierarchy over to your
+     target machine.  You'll need a <quote>moveable</quote> device for this.
+     Using a normal USB stick is likely a bad choice: the USB sticks are
+     generally not optimized for reading or writing many small files
+     (which will happen building packages from source). Especially, if a
+     ext filesystem is used, the performance can be very bad.  You may use
+     a USB to SATA adapter and a HDD or SSD (then you can directly connect
+     it onto the SATA port of the target system, or continuing to use the
+     adapter on a USB port of the target system), or a USB stick with an I/O
+     controller for SSD (these USB sticks are significantly more expansive
+     than a normal one).</para>
+
+     <para>Create a GUID partition table on the device, and then create
+	 three partitions on it. The first will be used as the BIOS boot
+     partition, 1 MB is sufficient enough.  But if you want to use EFI to
+     boot your LFS system later, assign 100 MB for it so it will be possible
+     to convert it into an EFI system partition. The second partition will
+     be used as the boot partition, 500 MB is sufficient enough.  The third
+     will be the root partition, it should be at least 20 GB.</para>
+
+     <para>Create filesystems for the partitions:</para>
+
+<screen><userinput role='nodump'>mkfs.ext4 /dev/<replaceable>sdx</replaceable>2
+mkfs.ext4 /dev/<replaceable>sdx</replaceable>3</userinput></screen>
+
+     <para>
+       It's not needed to create a filesystem for the BIOS boot partition.
+       But, its type should be set to <quote>BIOS boot</quote> in
+       the partition table using <command>fdisk</command>:
+     </para>
+
+<screen role="nodump"><userinput>fdisk /dev/<replaceable>sdx</replaceable></userinput>
+<literal>
+Welcome to fdisk (util-linux &util-linux-version;).
+Changes will remain in memory only, until you decide to write them.
+Be careful before using the write command.
+
+
+Command (m for help): </literal><userinput>t</userinput>
+<literal>Partition number (1-9, default 9): </literal><userinput>1</userinput>
+<literal>Partition type or alias (type L to list all): </literal><userinput>BIOS boot</userinput>
+<literal>Changed type of partition 'Linux' to 'BIOS boot'.
+
+Command (m for help): </literal><userinput>w</userinput>
+<literal>The partition table has been altered.
+Calling ioctl() to re-read partition table.
+Syncing disks.</literal></screen>
+
+     <para>In <xref linkend="ch-tools-cleanup"/> it's optional to make a
+     backup for the temporary system.  If you'd like to do so, prepare
+     another parition (1 GB should be enough) and make an
+     <systemitem class="filesystem">ext4</systemitem> filesystem to hold
+     the backup:</para>
+
+<screen><userinput role='nodump'>mkfs.ext4 /dev/<replaceable>sdx4</replaceable></userinput></screen>
+
+     <para><replaceable>sdx</replaceable> should be replaced with the name
+     of the device node corresponding to your moveable device. Then mount
+     the filesystems:</para>
+
+<screen><userinput role='nodump'>mkdir -pv /mnt/lfs-target
+mount -v -t ext4 /dev/<replaceable>sdx</replaceable>3 /mnt/lfs-target
+mkdir -pv /mnt/lfs-target/boot
+mount -v -t ext4 /dev/<replaceable>sdx</replaceable>2 /mnt/lfs-target/boot</userinput></screen>
+
+     <para>Copy the temporary system onto the device, and change the
+     ownership of the copy to user
+     <systemitem class="username">root</systemitem>:</para>
+
+<screen><userinput role='nodump'>cp -av $LFS/* /mnt/lfs-target
+chown -R root:root /mnt/lfs-target</userinput></screen>
+
+     <para>Install the bootloader onto the device:</para>
+
+<screen><userinput role='nodump'>$LFS/tools/sbin/lfs-grub-install          \
+    --target=i386-pc                      \
+    --boot-directory=/mnt/lfs-target/boot \
+    /dev/<replaceable>sdx</replaceable></userinput></screen>
+
+     <para>Create the mountpoint for
+     <systemitem class="filesystem">devtmpfs</systemitem>, so the kernel
+     will mount it automatically:</para>
+
+<screen><userinput role='nodump'>install -v -dm755 /mnt/lfs-target/dev</userinput></screen>
+
+     <para>Now, unmount the device:</para>
+
+<screen><userinput role='nodump'>umount -Rv /mnt/lfs-target</userinput></screen>
+
+     <para>Now unplug the device and connect it onto the target system,
+     and boot the target system with this device as the boot device.
+     Read the manual from the vendor of the target system to know how to
+     select the boot device.</para>
+
+  </sect2>
+
+</sect1>
Index: chapter06/grub.xml
===================================================================
--- chapter06/grub.xml	(revision 964103cbdc01d6b47028c20602840efab91d4e21)
+++ chapter06/grub.xml	(revision 964103cbdc01d6b47028c20602840efab91d4e21)
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-tools-grub" role="wrap">
+  <?dbhtml filename="grub.html"?>
+
+  <sect1info condition="script">
+    <productname>grub</productname>
+    <productnumber>&grub-version;</productnumber>
+    <address>&grub-url;</address>
+  </sect1info>
+
+  <title>GRUB-&grub-version;</title>
+
+  <indexterm zone="ch-tools-grub">
+    <primary sortas="a-Grub">GRUB</primary>
+    <secondary>tools</secondary>
+  </indexterm>
+
+  <sect2 role="package">
+    <title/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../chapter08/grub.xml"
+    xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
+
+    <segmentedlist>
+      <segtitle>&buildtime;</segtitle>
+      <segtitle>&diskspace;</segtitle>
+
+      <seglistitem>
+        <seg>&grub-tmp-sbu;</seg>
+        <seg>&grub-tmp-du;</seg>
+      </seglistitem>
+    </segmentedlist>
+
+  </sect2>
+
+  <sect2 role="installation">
+    <title>Installation of GRUB</title>
+
+    <para>Prepare GRUB for compilation:</para>
+
+<screen><userinput remap="configure">./configure --prefix=$LFS/tools               \
+            --build=$(build-aux/config.guess) \
+            --host=$(build-aux/config.guess)  \
+            --target=$LFS_TGT                 \
+            --program-prefix=lfs-             \
+            --disable-werror</userinput></screen>
+
+    <variablelist>
+      <title>The meaning of the new configure options:</title>
+
+      <varlistentry>
+        <term><parameter>--build=..., --host=..., and --target=$LFS_TGT</parameter></term>
+        <listitem>
+          <para>This allows the build to generate GRUB utilities running on
+          the host system, but generating the bootloader files for $LFS_TGT.
+          Then we can use the bootloader files to boot the temporary system
+          on the target machine.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><parameter>--program-prefix=lfs-</parameter></term>
+        <listitem>
+          <para>This ensures that the installed programs have
+          <literal>lfs-</literal> prepended to their names, to better
+          distinguish them from the GRUB installation of the host
+          distro.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><parameter>--disable-werror</parameter></term>
+        <listitem>
+          <para>This allows the build to complete with warnings introduced
+          by more recent Flex versions.</para>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+    <para>Compile the package:</para>
+
+<screen><userinput remap="make">make</userinput></screen>
+
+    <para>Install the package:</para>
+
+<screen><userinput remap="install">make install</userinput></screen>
+
+  </sect2>
+
+  <sect2 role="content">
+    <title/>
+
+    <para>Details on this package are located in
+    <xref linkend="contents-gRUB" role="."/></para>
+
+  </sect2>
+
+</sect1>
Index: chapter06/kernel.xml
===================================================================
--- chapter06/kernel.xml	(revision 964103cbdc01d6b47028c20602840efab91d4e21)
+++ chapter06/kernel.xml	(revision 964103cbdc01d6b47028c20602840efab91d4e21)
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-tools-kernel" role="wrap">
+  <?dbhtml filename="kernel.html"?>
+
+  <sect1info condition="script">
+    <productname>kernel</productname>
+    <productnumber>&linux-version;</productnumber>
+    <address>&linux-url;</address>
+  </sect1info>
+
+  <title>Linux-&linux-version;</title>
+
+  <indexterm zone="ch-tools-kernel">
+    <primary sortas="a-Linux">Linux</primary>
+    <secondary>tools</secondary>
+  </indexterm>
+
+  <sect2 role="package">
+    <title/>
+
+    <para>The Linux package contains the Linux kernel.</para>
+
+    <segmentedlist>
+      <segtitle>&buildtime;</segtitle>
+      <segtitle>&diskspace;</segtitle>
+
+      <seglistitem>
+        <seg>&linux-tmp-sbu;</seg>
+        <seg>&linux-tmp-du;</seg>
+      </seglistitem>
+    </segmentedlist>
+
+  </sect2>
+
+  <sect2 role="installation">
+    <title>Installation of the kernel</title>
+
+    <para>Building the kernel involves a few steps&mdash;configuration,
+    compilation, and installation. Read the <filename>README</filename> file
+    in the kernel source tree for alternative methods to the way this book
+    configures the kernel.</para>
+
+    <para>Prepare for compilation by running the following command:</para>
+
+<screen><userinput remap="pre">make mrproper</userinput></screen>
+
+    <para>This ensures that the kernel tree is absolutely clean. The
+    kernel team recommends that this command be issued prior to each
+    kernel compilation. Do not rely on the source tree being clean after
+    un-tarring.</para>
+
+    <para>There are several ways to configure the kernel options. Usually,
+    This is done through a menu-driven interface, for example:</para>
+
+<screen role="nodump"><userinput>make ARCH=<replaceable>x86</replaceable> CROSS_COMPILE=$LFS_TGT- menuconfig</userinput></screen>
+
+    <variablelist>
+      <title>The meaning of make environment variables:</title>
+
+      <varlistentry>
+        <term><command>ARCH=x86</command></term>
+        <listitem>
+          <para>Configure the kernel for running on the target machine.
+          Replace <replaceable>x86</replaceable> with a value suitable
+          for your target machine if it's not a 32-bit or 64-bit x86.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><command>CROSS_COMPILE=$LFS_TGT-</command></term>
+        <listitem>
+          <para>Build the kernel with Binutils and GCC built in
+          <xref linkend='chapter-cross-tools'/>.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><command>menuconfig</command></term>
+        <listitem>
+          <para>This launches an ncurses menu-driven interface. For other
+          (graphical) interfaces, type <command>make help</command>.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>(optional) <parameter>LANG=&lt;host_LANG_value&gt; LC_ALL=</parameter></term>
+        <listitem>
+          <para>This establishes the locale setting to the one used on the
+          host.  This may be needed for a proper menuconfig ncurses interface
+          line drawing on a UTF-8 linux text console.</para>
+
+          <para>If used, be sure to replace
+          <replaceable>&lt;host_LANG_value&gt;</replaceable> by the value of
+          the <envar>$LANG</envar> variable from your host.  You can
+          alternatively use instead the host's value of <envar>$LC_ALL</envar>
+          or <envar>$LC_CTYPE</envar>.</para>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+    <note>
+    
+      <para>A good starting place for setting up the kernel configuration is to
+      run <command>make ARCH=x86 CROSS_COMPILE=$LFS_TGT- defconfig</command>. This will set the base
+      configuration to a good state that takes your target system architecture
+      into account.</para>
+
+    </note>
+
+      <para>Read <xref linkend='ch-bootable-kernel'/> for more information
+      about kernel configuration.  You should enable or disable some kernel
+      configuration options now:</para>
+
+    <variablelist>
+      <title>Kernel configuration options and explanation:</title>
+
+      <varlistentry>
+        <term>Set <parameter>CONFIG_MODULES=n</parameter></term>
+        <listitem>
+          <para>Modular kernel needs <command>modprobe</command> tool from
+          <application>Kmod</application> to load modules, which is not
+          installed in the temporary system.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>Set <parameter>CONFIG_EXTRA_FIRMWARE="<replaceable>a.bin b.bin</replaceable>"</parameter></term>
+        <listitem>
+          <para>Build firmware blobs into the kernel.  Some drivers may
+          require the firmwares to be in-kernel if the driver is not built
+          as module.</para>
+          <note>
+            <para>
+              The kernel binaries with third-party blobs are not
+              distributable.  If you distribute such a kernel binary to
+              others, you may violate GPL.  It's recommended to remove the
+              temporary kernel image after you've successfully boot your LFS
+              system with the new kernel image, which will be installed in
+              <xref linkend="ch-bootable-kernel"/>.
+            </para>
+          </note>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>Set <parameter>CONFIG_EXTRA_FIRMWARE_DIR="<replaceable>$LFS</replaceable>/lib/firmware"</parameter></term>
+        <listitem>
+          <para>The building system will search
+          <filename class="directory">/lib/firmware</filename> for firmware
+          blobs in <parameter>CONFIG_EXTRA_FIRMWARE</parameter>.  Note that
+          you'll need to install the needed firmwares into
+          <filename class="directory">$LFS/lib/firmware</filename> first,
+          and manually replace <envar>$LFS</envar> with the value in
+          configuration.  The firmwares in
+          <filename class="directory">$LFS/lib/filename</filename> will be
+          copied to the target machine along with the system, so kernel and
+          kernel modules which will be built in
+          <xref linkend="ch-bootable-kernel"/> can load them without
+          <parameter>CONFIG_EXTRA_FIRMWARE</parameter>.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>Set <parameter>CONFIG_EXT2=y</parameter>,
+                  <parameter>CONFIG_EXT4=y</parameter>,
+              and <parameter>CONFIG_VFAT_FS=y</parameter></term>
+        <listitem>
+          <para>They are needed to access the filesystems we'll make for the
+          target system.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>Set <parameter>CONFIG_MODULE_SIG=n</parameter>,
+                  <parameter>CONFIG_SECURITY=n</parameter>,
+              and <parameter>CONFIG_STACK_VALIDATION=n</parameter></term>
+        <listitem>
+          <para>They are unneeded for the temporary kernel, and they need
+          additional dependencies which may be unavailable on the host
+          distro. You can enable them building the kernel for the final LFS
+          system in Chapter 10 if you need these features.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+
+    <para>Compile the kernel image:</para>
+
+<screen><userinput remap="make">make ARCH=x86 CROSS_COMPILE=$LFS_TGT-</userinput></screen>
+
+    <para>Install the kernel image into the
+    <filename class="directory">$LFS/boot</filename> directory:</para>
+
+  <screen><userinput remap="install">install -vm644 vmlinux $LFS/boot/vmlinux</userinput></screen>
+
+  </sect2>
+
+  <sect2 role="content">
+    <title/>
+
+    <para>Details on this package are located in
+    <xref linkend="contents-kernel" role="."/></para>
+
+  </sect2>
+
+</sect1>
Index: chapter06/util-linux.xml
===================================================================
--- chapter06/util-linux.xml	(revision 964103cbdc01d6b47028c20602840efab91d4e21)
+++ chapter06/util-linux.xml	(revision 964103cbdc01d6b47028c20602840efab91d4e21)
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-tools-mount-setsid" role="wrap">
+  <?dbhtml filename="util-linux.html"?>
+
+  <sect1info condition="script">
+    <productname>util-linux</productname>
+    <productnumber>&util-linux-version;</productnumber>
+    <address>&util-linux-url;</address>
+  </sect1info>
+
+  <title>Programs from Util-linux-&util-linux-version;</title>
+
+  <indexterm zone="ch-tools-mount-setsid">
+    <primary sortas="a-mount-setsid">programs from util-linux</primary>
+    <secondary>tools</secondary>
+  </indexterm>
+
+  <sect2 role="package">
+    <title/>
+
+    <para><command>agetty</command>, <command>mount</command>, and
+    <command>setsid</command> are utilities in
+    <application>Util-Linux</application>.  We need them to
+    set up the environment once we boot the temporary system.</para>
+
+    <segmentedlist>
+      <segtitle>&buildtime;</segtitle>
+      <segtitle>&diskspace;</segtitle>
+
+      <seglistitem>
+        <seg>&mount-setsid-sbu;</seg>
+        <seg>&mount-setsid-du;</seg>
+      </seglistitem>
+    </segmentedlist>
+
+  </sect2>
+
+  <sect2 role="installation">
+    <title>Installation of agetty, setsid and mount</title>
+
+    <para>Prepare Util-linux for compilation:</para>
+
+<screen><userinput remap="configure">./configure --build=$(config/config.guess) --host=$LFS_TGT --disable-shared</userinput></screen>
+
+    <variablelist>
+      <title>The meaning of the configure option:</title>
+
+      <varlistentry>
+        <term><parameter>--disable-shared</parameter></term>
+        <listitem>
+          <para>We do not need to install any of the shared libraries at
+          this time, therefore there is no need to build them.</para>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+    <para>We only need three tools from the package now, build them:</para>
+
+<screen><userinput remap="make">make agetty mount setsid</userinput></screen>
+
+    <para>Install the tools:</para>
+
+<screen><userinput remap="install">install -vm755 agetty       $LFS/usr/sbin
+install -vm755 mount setsid $LFS/usr/bin</userinput></screen>
+
+  </sect2>
+
+  <sect2 role="content">
+    <title/>
+
+    <para>Details on this package are located in
+    <xref linkend="contents-utillinux" role="."/></para>
+
+  </sect2>
+
+</sect1>
