aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06
diff options
context:
space:
mode:
Diffstat (limited to 'chapter06')
-rw-r--r--chapter06/aboutdebug.sgml69
-rw-r--r--chapter06/autoconf-inst.sgml17
-rw-r--r--chapter06/autoconf.sgml7
-rw-r--r--chapter06/automake-inst.sgml16
-rw-r--r--chapter06/automake.sgml7
-rw-r--r--chapter06/bash-inst.sgml33
-rw-r--r--chapter06/bash.sgml7
-rw-r--r--chapter06/bashprofile.sgml38
-rw-r--r--chapter06/bin86-inst.sgml16
-rw-r--r--chapter06/bin86.sgml7
-rw-r--r--chapter06/binutils-inst.sgml16
-rw-r--r--chapter06/binutils.sgml7
-rw-r--r--chapter06/bison-exp.sgml10
-rw-r--r--chapter06/bison-inst.sgml45
-rw-r--r--chapter06/bison.sgml9
-rw-r--r--chapter06/bzip2-exp.sgml12
-rw-r--r--chapter06/bzip2-inst.sgml40
-rw-r--r--chapter06/bzip2.sgml8
-rw-r--r--chapter06/chapter6.sgml62
-rw-r--r--chapter06/chroot.sgml32
-rw-r--r--chapter06/cofnig-ldso.sgml0
-rw-r--r--chapter06/config-glibc.sgml88
-rw-r--r--chapter06/config-ldso.sgml43
-rw-r--r--chapter06/config-lilo.sgml46
-rw-r--r--chapter06/config-shadowpwd.sgml34
-rw-r--r--chapter06/config-sysklogd.sgml27
-rw-r--r--chapter06/config-sysvinit.sgml43
-rw-r--r--chapter06/config-vim.sgml24
-rw-r--r--chapter06/configure.sgml19
-rw-r--r--chapter06/consoledata-inst.sgml24
-rw-r--r--chapter06/consoledata.sgml7
-rw-r--r--chapter06/consoletools-inst.sgml31
-rw-r--r--chapter06/consoletools.sgml7
-rw-r--r--chapter06/create-password.sgml16
-rw-r--r--chapter06/create-utmp.sgml28
-rw-r--r--chapter06/createdeventries.sgml36
-rw-r--r--chapter06/creatingdev.sgml10
-rw-r--r--chapter06/diffutils-inst.sgml17
-rw-r--r--chapter06/diffutils.sgml7
-rw-r--r--chapter06/e2fsprogs-inst.sgml24
-rw-r--r--chapter06/e2fsprogs.sgml7
-rw-r--r--chapter06/ed-inst.sgml18
-rw-r--r--chapter06/ed.sgml9
-rw-r--r--chapter06/file-inst.sgml18
-rw-r--r--chapter06/file.sgml8
-rw-r--r--chapter06/fileutils-inst.sgml19
-rw-r--r--chapter06/fileutils.sgml7
-rw-r--r--chapter06/findutils-inst.sgml23
-rw-r--r--chapter06/findutils.sgml8
-rw-r--r--chapter06/flex-inst.sgml17
-rw-r--r--chapter06/flex.sgml7
-rw-r--r--chapter06/gcc-inst.sgml25
-rw-r--r--chapter06/gcc.sgml8
-rw-r--r--chapter06/gettext-inst.sgml18
-rw-r--r--chapter06/gettext.sgml7
-rw-r--r--chapter06/grep-inst.sgml17
-rw-r--r--chapter06/grep.sgml7
-rw-r--r--chapter06/groff-inst.sgml17
-rw-r--r--chapter06/groff.sgml8
-rw-r--r--chapter06/gzip-inst.sgml24
-rw-r--r--chapter06/gzip.sgml7
-rw-r--r--chapter06/introduction.sgml14
-rw-r--r--chapter06/ldso-inst.sgml40
-rw-r--r--chapter06/ldso.sgml7
-rw-r--r--chapter06/less-inst.sgml17
-rw-r--r--chapter06/less.sgml8
-rw-r--r--chapter06/libtool-inst.sgml17
-rw-r--r--chapter06/libtool.sgml7
-rw-r--r--chapter06/lilo-inst.sgml30
-rw-r--r--chapter06/lilo.sgml7
-rw-r--r--chapter06/m4-inst.sgml57
-rw-r--r--chapter06/m4.sgml8
-rw-r--r--chapter06/make-inst.sgml17
-rw-r--r--chapter06/make.sgml7
-rw-r--r--chapter06/makedev-exp.sgml18
-rw-r--r--chapter06/makedev-inst.sgml16
-rw-r--r--chapter06/man-exp.sgml21
-rw-r--r--chapter06/man-inst.sgml22
-rw-r--r--chapter06/man.sgml9
-rw-r--r--chapter06/manpages-inst.sgml15
-rw-r--r--chapter06/manpages.sgml7
-rw-r--r--chapter06/mawk-inst.sgml21
-rw-r--r--chapter06/mawk.sgml8
-rw-r--r--chapter06/modutils-inst.sgml17
-rw-r--r--chapter06/modutils.sgml7
-rw-r--r--chapter06/ncurses-exp.sgml21
-rw-r--r--chapter06/ncurses-inst.sgml21
-rw-r--r--chapter06/ncurses.sgml9
-rw-r--r--chapter06/patch-inst.sgml17
-rw-r--r--chapter06/patch.sgml8
-rw-r--r--chapter06/perl-inst.sgml33
-rw-r--r--chapter06/perl.sgml8
-rw-r--r--chapter06/procinfo-exp.sgml14
-rw-r--r--chapter06/procinfo-inst.sgml17
-rw-r--r--chapter06/procinfo.sgml8
-rw-r--r--chapter06/procps-inst.sgml19
-rw-r--r--chapter06/procps.sgml7
-rw-r--r--chapter06/psmisc-inst.sgml17
-rw-r--r--chapter06/psmisc.sgml7
-rw-r--r--chapter06/removeoldnss.sgml17
-rw-r--r--chapter06/sed-inst.sgml17
-rw-r--r--chapter06/sed.sgml7
-rw-r--r--chapter06/shadowpwd-exp.sgml12
-rw-r--r--chapter06/shadowpwd-inst.sgml22
-rw-r--r--chapter06/shadowpwd.sgml8
-rw-r--r--chapter06/shellutils-inst.sgml20
-rw-r--r--chapter06/shellutils.sgml7
-rw-r--r--chapter06/sysklogd-inst.sgml18
-rw-r--r--chapter06/sysklogd.sgml7
-rw-r--r--chapter06/sysvinit-inst.sgml37
-rw-r--r--chapter06/sysvinit.sgml7
-rw-r--r--chapter06/tar-inst.sgml39
-rw-r--r--chapter06/tar.sgml7
-rw-r--r--chapter06/texinfo-inst.sgml17
-rw-r--r--chapter06/texinfo.sgml7
-rw-r--r--chapter06/textutils-inst.sgml18
-rw-r--r--chapter06/textutils.sgml7
-rw-r--r--chapter06/utillinux-exp.sgml14
-rw-r--r--chapter06/utillinux-inst.sgml23
-rw-r--r--chapter06/utillinux.sgml8
-rw-r--r--chapter06/vim-inst.sgml39
-rw-r--r--chapter06/vim.sgml7
122 files changed, 2236 insertions, 0 deletions
diff --git a/chapter06/aboutdebug.sgml b/chapter06/aboutdebug.sgml
new file mode 100644
index 000000000..5bd7a671e
--- /dev/null
+++ b/chapter06/aboutdebug.sgml
@@ -0,0 +1,69 @@
+<sect1 id="ch06-aboutdebug">
+<title>About debugging symbols</title>
+
+<para>
+Most programs and libraries by default are compiled with debugging
+symbols and optimizing level 2 (gcc options -g and -O2) and are compiled
+for a specific CPU. On Intel platforms software is compiled for i386
+processors by default. If you don't wish to run software on other
+machines other than your own, you might want to change the default
+compiler options so that they will be compiled with a higher
+optimization level, no debugging symbols and generate code for your
+specific architecture. Let me first explain what debugging symbols
+are.
+</para>
+
+<para>
+A program compiled with debugging symbols means you can run a program or
+library through a debugger and the debugger's output will be user friendlier.
+These debugging symbols also enlarge the program or library significantly.
+</para>
+
+<para>
+To remove debugging symbols from a binary (must be an a.out or ELF binary)
+run <userinput>strip --strip-debug filename</userinput> You can use wild cards
+if you need to strip debugging symbols from multiple files (use something like
+strip --strip-debug $LFS/usr/bin/*). Another, easier, options is just
+not to compile programs with debugging symbols. Most people will probably
+never use a debugger on software, so by leaving those symbols out you
+can save a lot of diskspace.
+</para>
+
+<para>
+Before you wonder if these debugging symbols would make a big difference,
+here are some statistics:
+</para>
+
+<itemizedlist>
+
+<listitem><para>
+ A dynamic Bash binary with debugging symbols: 1.2MB
+</para></listitem>
+
+<listitem><para>
+ A dynamic Bash binary without debugging symbols: 478KB
+</para></listitem>
+
+<listitem><para>
+ /lib and /usr/lib (glibc and gcc files) with debugging
+ symbols: 87MB
+</para></listitem>
+
+<listitem><para>
+ /lib and /usr/lib (glibc and gcc files) without
+ debugging symbols: 16MB
+</para></listitem>
+
+</itemizedlist>
+
+<para>
+Sizes may vary depending on which compiler was used and which C library
+version was used to link dynamic programs against, but your results will be
+similar if you compare programs with and without debugging symbols. After
+I was done with this chapter and stripped all debugging symbols from all LFS
+binaries and libraries I regained a little over 102 MB of disk space. Quite
+the difference.
+</para>
+
+</sect1>
+
diff --git a/chapter06/autoconf-inst.sgml b/chapter06/autoconf-inst.sgml
new file mode 100644
index 000000000..6d66859a3
--- /dev/null
+++ b/chapter06/autoconf-inst.sgml
@@ -0,0 +1,17 @@
+<sect2>
+<title>Installation of Autoconf</title>
+
+<para>
+Install Autoconf by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/autoconf.sgml b/chapter06/autoconf.sgml
new file mode 100644
index 000000000..5a02716d9
--- /dev/null
+++ b/chapter06/autoconf.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-autoconf">
+<title>Installing Autoconf</title>
+
+&c6-in-autoconf-inst;
+&aa-autoconf-desc;
+
+</sect1>
diff --git a/chapter06/automake-inst.sgml b/chapter06/automake-inst.sgml
new file mode 100644
index 000000000..a15fd7f82
--- /dev/null
+++ b/chapter06/automake-inst.sgml
@@ -0,0 +1,16 @@
+<sect2>
+<title>Installation of Automake</title>
+
+<para>
+Install Automake by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/automake.sgml b/chapter06/automake.sgml
new file mode 100644
index 000000000..f916b4f52
--- /dev/null
+++ b/chapter06/automake.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-automake">
+<title>Installing Automake</title>
+
+&c6-in-automake-inst;
+&aa-automake-desc;
+
+</sect1>
diff --git a/chapter06/bash-inst.sgml b/chapter06/bash-inst.sgml
new file mode 100644
index 000000000..790ea5344
--- /dev/null
+++ b/chapter06/bash-inst.sgml
@@ -0,0 +1,33 @@
+<sect2>
+<title>Installation of Bash</title>
+
+<para>
+Install Bash by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr --with-curses
+ &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install &amp;&amp;</userinput>
+ <userinput>logout</userinput>
+
+</literallayout></blockquote>
+
+<para>
+Replace the static bash with the dynamic bash and re-enter the chroot'ed
+environment by running:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>mv $LFS/usr/bin/bash $LFS/usr/bin/bashbug
+ $LFS/bin &amp;&amp;</userinput>
+ <userinput>chroot $LFS /usr/bin/env -i HOME=/root /bin/bash
+ --login</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/bash.sgml b/chapter06/bash.sgml
new file mode 100644
index 000000000..490355fa7
--- /dev/null
+++ b/chapter06/bash.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-bash">
+<title>Installing Bash</title>
+
+&c6-in-bash-inst;
+&aa-bash-desc;
+
+</sect1>
diff --git a/chapter06/bashprofile.sgml b/chapter06/bashprofile.sgml
new file mode 100644
index 000000000..f34ae8251
--- /dev/null
+++ b/chapter06/bashprofile.sgml
@@ -0,0 +1,38 @@
+<sect1 id="ch06-bashprofile">
+<title>Creating $LFS/root/.bash_profile</title>
+
+<para>
+When we have entered the chroot'ed environment in the next section we
+want to export a couple of environment variables in that shell such as
+PS1, PATH and others variables you want to have set. For that purpose we'll
+create the $LFS/root/.bash_profile file which will be read by bash when we
+enter the chroot environment.
+</para>
+
+<para>
+Create a new file <filename>$LFS/root/.bash_profile</filename>
+by running the following.
+</para>
+
+<literallayout>
+
+<userinput>cat &gt; $LFS/root/.bash_profile &lt;&lt; "EOF"</userinput>
+# Begin /root/.bash_profile
+
+PS1='\u:\w\$ '
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+
+export PS1 PATH
+
+# End /root/.bash_profile
+<userinput>EOF</userinput>
+
+</literallayout>
+
+<para>
+You can add more environment variables,aliases and whatever else you
+need/want at your own discretion as you deem them necessary.
+</para>
+
+</sect1>
+
diff --git a/chapter06/bin86-inst.sgml b/chapter06/bin86-inst.sgml
new file mode 100644
index 000000000..0f5abe4e2
--- /dev/null
+++ b/chapter06/bin86-inst.sgml
@@ -0,0 +1,16 @@
+<sect2>
+<title>Installation of Bin86</title>
+
+<para>
+Install Linux86 by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make PREFIX=/usr install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/bin86.sgml b/chapter06/bin86.sgml
new file mode 100644
index 000000000..d3d41ceeb
--- /dev/null
+++ b/chapter06/bin86.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-bin86">
+<title>Installing Bin86</title>
+
+&c6-in-bin86-inst;
+&aa-bin86-desc;
+
+</sect1>
diff --git a/chapter06/binutils-inst.sgml b/chapter06/binutils-inst.sgml
new file mode 100644
index 000000000..ed32aab18
--- /dev/null
+++ b/chapter06/binutils-inst.sgml
@@ -0,0 +1,16 @@
+<sect2><title>Installation of Binutils</title>
+
+<para>
+Install Binutils by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr --enable-shared &amp;&amp;</userinput>
+ <userinput>make -e tooldir=/usr &amp;&amp;</userinput>
+ <userinput>make -e tooldir=/usr install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/binutils.sgml b/chapter06/binutils.sgml
new file mode 100644
index 000000000..da8ae86b7
--- /dev/null
+++ b/chapter06/binutils.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-binutils">
+<title>Installing Binutils</title>
+
+&c6-in-binutils-inst;
+&aa-binutils-desc;
+
+</sect1>
diff --git a/chapter06/bison-exp.sgml b/chapter06/bison-exp.sgml
new file mode 100644
index 000000000..427d991a3
--- /dev/null
+++ b/chapter06/bison-exp.sgml
@@ -0,0 +1,10 @@
+<sect2>
+<title>Command explanations</title>
+
+<para>
+<userinput>--datadir=/usr/share/bison:</userinput> This install the
+bison grammar files in /usr/share/bison rather than /usr/share.
+</para>
+
+</sect2>
+
diff --git a/chapter06/bison-inst.sgml b/chapter06/bison-inst.sgml
new file mode 100644
index 000000000..51c2231e4
--- /dev/null
+++ b/chapter06/bison-inst.sgml
@@ -0,0 +1,45 @@
+<sect2>
+<title>Installation of Bison</title>
+
+<para>
+Install Bison by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr \</userinput>
+ <userinput>&nbsp;&nbsp;&nbsp;--datadir=/usr/share/bison
+ &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+<para>
+Some programs don't know about bison and try to find the yacc program
+(bison is a (better) alternative for yacc). So to please those few
+programs out there we'll create a yacc script that calls bison and have
+it emulate yacc's output file name conventions).
+</para>
+
+<para>
+Create a new file <filename>/usr/bin/yacc</filename> by running the
+following:
+</para>
+
+<literallayout>
+
+<userinput>cat &gt; /usr/bin/yacc &lt;&lt; "EOF"</userinput>
+#!/bin/sh
+# Begin /usr/bin/yacc
+
+/usr/bin/bison -y $*
+
+# End /usr/bin/yacc
+<userinput>EOF</userinput>
+<userinput>chmod 755 /usr/bin/yacc</userinput>
+
+</literallayout>
+
+</sect2>
+
diff --git a/chapter06/bison.sgml b/chapter06/bison.sgml
new file mode 100644
index 000000000..cc30f0862
--- /dev/null
+++ b/chapter06/bison.sgml
@@ -0,0 +1,9 @@
+<sect1 id="ch06-bison">
+<title>Installing Bison</title>
+
+&c6-in-bison-inst;
+&c6-in-bison-exp;
+&aa-bison-desc;
+
+</sect1>
+
diff --git a/chapter06/bzip2-exp.sgml b/chapter06/bzip2-exp.sgml
new file mode 100644
index 000000000..10e4129e4
--- /dev/null
+++ b/chapter06/bzip2-exp.sgml
@@ -0,0 +1,12 @@
+<sect2>
+<title>Command explanations</title>
+
+<para>
+<userinput>make -f Makefile-libbz2_so:</userinput> This will cause bzip2
+to be build using a different Makefile file, in this case the
+Makefile-libbz2_so file which creates a dynamic libbz2.so library and
+links the bzip2 utilities against it.
+</para>
+
+</sect2>
+
diff --git a/chapter06/bzip2-inst.sgml b/chapter06/bzip2-inst.sgml
new file mode 100644
index 000000000..1e244d197
--- /dev/null
+++ b/chapter06/bzip2-inst.sgml
@@ -0,0 +1,40 @@
+<sect2>
+<title>Installation of Bzip2</title>
+
+<para>
+Install Bzip2 by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>make -f Makefile-libbz2_so &amp;&amp;</userinput>
+ <userinput>make bzip2recover libbz2.a &amp;&amp;</userinput>
+ <userinput>cp bzip2-shared /bin/bzip2 &amp;&amp;</userinput>
+ <userinput>cp bzip2recover /bin &amp;&amp;</userinput>
+ <userinput>cp bzip2.1 /usr/share/man/man1 &amp;&amp;</userinput>
+ <userinput>cp bzlib.h /usr/include &amp;&amp;</userinput>
+ <userinput>cp -a libbz2.so* libbz2.a /lib &amp;&amp;</userinput>
+ <userinput>rm /usr/lib/libbz2.a &amp;&amp;</userinput>
+ <userinput>cd /bin &amp;&amp;</userinput>
+ <userinput>rm bunzip2 && ln -s bzip2 bunzip2 &amp;&amp;</userinput>
+ <userinput>rm bzcat && ln -s bzip2 bzcat &amp;&amp;</userinput>
+ <userinput>cd /usr/share/man/man1 &amp;&amp;</userinput>
+ <userinput>ln -s bzip2.1 bunzip2.1 &amp;&amp;</userinput>
+ <userinput>ln -s bzip2.1 bzcat.1 &amp;&amp;</userinput>
+ <userinput>ln -s bzip2.1 bzip2recover.1</userinput>
+
+</literallayout></blockquote>
+
+<para>
+Although it's not strictly a part of a basic LFS system it's worth
+mentioning that you can download a patch for Tar which enables the tar
+program to compress and uncompress using bzip2/bunzip2 easily. With a
+plain tar you'll have to use constructions like bzcat file.tar.bz|tar
+xv or tar --use-compress-prog=bunzip2 -xvf file.tar.bz2 to use bzip2 and
+bunzip2 with tar. This patch gives you the -y option so you can unpack a
+Bzip2 archive with tar xvfy file.tar.bz2. Applying this patch will be
+mentioned later on when you re-install the Tar package.
+</para>
+
+</sect2>
+
diff --git a/chapter06/bzip2.sgml b/chapter06/bzip2.sgml
new file mode 100644
index 000000000..bf623846f
--- /dev/null
+++ b/chapter06/bzip2.sgml
@@ -0,0 +1,8 @@
+<sect1 id="ch06-bzip2">
+<title>Installing Bzip2</title>
+
+&c6-in-bzip2-inst;
+&c6-in-bzip2-exp;
+&aa-bzip2-desc;
+
+</sect1>
diff --git a/chapter06/chapter6.sgml b/chapter06/chapter6.sgml
new file mode 100644
index 000000000..28942d01c
--- /dev/null
+++ b/chapter06/chapter6.sgml
@@ -0,0 +1,62 @@
+<chapter id="chapter06">
+<title>Installing basic system software</title>
+
+&c6-introduction;
+&c6-aboutdebug;
+&c6-bashprofile;
+&c6-in-chroot;
+
+&c6-in-creatingdev;
+&c6-in-manpages;
+&c6-in-ed;
+&c6-in-patch;
+&c6-in-findutils;
+&c6-in-mawk;
+&c6-in-ncurses;
+&c6-in-vim;
+&c6-in-gcc;
+&c6-in-bison;
+&c6-in-less;
+&c6-in-groff;
+&c6-in-man;
+&c6-in-perl;
+&c6-in-m4;
+&c6-in-texinfo;
+&c6-in-autoconf;
+&c6-in-automake;
+&c6-in-bash;
+&c6-in-flex;
+&c6-in-file;
+&c6-in-libtool;
+&c6-in-bin86;
+&c6-in-binutils;
+&c6-in-bzip2;
+&c6-in-gettext;
+&c6-in-consoletools;
+&c6-in-consoledata;
+&c6-in-diffutils;
+&c6-in-e2fsprogs;
+&c6-in-fileutils;
+&c6-in-grep;
+&c6-in-gzip;
+&c6-in-ldso;
+&c6-in-lilo;
+&c6-in-make;
+&c6-in-modutils;
+&c6-in-procinfo;
+&c6-in-procps;
+&c6-in-psmisc;
+&c6-in-sed;
+&c6-in-shellutils;
+&c6-in-shadowpwd;
+&c6-in-sysklogd;
+&c6-in-sysvinit;
+&c6-in-tar;
+&c6-in-textutils;
+&c6-in-utillinux;
+
+&c6-nssremove;
+&c6-configure;
+
+</chapter>
+
diff --git a/chapter06/chroot.sgml b/chapter06/chroot.sgml
new file mode 100644
index 000000000..911f7a39d
--- /dev/null
+++ b/chapter06/chroot.sgml
@@ -0,0 +1,32 @@
+<sect1 id="ch06-chroot">
+<title>Entering the chroot'ed environment</title>
+
+<para>
+It's time to enter our chroot'ed environment in order to install the
+rest of the software we need.
+</para>
+
+<para>
+Enter the following command to enter the chroot'ed environment. From
+this point on there's no need to use the $LFS variable anymore, because
+everything you do will be restricted to the LFS partition (since / is
+actually /mnt/lfs but the shell doesn't know that).
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>cd $LFS &amp;&amp;</userinput>
+ <userinput>chroot $LFS /usr/bin/env -i HOME=/root /bin/bash
+ --login</userinput>
+
+</literallayout></blockquote>
+
+<para>
+Now that we are inside a chroot'ed environment, we can continue to
+install all the basic system software. Make sure you execute all the
+following commands in this chapter from within the chroot'ed
+environment.
+</para>
+
+</sect1>
+
diff --git a/chapter06/cofnig-ldso.sgml b/chapter06/cofnig-ldso.sgml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/chapter06/cofnig-ldso.sgml
diff --git a/chapter06/config-glibc.sgml b/chapter06/config-glibc.sgml
new file mode 100644
index 000000000..5272c536e
--- /dev/null
+++ b/chapter06/config-glibc.sgml
@@ -0,0 +1,88 @@
+<sect2><title>Configuring Glibc</title>
+
+<para>
+We need to create the /etc/nsswitch.conf file. Although glibc should provide
+defaults when this file is missing or corrupt, it's defaults don't work work
+well with networking which will be dealt with in a later chapter. Also, our
+timezone needs to be setup.
+</para>
+
+<para>
+Create a new file <filename>/etc/nsswitch.conf</filename> by running the
+following:
+</para>
+
+<literallayout>
+
+<userinput>cat &gt; /etc/nsswitch.conf &lt;&lt; "EOF"</userinput>
+# Begin /etc/nsswitch.conf
+
+passwd: files
+group: files
+shadow: files
+
+publickey: files
+
+hosts: files dns
+networks: files
+
+protocols: db files
+services: db files
+ethers: db files
+rpc: db files
+
+netgroup: db files
+
+# End /etc/nsswitch.conf
+<userinput>EOF</userinput>
+
+</literallayout>
+
+<para>
+Run the <userinput>tzselect</userinput> script and answer the questions
+regarding your timezone. When you're done, the script will give you the
+location of the timezone file you need.
+</para>
+
+<para>
+Create the <filename class="directory">/etc/localtime</filename> symlink
+by running:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>cd /etc &amp;&amp;</userinput>
+ <userinput>rm localtime &amp;&amp;</userinput>
+ <userinput>ln -s ../usr/share/zoneinfo/&lt;tzselect's output&gt;
+ localtime</userinput>
+
+</literallayout></blockquote>
+
+<para>
+tzselect's output can be something like <emphasis>EST5EDT</emphasis> or
+<emphasis>Canada/Eastern</emphasis>.
+</para>
+
+<para>
+The symlink you would create with that information would be:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>ln -s ../usr/share/zoneinfo/EST5EDT localtime</userinput>
+
+</literallayout></blockquote>
+
+<para>
+Or:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>ln -s ../usr/share/zoneinfo/Canada/Eastern localtime
+ </userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/config-ldso.sgml b/chapter06/config-ldso.sgml
new file mode 100644
index 000000000..c340db151
--- /dev/null
+++ b/chapter06/config-ldso.sgml
@@ -0,0 +1,43 @@
+<sect2>
+<title>Configuring Dynamic Loader</title>
+
+<para>
+By default the dynamic loader searches a few default paths for dynamic
+libraries, so there normally isn't a need for the
+<filename>/etc/ld.so.conf</filename> file unless you have extra
+directories in which you want the system to search for paths. The
+<filename class="directory">/usr/local/lib</filename> directory isn't
+searched through for dynamic libraries by default, so we want to add
+this path so when you install software you won't be suprised by them not
+running for some reason.
+</para>
+
+<para>
+Create a new file <filename>/etc/ld.so.conf</filename> by running the
+following:
+</para>
+
+<literallayout>
+
+<userinput>cat &gt; /etc/ld.so.conf &lt;&lt; "EOF"</userinput>
+# Begin /etc/ld.so.conf
+
+/lib
+/usr/lib
+/usr/local/lib
+
+# End /etc/ld.so.conf
+<userinput>EOF</userinput>
+
+</literallayout>
+
+<para>
+Although it's not necessary to add the
+<filename class="directory">/lib</filename> and
+<filename class="directory">/usr/lib</filename> directories it doesn't
+hurt. This way you see right away what's being searched and don't have
+to remeber the default search paths if you don't want to.
+</para>
+
+</sect2>
+
diff --git a/chapter06/config-lilo.sgml b/chapter06/config-lilo.sgml
new file mode 100644
index 000000000..1e61cc9f1
--- /dev/null
+++ b/chapter06/config-lilo.sgml
@@ -0,0 +1,46 @@
+<sect2>
+<title>Configuring Lilo</title>
+
+<para>
+We're not going to create lilo's configuration file from scratch, but we'll
+use the file from your normal Linux system. This file is different on every
+machine and thus I can't create it here. Since you would want to have the
+same options regarding lilo as you have when you're using your normal Linux
+system you would create the file exactly as it is on the normal system.
+</para>
+
+<para>
+Copy the Lilo configuration file and kernel images that Lilo uses by
+running the following commands from a shell on your normal Linux system.
+Don't execute these commands from your chroot'ed shell.
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>cp /etc/lilo.conf $LFS/etc</userinput>
+ <userinput>cp /boot/&lt;kernel images&gt; $LFS/boot</userinput>
+
+</literallayout></blockquote>
+
+<para>
+Before you can execute the second command you need to know the names of
+the kernel images. You can't just copy all files from the /boot
+directory. The /etc/lilo.conf file contains the names of the kernel
+images you're using. Open the file and look for lines like this:
+</para>
+
+<blockquote><literallayout>
+
+ image=/boot/vmlinuz
+
+</literallayout></blockquote>
+
+<para>
+Look for all <emphasis>image</emphasis> variables and their values
+represent the name and location of the image files. These files will
+usually be in /boot but they might be in other directories as well,
+depending on your distribution's conventions.
+</para>
+
+</sect2>
+
diff --git a/chapter06/config-shadowpwd.sgml b/chapter06/config-shadowpwd.sgml
new file mode 100644
index 000000000..ba63621f8
--- /dev/null
+++ b/chapter06/config-shadowpwd.sgml
@@ -0,0 +1,34 @@
+<sect2><title>Configuring Shadow Password Suite</title>
+
+<para>
+This package contains the utilities to modify user's passwords, add new
+users/groups, delete users/groups and more. I'm not going to explain to you
+what 'password shadowing' means. You can read all about that in the doc/HOWTO
+file within the unpacked shadow password suite's source tree. There's one
+thing you should keep in mind, if you decide to use shadow support, that
+programs that need to verify passwords (examples are xdm, ftp daemons,
+pop3 daemons, etc) need to be 'shadow-compliant', eg. they need to
+be able to work with shadow'ed passwords.
+</para>
+
+<para>
+Shadow'ed passwords are not enabled by default. Simply installing the
+shadow password suite does not enable shadow'ed passwords.
+</para>
+
+<para>
+Now is a very good moment to read chapter 5 of the doc/HOWTO file. You can
+read how you can enable shadow'ed passwords, how to test whether shadowing
+works and if not, how to disable it again.
+</para>
+
+<para>
+The documentation mentions something about the creastion of npasswd and
+nshadow after you run pwconv. This is an error in the documentation.
+Those two files will be be created. After you run pwconv, /etc/passwd
+will no longer contain the passwords and /etc/shadow will. You don't
+need to rename the npasswd and nshadow files yourself.
+</para>
+
+</sect2>
+
diff --git a/chapter06/config-sysklogd.sgml b/chapter06/config-sysklogd.sgml
new file mode 100644
index 000000000..12a12563b
--- /dev/null
+++ b/chapter06/config-sysklogd.sgml
@@ -0,0 +1,27 @@
+<sect2><title>Configuring Sysklogd</title>
+
+<para>
+Create a new file <filename>/etc/syslog.conf</filename> by running the
+following:
+</para>
+
+<literallayout>
+
+<userinput>cat &gt; /etc/syslog.conf &lt;&lt; "EOF"</userinput>
+# Begin /etc/syslog.conf
+
+auth,authpriv.* -/var/log/auth.log
+*.*;auth,authpriv.none -/var/log/sys.log
+daemon.* -/var/log/daemon.log
+kern.* -/var/log/kern.log
+mail.* -/var/log/mail.log
+user.* -/var/log/user.log
+*.emerg *
+
+# End /etc/syslog.conf
+<userinput>EOF</userinput>
+
+</literallayout>
+
+</sect2>
+
diff --git a/chapter06/config-sysvinit.sgml b/chapter06/config-sysvinit.sgml
new file mode 100644
index 000000000..ada018f9d
--- /dev/null
+++ b/chapter06/config-sysvinit.sgml
@@ -0,0 +1,43 @@
+<sect2><title>Configuring Sysvinit</title>
+
+<para>
+Create a new file <filename>/etc/inittab</filename> by running the
+following:
+</para>
+
+<literallayout>
+
+<userinput>cat &gt; /etc/inittab &lt;&lt; "EOF"</userinput>
+# Begin /etc/inittab
+
+id:3:initdefault:
+
+si::sysinit:/etc/init.d/rcS
+
+l0:0:wait:/etc/init.d/rc 0
+l1:S1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+l3:3:wait:/etc/init.d/rc 3
+l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/rc 6
+
+ft:06:respawn:/sbin/sulogin
+
+ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
+
+su:S1:respawn:/sbin/sulogin
+1:2345:respawn:/sbin/agetty tty1 9600
+2:2345:respawn:/sbin/agetty tty2 9600
+3:2345:respawn:/sbin/agetty tty3 9600
+4:2345:respawn:/sbin/agetty tty4 9600
+5:2345:respawn:/sbin/agetty tty5 9600
+6:2345:respawn:/sbin/agetty tty6 9600
+
+# End /etc/inittab
+<userinput>EOF</userinput>
+
+</literallayout>
+
+</sect2>
+
diff --git a/chapter06/config-vim.sgml b/chapter06/config-vim.sgml
new file mode 100644
index 000000000..4e8146aa1
--- /dev/null
+++ b/chapter06/config-vim.sgml
@@ -0,0 +1,24 @@
+<sect2><title>Configuring Vim</title>
+
+<para>
+By default Vim runs in vi compatible mode. Some people might like this,
+but I have a high preference to run vim in vim mode (else I wouldn't
+have included Vim in this book but the original Vi). Create the
+<filename>/root/.vimrc</filename> by running the following:
+</para>
+
+<literallayout>
+
+<userinput>cat &gt; /root/.vimrc &lt;&lt; "EOF"</userinput>
+" Begin /root/.vimrc
+
+set nocompatible
+set bs=2
+
+" End /root/.vimrc
+<userinput>EOF</userinput>
+
+</literallayout>
+
+</sect2>
+
diff --git a/chapter06/configure.sgml b/chapter06/configure.sgml
new file mode 100644
index 000000000..b3478066c
--- /dev/null
+++ b/chapter06/configure.sgml
@@ -0,0 +1,19 @@
+<sect1 id="ch06-configure">
+<title>Configuring essential software</title>
+
+<para>
+Now that all software is installed, all that we need to do to get a few
+programs running properly is to create their configuration files.
+</para>
+
+&c6-cf-vim;
+&c6-cf-glibc;
+&c6-cf-ldso;
+&c6-cf-lilo;
+&c6-cf-sysklogd;
+&c6-cf-shadowpwd;
+&c6-cf-sysvinit;
+&c6-cf-utmp;
+&c6-cf-password;
+
+</sect1>
diff --git a/chapter06/consoledata-inst.sgml b/chapter06/consoledata-inst.sgml
new file mode 100644
index 000000000..382be9e93
--- /dev/null
+++ b/chapter06/consoledata-inst.sgml
@@ -0,0 +1,24 @@
+<sect2>
+<title>Installation of Console-data</title>
+
+<para>
+Replace &lt;path-to-kmap-file&gt; below with the correct path to the
+desired kmap.gz file. An example could be i386/qwerty/us.kmap.gz
+</para>
+
+<para>
+Install Console-data by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install &amp;&amp;</userinput>
+ <userinput>cd /usr/share/keymaps &amp;&amp;</userinput>
+ <userinput>ln -s &lt;path-to-kmap-file&gt; defkeymap.kmap.gz</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/consoledata.sgml b/chapter06/consoledata.sgml
new file mode 100644
index 000000000..34cb0f36d
--- /dev/null
+++ b/chapter06/consoledata.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-consoledata">
+<title>Installing Consoledata</title>
+
+&c6-in-consoledata-inst;
+&aa-consoledata-desc;
+
+</sect1>
diff --git a/chapter06/consoletools-inst.sgml b/chapter06/consoletools-inst.sgml
new file mode 100644
index 000000000..364f065b7
--- /dev/null
+++ b/chapter06/consoletools-inst.sgml
@@ -0,0 +1,31 @@
+<sect2>
+<title>Installation of Console-tools</title>
+
+<para>
+Before you start installing Console-tools you have to unpack the
+console-tools-0.2.3.patch file.
+</para>
+
+<para>
+Install Console-tools by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>patch -Np1 -i ../console-tools-0.2.3.patch
+ &amp;&amp;</userinput>
+ <userinput>./configure --prefix=/usr &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install &amp;&amp;</userinput>
+ <userinput>cd doc/man &amp;&amp;</userinput>
+ <userinput>mv consolechars.8.in consolechars.8
+ &amp;&amp;</userinput>
+ <userinput>cp *.1 /usr/share/man/man1 &amp;&amp;</userinput>
+ <userinput>cp *.4 /usr/share/man/man4 &amp;&amp;</userinput>
+ <userinput>cp *.5 /usr/share/man/man5 &amp;&amp;</userinput>
+ <userinput>cp *.8 /usr/share/man/man8</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/consoletools.sgml b/chapter06/consoletools.sgml
new file mode 100644
index 000000000..819efbe58
--- /dev/null
+++ b/chapter06/consoletools.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-consoletools">
+<title>Installing Consoletools</title>
+
+&c6-in-consoletools-inst;
+&aa-consoletools-desc;
+
+</sect1>
diff --git a/chapter06/create-password.sgml b/chapter06/create-password.sgml
new file mode 100644
index 000000000..4c2aee8ab
--- /dev/null
+++ b/chapter06/create-password.sgml
@@ -0,0 +1,16 @@
+<sect2>
+<title>Creating root password</title>
+
+<para>
+Choose a password for user root and create it by running the following
+command:
+</para>
+
+<blockquote><literallayout>
+
+<userinput>passwd root</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/create-utmp.sgml b/chapter06/create-utmp.sgml
new file mode 100644
index 000000000..fad585278
--- /dev/null
+++ b/chapter06/create-utmp.sgml
@@ -0,0 +1,28 @@
+<sect2>
+<title>Creating the /var/run/utmp, /var/log/wtmp and /var/log/btmp
+files</title>
+
+<para>
+Programs like login, shutdown, uptime and others want to read from and write
+to the /var/run/utmp /var/log/btmp and /var/log/wtmp. These files contain
+information about who is currently logged in. It also contains information
+on when the computer was last booted and shutdown and a record of the
+bad login attemps.
+</para>
+
+<para>
+Create these files with their proper permissions by running the
+following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>touch /var/run/utmp /var/log/wtmp /var/log/btmp
+ /var/log/lastlog &amp;&amp;</userinput>
+ <userinput>chmod 644 /var/run/utmp /var/log/wtmp /var/log/btmp
+ /var/log/lastlog</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/createdeventries.sgml b/chapter06/createdeventries.sgml
new file mode 100644
index 000000000..f67390dd7
--- /dev/null
+++ b/chapter06/createdeventries.sgml
@@ -0,0 +1,36 @@
+<sect2>
+<title>Creating the /dev entries</title>
+
+<para>
+Create the device files by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>cd /dev &amp;&amp;</userinput>
+ <userinput>./MAKEDEV -v generic</userinput>
+
+</literallayout></blockquote>
+
+<para>
+The <quote>generic</quote> parameter passed to the MAKEDEV script
+doesn't create all the devices you might need, such as audio devices,
+hdc, hdd and ohters. If you seem to be missing something tell MAKEDEV to
+create it. To create hdc replace generic with hdc. You can also add hdc
+to generic, so you would execute <userinput>./MAKEDEV -v generic
+hdc</userinput> to create the generic set of devices files, plus the
+files you need to be able to access hdc (and hdc1, hdc2, etc)
+</para>
+
+<para>
+Please note that this script dates back from 1997 and therefore can be
+outdated and not support newer hardware. If you need device files which
+aren't known by this script please read the Documentation/devices.txt
+file in a Linux source tree. This file lists all the major and minor
+numbers for all the device files that the kernel knows about. With this
+list you can create such device files yourself. See the mknod man page
+for more information on how to make device files yourself.
+</para>
+
+</sect2>
+
diff --git a/chapter06/creatingdev.sgml b/chapter06/creatingdev.sgml
new file mode 100644
index 000000000..8ae652d64
--- /dev/null
+++ b/chapter06/creatingdev.sgml
@@ -0,0 +1,10 @@
+<sect1 id="ch06-createdev">
+<title>Creating device files</title>
+
+&c6-in-makedev-inst;
+&c6-in-createdeventries;
+&c6-in-makedev-exp;
+&aa-makedev-desc;
+
+</sect1>
+
diff --git a/chapter06/diffutils-inst.sgml b/chapter06/diffutils-inst.sgml
new file mode 100644
index 000000000..9b2dd5587
--- /dev/null
+++ b/chapter06/diffutils-inst.sgml
@@ -0,0 +1,17 @@
+<sect2>
+<title>Installation of Diffutils</title>
+
+<para>
+Install Diffutils by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/diffutils.sgml b/chapter06/diffutils.sgml
new file mode 100644
index 000000000..dab50cf84
--- /dev/null
+++ b/chapter06/diffutils.sgml
@@ -0,0 +1,7 @@
+<sect1 id="diffutils">
+<title>Installing Diffutils</title>
+
+&c6-in-diffutils-inst;
+&aa-diffutils-desc;
+
+</sect1>
diff --git a/chapter06/e2fsprogs-inst.sgml b/chapter06/e2fsprogs-inst.sgml
new file mode 100644
index 000000000..ca3324ce7
--- /dev/null
+++ b/chapter06/e2fsprogs-inst.sgml
@@ -0,0 +1,24 @@
+<sect2>
+<title>Installation of E2fsprogs</title>
+
+<para>
+Install E2fsprogs by running the following commands:
+</para>
+
+<para>
+Please note that the empty --with-root-prefix= option below is supposed
+to be like this. I did not forget to supply a value there.
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr --with-root-prefix= \</userinput>
+ <userinput>&nbsp;&nbsp;&nbsp;--enable-elf-shlibs &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install &amp;&amp;</userinput>
+ <userinput>make install-libs</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/e2fsprogs.sgml b/chapter06/e2fsprogs.sgml
new file mode 100644
index 000000000..880c3c524
--- /dev/null
+++ b/chapter06/e2fsprogs.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-e2fsprogs">
+<title>Installing E2fsprogs</title>
+
+&c6-in-e2fsprogs-inst;
+&aa-e2fsprogs-desc;
+
+</sect1>
diff --git a/chapter06/ed-inst.sgml b/chapter06/ed-inst.sgml
new file mode 100644
index 000000000..9e846d210
--- /dev/null
+++ b/chapter06/ed-inst.sgml
@@ -0,0 +1,18 @@
+<sect2>
+<title>Installation of Ed</title>
+
+<para>
+Install Ed by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install &amp;&amp;</userinput>
+ <userinput>mv /usr/bin/ed /usr/bin/red /bin</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/ed.sgml b/chapter06/ed.sgml
new file mode 100644
index 000000000..776296b75
--- /dev/null
+++ b/chapter06/ed.sgml
@@ -0,0 +1,9 @@
+<sect1 id="ch06-ed">
+<title>Installing Ed</title>
+
+&c6-in-ed-inst;
+&aa-ed-desc;
+
+</sect1>
+
+
diff --git a/chapter06/file-inst.sgml b/chapter06/file-inst.sgml
new file mode 100644
index 000000000..bcfc90cf1
--- /dev/null
+++ b/chapter06/file-inst.sgml
@@ -0,0 +1,18 @@
+<sect2>
+<title>Installation of File</title>
+
+<para>
+Install File by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr
+ --datadir=/usr/share/misc &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/file.sgml b/chapter06/file.sgml
new file mode 100644
index 000000000..f1aa45af5
--- /dev/null
+++ b/chapter06/file.sgml
@@ -0,0 +1,8 @@
+<sect1 id="ch06-file">
+<title>Installing File</title>
+
+&c6-in-file-inst;
+&aa-file-desc;
+
+</sect1>
+
diff --git a/chapter06/fileutils-inst.sgml b/chapter06/fileutils-inst.sgml
new file mode 100644
index 000000000..d75acf173
--- /dev/null
+++ b/chapter06/fileutils-inst.sgml
@@ -0,0 +1,19 @@
+<sect2>
+<title>Installation of Fileutils</title>
+
+<para>
+Install Fileutils by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr --bindir=/bin \</userinput>
+ <userinput>&nbsp;&nbsp;&nbsp;--libexecdir=/usr/bin
+ &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/fileutils.sgml b/chapter06/fileutils.sgml
new file mode 100644
index 000000000..5d07c2b6f
--- /dev/null
+++ b/chapter06/fileutils.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-fileutils">
+<title>Installing Fileutils</title>
+
+&c6-in-fileutils-inst;
+&aa-fileutils-desc;
+
+</sect1>
diff --git a/chapter06/findutils-inst.sgml b/chapter06/findutils-inst.sgml
new file mode 100644
index 000000000..860c0d5b1
--- /dev/null
+++ b/chapter06/findutils-inst.sgml
@@ -0,0 +1,23 @@
+<sect2>
+<title>Installing Findutils</title>
+
+<para>
+Before you install Findutils you have to unpack the findutils patch
+file.
+</para>
+
+<para>
+Install Findutils by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>patch -Np1 -i ../findutils-4.1.patch &amp;&amp;</userinput>
+ <userinput>./configure --prefix=/usr &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make libexecdir=/usr/bin install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/findutils.sgml b/chapter06/findutils.sgml
new file mode 100644
index 000000000..bb2ea9d7a
--- /dev/null
+++ b/chapter06/findutils.sgml
@@ -0,0 +1,8 @@
+<sect1 id="ch06-findutils">
+<title>Installing Findutils</title>
+
+&c6-in-findutils-inst;
+&aa-findutils-desc;
+
+</sect1>
+
diff --git a/chapter06/flex-inst.sgml b/chapter06/flex-inst.sgml
new file mode 100644
index 000000000..4daaa3794
--- /dev/null
+++ b/chapter06/flex-inst.sgml
@@ -0,0 +1,17 @@
+<sect2>
+<title>Installation of Flex</title>
+
+<para>
+Install Flex by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/flex.sgml b/chapter06/flex.sgml
new file mode 100644
index 000000000..adbbec451
--- /dev/null
+++ b/chapter06/flex.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-flex">
+<title>Installing Flex</title>
+
+&c6-in-flex-inst;
+&aa-flex-desc;
+
+</sect1>
diff --git a/chapter06/gcc-inst.sgml b/chapter06/gcc-inst.sgml
new file mode 100644
index 000000000..6014560a1
--- /dev/null
+++ b/chapter06/gcc-inst.sgml
@@ -0,0 +1,25 @@
+<sect2>
+<title>Installation of GCC</title>
+
+<para>
+After you unpacked the gcc-2.95.2 archive don't enter the newly created
+gcc-2.95.2 directory but stay in the /usr/src directory. Install GCC by
+running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>mkdir /usr/src/gcc-build &amp;&amp;</userinput>
+ <userinput>cd /usr/src/gcc-build &amp;&amp;</userinput>
+ <userinput>../gcc-2.95.2/configure --prefix=/usr \</userinput>
+ <userinput>&nbsp;&nbsp;&nbsp;--with-gxx-include-dir=/usr/include/g++
+ \</userinput>
+ <userinput>&nbsp;&nbsp;&nbsp;--enable-shared
+ --enable-languages=c,c++ &amp;&amp;</userinput>
+ <userinput>make bootstrap &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/gcc.sgml b/chapter06/gcc.sgml
new file mode 100644
index 000000000..08a1d3ec2
--- /dev/null
+++ b/chapter06/gcc.sgml
@@ -0,0 +1,8 @@
+<sect1 id="ch06-gcc">
+<title>Installing GCC</title>
+
+&c6-in-gcc-inst;
+&aa-gcc-desc;
+
+</sect1>
+
diff --git a/chapter06/gettext-inst.sgml b/chapter06/gettext-inst.sgml
new file mode 100644
index 000000000..aaa3bc125
--- /dev/null
+++ b/chapter06/gettext-inst.sgml
@@ -0,0 +1,18 @@
+<sect2>
+<title>Installation of Gettext</title>
+
+<para>
+Install Gettext by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install &amp;&amp;</userinput>
+ <userinput>mv /po-mode.el /usr/share/gettext</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/gettext.sgml b/chapter06/gettext.sgml
new file mode 100644
index 000000000..ff63d451e
--- /dev/null
+++ b/chapter06/gettext.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-gettext">
+<title>Installing Gettext</title>
+
+&c6-in-gettext-inst;
+&aa-gettext-desc;
+
+</sect1>
diff --git a/chapter06/grep-inst.sgml b/chapter06/grep-inst.sgml
new file mode 100644
index 000000000..d461dc799
--- /dev/null
+++ b/chapter06/grep-inst.sgml
@@ -0,0 +1,17 @@
+<sect2>
+<title>Installation of Grep</title>
+
+<para>
+Install Grep by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/grep.sgml b/chapter06/grep.sgml
new file mode 100644
index 000000000..b658c5447
--- /dev/null
+++ b/chapter06/grep.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-grep">
+<title>Installing Grep</title>
+
+&c6-in-grep-inst;
+&aa-grep-desc;
+
+</sect1>
diff --git a/chapter06/groff-inst.sgml b/chapter06/groff-inst.sgml
new file mode 100644
index 000000000..62cff4745
--- /dev/null
+++ b/chapter06/groff-inst.sgml
@@ -0,0 +1,17 @@
+<sect2>
+<title>Installation of Groff</title>
+
+<para>
+Install Groff by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/groff.sgml b/chapter06/groff.sgml
new file mode 100644
index 000000000..89c9d70cb
--- /dev/null
+++ b/chapter06/groff.sgml
@@ -0,0 +1,8 @@
+<sect1 id="ch06-groff">
+<title>Installing Groff</title>
+
+&c6-in-groff-inst;
+&aa-groff-desc;
+
+</sect1>
+
diff --git a/chapter06/gzip-inst.sgml b/chapter06/gzip-inst.sgml
new file mode 100644
index 000000000..9eb3acdeb
--- /dev/null
+++ b/chapter06/gzip-inst.sgml
@@ -0,0 +1,24 @@
+<sect2>
+<title>Installation of Gzip</title>
+
+<para>
+Install Gzip by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install &amp;&amp;</userinput>
+ <userinput>cd /usr/bin &amp;&amp;</userinput>
+ <userinput>mv gzip /bin &amp;&amp;</userinput>
+ <userinput>rm gunzip /bin/gunzip &amp;&amp;</userinput>
+ <userinput>cd /bin &amp;&amp;</userinput>
+ <userinput>ln -s gzip gunzip &amp;&amp;</userinput>
+ <userinput>ln -s gzip compress &amp;&amp;</userinput>
+ <userinput>ln -s gunzip uncompress</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/gzip.sgml b/chapter06/gzip.sgml
new file mode 100644
index 000000000..ad4a5d939
--- /dev/null
+++ b/chapter06/gzip.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-gzip">
+<title>Installing Gzip</title>
+
+&c6-in-gzip-inst;
+&aa-gzip-desc;
+
+</sect1>
diff --git a/chapter06/introduction.sgml b/chapter06/introduction.sgml
new file mode 100644
index 000000000..016a6d9c1
--- /dev/null
+++ b/chapter06/introduction.sgml
@@ -0,0 +1,14 @@
+<sect1 id="ch06-introduction">
+<title>Introduction</title>
+
+<para>
+The installation of all the software is pretty straightforward and
+you'll think it's so much easier and shorter to give the generic
+installation instructions for each package and only explain how to
+install something if a certain package requires an alternate installation
+method. Although I agree with you on that, I, however, choose to give the
+full instructions for each and every package. This is simply to avoid any
+possible confusion and errors.
+</para>
+
+</sect1>
diff --git a/chapter06/ldso-inst.sgml b/chapter06/ldso-inst.sgml
new file mode 100644
index 000000000..a452716d7
--- /dev/null
+++ b/chapter06/ldso-inst.sgml
@@ -0,0 +1,40 @@
+<sect2>
+<title>Installation of Ld.so</title>
+
+<para>
+Install Ld.so by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>cd util &amp;&amp;</userinput>
+ <userinput>make ldd ldconfig &amp;&amp;</userinput>
+ <userinput>cp ldd /bin &amp;&amp;</userinput>
+ <userinput>cp ldconfig /sbin &amp;&amp;</userinput>
+ <userinput>cd ../man &amp;&amp;</userinput>
+ <userinput>cp ldd.1 /usr/share/man/man1 &amp;&amp;</userinput>
+ <userinput>cp *.8 /usr/share/man/man8 &amp;&amp;</userinput>
+ <userinput>rm /usr/bin/ldd &amp;&amp;</userinput>
+ <userinput>hash -r</userinput>
+
+</literallayout></blockquote>
+
+<para>
+The <quote>hash -r</quote> command is to make bash forget about the
+locations of previously executed commands. If you have executed ldd
+before, bash expects it to be found in /usr/bin. Since we moved it to
+/bin, the cache needs to be purged so bash can find it in /bin when you
+want to execute it again.
+</para>
+
+<para>
+You might have noticed that we don't use the compiler optimizations for
+this package. The reason is that overriding the CFLAGS variable causes
+compilation problems. You would have to edit the Config.mk file and add
+the proper values to the CFLAGS variable and then compile the package.
+If you want to do that it's up to you. I don't think it's worth the
+trouble though. The ld and ldd programs usually are only rarely used.
+</para>
+
+</sect2>
+
diff --git a/chapter06/ldso.sgml b/chapter06/ldso.sgml
new file mode 100644
index 000000000..adc561d71
--- /dev/null
+++ b/chapter06/ldso.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-ldso">
+<title>Installing Ldso</title>
+
+&c6-in-ldso-inst;
+&aa-ldso-desc;
+
+</sect1>
diff --git a/chapter06/less-inst.sgml b/chapter06/less-inst.sgml
new file mode 100644
index 000000000..6deacf428
--- /dev/null
+++ b/chapter06/less-inst.sgml
@@ -0,0 +1,17 @@
+<sect2>
+<title>Installation of Less</title>
+
+<para>
+Install Less by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr --bindir=/bin &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/less.sgml b/chapter06/less.sgml
new file mode 100644
index 000000000..021f5746a
--- /dev/null
+++ b/chapter06/less.sgml
@@ -0,0 +1,8 @@
+<sect1 id="ch06-less">
+<title>Installing Less</title>
+
+&c6-in-less-inst;
+&aa-less-desc;
+
+</sect1>
+
diff --git a/chapter06/libtool-inst.sgml b/chapter06/libtool-inst.sgml
new file mode 100644
index 000000000..1a651a38b
--- /dev/null
+++ b/chapter06/libtool-inst.sgml
@@ -0,0 +1,17 @@
+<sect2>
+<title>Installation of Libtool</title>
+
+<para>
+Install Libtool by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/libtool.sgml b/chapter06/libtool.sgml
new file mode 100644
index 000000000..36f65b72e
--- /dev/null
+++ b/chapter06/libtool.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-libtool">
+<title>Installing Libtool</title>
+
+&c6-in-libtool-inst;
+&aa-libtool-desc;
+
+</sect1>
diff --git a/chapter06/lilo-inst.sgml b/chapter06/lilo-inst.sgml
new file mode 100644
index 000000000..7777ab547
--- /dev/null
+++ b/chapter06/lilo-inst.sgml
@@ -0,0 +1,30 @@
+<sect2>
+<title>Installation of Lilo</title>
+
+<para>
+Install Lilo by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+<para>
+It appears that compilation of this package fails on certain machines
+when the -g compiler flag is being used. If you can't compile Lilo at
+all, please try removing the -g value from the CFLAGS variable in the
+<filename>Makefile</filename> file.
+</para>
+
+<para>
+At the end of the installation the make install process will print a
+message stating that you have to execute /sbin/lilo to complete the
+update. Don't do this as it has no use. The /etc/lilo.conf isn't present
+yet. We will complete the installation of lilo in chapter 8.
+</para>
+
+</sect2>
+
diff --git a/chapter06/lilo.sgml b/chapter06/lilo.sgml
new file mode 100644
index 000000000..363cae699
--- /dev/null
+++ b/chapter06/lilo.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-lilo">
+<title>Installing Lilo</title>
+
+&c6-in-lilo-inst;
+&aa-lilo-desc;
+
+</sect1>
diff --git a/chapter06/m4-inst.sgml b/chapter06/m4-inst.sgml
new file mode 100644
index 000000000..ef29a5d65
--- /dev/null
+++ b/chapter06/m4-inst.sgml
@@ -0,0 +1,57 @@
+<sect2>
+<title>Installation of M4</title>
+
+<para>
+Install M4 by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+<para>
+If you're base system is running a 2.0 kernel and your Glibc version is
+2.1 then you will most likely get problems executing M4 in the
+chroot'ed environment due to incompatibilities between the M4 program,
+Glibc-2.1 and the running 2.0 kernel. If you have problems executing the
+m4 program in the chroot'ed environment (for example when you install
+the autoconf and automake packages) you'll have to exit the chroot'ed
+environment and compile M4 statically. This way the binary is linked
+against Glibc 2.0 (if you run kernel 2.0 you're Glibc version is 2.0 as
+well on a decent system. Kernel 2.0 and Glibc-2.1 don't mix very well)
+and won't give you any problems.
+</para>
+
+<para>
+To create a statically linked version of M4, execute the following
+commands:
+</para>
+
+<blockquote><literallayout>
+
+<userinput>logout</userinput>
+<userinput>cd $LFS/usr/src/m4-1.4</userinput>
+<userinput>./configure --prefix=/usr --disable-nls</userinput>
+<userinput>make LDFLAGS=-static</userinput>
+<userinput>make prefix=$LFS/usr install</userinput>
+
+</literallayout></blockquote>
+
+<para>
+Now you can re-enter the chroot'ed environment and continue with the
+next package. If you wish to recompile M4 dynamically, you can do that
+after you have rebooted into the LFS system rather than chroot'ed into it.
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>chroot $LFS env -i HOME=/root bash --login</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/m4.sgml b/chapter06/m4.sgml
new file mode 100644
index 000000000..9dd46d242
--- /dev/null
+++ b/chapter06/m4.sgml
@@ -0,0 +1,8 @@
+<sect1 id="ch06-m4">
+<title>Installing M4</title>
+
+&c6-in-m4-inst;
+&aa-m4-desc;
+
+</sect1>
+
diff --git a/chapter06/make-inst.sgml b/chapter06/make-inst.sgml
new file mode 100644
index 000000000..1f7e4e3d0
--- /dev/null
+++ b/chapter06/make-inst.sgml
@@ -0,0 +1,17 @@
+<sect2>
+<title>Installation of Make</title>
+
+<para>
+Install Make by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/make.sgml b/chapter06/make.sgml
new file mode 100644
index 000000000..f69b8ce19
--- /dev/null
+++ b/chapter06/make.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-make">
+<title>Installing Make</title>
+
+&c6-in-make-inst;
+&aa-make-desc;
+
+</sect1>
diff --git a/chapter06/makedev-exp.sgml b/chapter06/makedev-exp.sgml
new file mode 100644
index 000000000..f3d4ff980
--- /dev/null
+++ b/chapter06/makedev-exp.sgml
@@ -0,0 +1,18 @@
+<sect2>
+<title>Command explanations</title>
+
+<para>
+<userinput>sed "s/# 9/9/" MAKEDEV &gt;/dev/MAKEDEV:</userinput> By
+default the Makedev script only creates the hda1-hda8 and hdb1-hdb8
+devices. By replacing "# 9" by "9"'s in the MAKEDEV script, it will
+create hda1-hda20, hdb1-hdb20 and possible others (like hdc and hdd)
+</para>
+
+<para>
+<userinput>chmod 754 /dev/MAKEDEV:</userinput> This sets the permissions
+of the MAKEDEV script to mode 754 which makes it executable only for
+owner and group and readable by everybody.
+</para>
+
+</sect2>
+
diff --git a/chapter06/makedev-inst.sgml b/chapter06/makedev-inst.sgml
new file mode 100644
index 000000000..582598dbc
--- /dev/null
+++ b/chapter06/makedev-inst.sgml
@@ -0,0 +1,16 @@
+<sect2>
+<title>Installation of MAKEDEV</title>
+
+<para>
+Install MAKEDEV by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>sed "s/# 9/9/" MAKEDEV &gt;/dev/MAKEDEV &amp;&amp;</userinput>
+ <userinput>chmod 754 /dev/MAKEDEV</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/man-exp.sgml b/chapter06/man-exp.sgml
new file mode 100644
index 000000000..396c47b6d
--- /dev/null
+++ b/chapter06/man-exp.sgml
@@ -0,0 +1,21 @@
+<sect2>
+<title>Command explanations</title>
+
+<para>
+<userinput>-default:</userinput> This configures the man package with
+default settings.
+</para>
+
+<para>
+<userinput>sed s/AWK=/"AWK=\/usr\/bin\/mawk"/ /usr/sbin/makewhatis &gt;
+makewhatis-new:</userinput> This modifies /usr/sbin/makewhatis's AWK
+variable and fills in the location of the mawk program.
+</para>
+
+<para>
+<userinput>chmod 755 /usr/sbin/makewhatis:</userinput> This makes the
+makewhatis script executable again.
+</para>
+
+</sect2>
+
diff --git a/chapter06/man-inst.sgml b/chapter06/man-inst.sgml
new file mode 100644
index 000000000..f2f3b3b63
--- /dev/null
+++ b/chapter06/man-inst.sgml
@@ -0,0 +1,22 @@
+<sect2>
+<title>Installation of Man</title>
+
+<para>
+Install Man by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure -default &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install &amp;&amp;</userinput>
+ <userinput>sed s/AWK=/"AWK=\/usr\/bin\/mawk"/ /usr/sbin/makewhatis
+ &gt; makewhatis-new &amp;&amp;</userinput>
+ <userinput>mv makewhatis-new /usr/sbin/makewhatis &amp;&amp;
+ </userinput>
+ <userinput>chmod 755 /usr/sbin/makewhatis</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/man.sgml b/chapter06/man.sgml
new file mode 100644
index 000000000..ad1c1b563
--- /dev/null
+++ b/chapter06/man.sgml
@@ -0,0 +1,9 @@
+<sect1 id="ch06-man">
+<title>Installing Man</title>
+
+&c6-in-man-inst;
+&c6-in-man-exp;
+&aa-man-desc;
+
+</sect1>
+
diff --git a/chapter06/manpages-inst.sgml b/chapter06/manpages-inst.sgml
new file mode 100644
index 000000000..9a03eb9d1
--- /dev/null
+++ b/chapter06/manpages-inst.sgml
@@ -0,0 +1,15 @@
+<sect2>
+<title>Installation of Man-pages</title>
+
+<para>
+Install Man-pages by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/manpages.sgml b/chapter06/manpages.sgml
new file mode 100644
index 000000000..b86139c43
--- /dev/null
+++ b/chapter06/manpages.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-manpages">
+<title>Installing Man-pages</title>
+
+&c6-in-manpages-inst;
+&aa-manpages-desc;
+
+</sect1>
diff --git a/chapter06/mawk-inst.sgml b/chapter06/mawk-inst.sgml
new file mode 100644
index 000000000..735294010
--- /dev/null
+++ b/chapter06/mawk-inst.sgml
@@ -0,0 +1,21 @@
+<sect2>
+<title>Installation of Mawk</title>
+
+<para>
+Install Mawk by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make BINDIR=/usr/bin \</userinput>
+ <userinput>&nbsp;&nbsp;&nbsp;MANDIR=/usr/share/man/man1 install
+ &amp;&amp;</userinput>
+ <userinput>cd /usr/bin &amp;&amp;</userinput>
+ <userinput>ln -s mawk awk</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/mawk.sgml b/chapter06/mawk.sgml
new file mode 100644
index 000000000..10e478342
--- /dev/null
+++ b/chapter06/mawk.sgml
@@ -0,0 +1,8 @@
+<sect1 id="ch06-mawk">
+<title>Installing Mawk</title>
+
+&c6-in-mawk-inst;
+&aa-mawk-desc;
+
+</sect1>
+
diff --git a/chapter06/modutils-inst.sgml b/chapter06/modutils-inst.sgml
new file mode 100644
index 000000000..d682fd2ab
--- /dev/null
+++ b/chapter06/modutils-inst.sgml
@@ -0,0 +1,17 @@
+<sect2>
+<title>Installation of Modutils</title>
+
+<para>
+Install Modutils by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/modutils.sgml b/chapter06/modutils.sgml
new file mode 100644
index 000000000..dbf94efd9
--- /dev/null
+++ b/chapter06/modutils.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-modutils">
+<title>Installing Modutils</title>
+
+&c6-in-modutils-inst;
+&aa-modutils-desc;
+
+</sect1>
diff --git a/chapter06/ncurses-exp.sgml b/chapter06/ncurses-exp.sgml
new file mode 100644
index 000000000..c9dc1c85a
--- /dev/null
+++ b/chapter06/ncurses-exp.sgml
@@ -0,0 +1,21 @@
+<sect2>
+<title>Command explanations</title>
+
+<para>
+<userinput>--with-shared:</userinput> This enables the build of the
+shared ncurses library files.
+</para>
+
+<para>
+<userinput>--disable-termcap:</userinput> Disabled the compilation of
+termcap fallback support.
+</para>
+
+<para>
+<userinput>ln -s libncurses.a libcurses.a:</userinput> This creates the
+/lib/libcurses.a symlink that for some reason isn't created during the
+libncurses installation.
+</para>
+
+</sect2>
+
diff --git a/chapter06/ncurses-inst.sgml b/chapter06/ncurses-inst.sgml
new file mode 100644
index 000000000..4dd204e30
--- /dev/null
+++ b/chapter06/ncurses-inst.sgml
@@ -0,0 +1,21 @@
+<sect2>
+<title>Installation of Ncurses</title>
+
+<para>
+Install Ncurses by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr --libdir=/lib \</userinput>
+ <userinput>&nbsp;&nbsp;&nbsp;--with-shared
+ --disable-termcap &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install &amp;&amp;</userinput>
+ <userinput>cd /lib &amp;&amp;</userinput>
+ <userinput>ln -s libncurses.a libcurses.a</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/ncurses.sgml b/chapter06/ncurses.sgml
new file mode 100644
index 000000000..2add05899
--- /dev/null
+++ b/chapter06/ncurses.sgml
@@ -0,0 +1,9 @@
+<sect1 id="ch06-ncurses">
+<title>Installing Ncurses</title>
+
+&c6-in-ncurses-inst;
+&c6-in-ncurses-exp;
+&aa-ncurses-desc;
+
+</sect1>
+
diff --git a/chapter06/patch-inst.sgml b/chapter06/patch-inst.sgml
new file mode 100644
index 000000000..a63f77030
--- /dev/null
+++ b/chapter06/patch-inst.sgml
@@ -0,0 +1,17 @@
+<sect2>
+<title>Installation of Patch</title>
+
+<para>
+Install Patch by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/patch.sgml b/chapter06/patch.sgml
new file mode 100644
index 000000000..682e14915
--- /dev/null
+++ b/chapter06/patch.sgml
@@ -0,0 +1,8 @@
+<sect1 id="ch06-patch">
+<title>Installing Patch</title>
+
+&c6-in-patch-inst;
+&aa-patch-desc;
+
+</sect1>
+
diff --git a/chapter06/perl-inst.sgml b/chapter06/perl-inst.sgml
new file mode 100644
index 000000000..ba8df4e61
--- /dev/null
+++ b/chapter06/perl-inst.sgml
@@ -0,0 +1,33 @@
+<sect2>
+<title>Installation of Perl</title>
+
+<para>
+Install Perl by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./Configure -Dprefix=/usr &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+<para>
+If you don't want to answer all those questions Perl asks you, you can
+add the -d option to the configure script and Perl will use all the
+default settings. To avoid the Configure script asking you questions
+after the config.sh file has been created you can pass the -e parameter
+to perl as well. The commands with these parameters included will be:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./Configure -Dprefix=/usr -d -e &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/perl.sgml b/chapter06/perl.sgml
new file mode 100644
index 000000000..f85fbd948
--- /dev/null
+++ b/chapter06/perl.sgml
@@ -0,0 +1,8 @@
+<sect1 id="ch06-perl">
+<title>Installing Perl</title>
+
+&c6-in-perl-inst;
+&aa-perl-desc;
+
+</sect1>
+
diff --git a/chapter06/procinfo-exp.sgml b/chapter06/procinfo-exp.sgml
new file mode 100644
index 000000000..f08fe8383
--- /dev/null
+++ b/chapter06/procinfo-exp.sgml
@@ -0,0 +1,14 @@
+<sect2>
+<title>Command explanations</title>
+
+<para>
+<userinput>sed "s/XConsole/#XConsole/" Makefile | make -f -:</userinput>
+This will comment out the XConsole variable in the Makefile and pipe the
+output of sed (the modified Makefile) directly to the make program. This
+is an alternate and more efficient way to direct the output to a file
+and tell make to use that alternate file. The XConsole build is disabled
+because it can't be build yet because we don't have X installed yet.
+</para>
+
+</sect2>
+
diff --git a/chapter06/procinfo-inst.sgml b/chapter06/procinfo-inst.sgml
new file mode 100644
index 000000000..e491563e8
--- /dev/null
+++ b/chapter06/procinfo-inst.sgml
@@ -0,0 +1,17 @@
+<sect2>
+<title>Installation of Procinfo</title>
+
+<para>
+Install Procinfo by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>sed "s/-ltermcap/-lncurses/" Makefile | make -f -
+ &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/procinfo.sgml b/chapter06/procinfo.sgml
new file mode 100644
index 000000000..ebd030d9c
--- /dev/null
+++ b/chapter06/procinfo.sgml
@@ -0,0 +1,8 @@
+<sect1 id="ch06-procinfo">
+<title>Installing Procinfo</title>
+
+&c6-in-procinfo-inst;
+&c6-in-procinfo-exp;
+&aa-procinfo-desc;
+
+</sect1>
diff --git a/chapter06/procps-inst.sgml b/chapter06/procps-inst.sgml
new file mode 100644
index 000000000..917def8c5
--- /dev/null
+++ b/chapter06/procps-inst.sgml
@@ -0,0 +1,19 @@
+<sect2>
+<title>Installation of Procps</title>
+
+<para>
+Install Procps by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>sed "s/XConsole/#XConsole/" Makefile | make -f -
+ &amp;&amp;</userinput>
+ <userinput>sed "s/XConsole/#XConsole/" Makefile | make -f - install
+ &amp;&amp;</userinput>
+ <userinput>mv /usr/bin/kill /bin</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/procps.sgml b/chapter06/procps.sgml
new file mode 100644
index 000000000..188ce8a2a
--- /dev/null
+++ b/chapter06/procps.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-procps">
+<title>Installing Procps</title>
+
+&c6-in-procps-inst;
+&aa-procps-desc;
+
+</sect1>
diff --git a/chapter06/psmisc-inst.sgml b/chapter06/psmisc-inst.sgml
new file mode 100644
index 000000000..bb827be7f
--- /dev/null
+++ b/chapter06/psmisc-inst.sgml
@@ -0,0 +1,17 @@
+<sect2>
+<title>Installation of Psmisc</title>
+
+<para>
+Install Psmisc by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>sed "s/-ltermcap/-lncurses/" Makefile | make -f -
+ &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/psmisc.sgml b/chapter06/psmisc.sgml
new file mode 100644
index 000000000..fd01ed448
--- /dev/null
+++ b/chapter06/psmisc.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-psmisc">
+<title>Installing Psmisc</title>
+
+&c6-in-psmisc-inst;
+&aa-psmisc-desc;
+
+</sect1>
diff --git a/chapter06/removeoldnss.sgml b/chapter06/removeoldnss.sgml
new file mode 100644
index 000000000..2a78aa25d
--- /dev/null
+++ b/chapter06/removeoldnss.sgml
@@ -0,0 +1,17 @@
+<sect1 id="ch06-removeoldnss">
+<title>Removing old NSS library files</title>
+
+<para>
+If you have copied the NSS Library files from your normal Linux system to the
+LFS system (because your normal system runs glibc-2.0) it's time to remove
+them now by running:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>rm /lib/libnss*.so.1 /lib/libnss*2.0*</userinput>
+
+</literallayout></blockquote>
+
+</sect1>
+
diff --git a/chapter06/sed-inst.sgml b/chapter06/sed-inst.sgml
new file mode 100644
index 000000000..ef0146123
--- /dev/null
+++ b/chapter06/sed-inst.sgml
@@ -0,0 +1,17 @@
+<sect2>
+<title>Installation of Sed</title>
+
+<para>
+Install Sed by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr --bindir=/bin &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/sed.sgml b/chapter06/sed.sgml
new file mode 100644
index 000000000..6de99ba4c
--- /dev/null
+++ b/chapter06/sed.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-sed">
+<title>Installing Sed</title>
+
+&c6-in-sed-inst;
+&aa-sed-desc;
+
+</sect1>
diff --git a/chapter06/shadowpwd-exp.sgml b/chapter06/shadowpwd-exp.sgml
new file mode 100644
index 000000000..6db3fe8d4
--- /dev/null
+++ b/chapter06/shadowpwd-exp.sgml
@@ -0,0 +1,12 @@
+<sect2>
+<title>Command explanations</title>
+
+<para>
+<userinput>cp limits login.access and others:</userinput> These files
+were not installed during the installation of the package so we copy
+them manually as those files are used to configure authentication
+details on your system.
+</para>
+
+</sect2>
+
diff --git a/chapter06/shadowpwd-inst.sgml b/chapter06/shadowpwd-inst.sgml
new file mode 100644
index 000000000..60650a5dd
--- /dev/null
+++ b/chapter06/shadowpwd-inst.sgml
@@ -0,0 +1,22 @@
+<sect2>
+<title>Installation of Shadow Password Suite</title>
+
+<para>
+Install the Shadow Password Suite by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install &amp;&amp;</userinput>
+ <userinput>cd etc &amp;&amp;</userinput>
+ <userinput>cp limits login.access \</userinput>
+ <userinput>&nbsp;&nbsp;&nbsp;login.defs.linux shells suauth
+ /etc &amp;&amp;</userinput>
+ <userinput>mv /etc/login.defs.linux /etc/login.defs</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/shadowpwd.sgml b/chapter06/shadowpwd.sgml
new file mode 100644
index 000000000..6f2f7d658
--- /dev/null
+++ b/chapter06/shadowpwd.sgml
@@ -0,0 +1,8 @@
+<sect1 id="ch06-shadow">
+<title>Installing Shadowpwd</title>
+
+&c6-in-shadowpwd-inst;
+&c6-in-shadowpwd-exp;
+&aa-shadowpwd-desc;
+
+</sect1>
diff --git a/chapter06/shellutils-inst.sgml b/chapter06/shellutils-inst.sgml
new file mode 100644
index 000000000..c3aa812f6
--- /dev/null
+++ b/chapter06/shellutils-inst.sgml
@@ -0,0 +1,20 @@
+<sect2>
+<title>Installation of Sh-utils</title>
+
+<para>
+Install Shellutils by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install &amp;&amp;</userinput>
+ <userinput>cd /usr/bin &amp;&amp;</userinput>
+ <userinput>mv date echo false pwd stty /bin &amp;&amp;</userinput>
+ <userinput>mv su true uname hostname /bin</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/shellutils.sgml b/chapter06/shellutils.sgml
new file mode 100644
index 000000000..7fa710e07
--- /dev/null
+++ b/chapter06/shellutils.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-shutils">
+<title>Installing Shellutils</title>
+
+&c6-in-shellutils-inst;
+&aa-shellutils-desc;
+
+</sect1>
diff --git a/chapter06/sysklogd-inst.sgml b/chapter06/sysklogd-inst.sgml
new file mode 100644
index 000000000..8cab2809b
--- /dev/null
+++ b/chapter06/sysklogd-inst.sgml
@@ -0,0 +1,18 @@
+<sect2>
+<title>Installation of Sysklogd</title>
+
+<para>
+Install Sysklogd by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>patch -Np1 -i ../sysklogd-1.4.patch
+ &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/sysklogd.sgml b/chapter06/sysklogd.sgml
new file mode 100644
index 000000000..aabe1cb32
--- /dev/null
+++ b/chapter06/sysklogd.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-sysklogd">
+<title>Installing Sysklogd</title>
+
+&c6-in-sysklogd-inst;
+&aa-sysklogd-desc;
+
+</sect1>
diff --git a/chapter06/sysvinit-inst.sgml b/chapter06/sysvinit-inst.sgml
new file mode 100644
index 000000000..c8c581e95
--- /dev/null
+++ b/chapter06/sysvinit-inst.sgml
@@ -0,0 +1,37 @@
+<sect2>
+<title>Installation of Sysvinit</title>
+
+<para>
+When you change run levels (for example when you are going to shutdown
+your system) the init program is going to send the TERM and KILL signals
+to all the processes that init started. But init prints a message to the
+screen saying "sending all processes the TERM signal" and the same for the
+KILL signal. This implies that init sends this signal to all the currently
+running processes, which isn't the case. To avoid this confusion you can
+apply the sysvinit patch found on the LFS FTP site to sysvinit that changes
+the sentence in the shutdown.c file and have it print "sending all
+processes started by init the TERM signal".
+</para>
+
+<para>
+Apply the patch by running the following command:
+</para>
+
+<blockquote><literallayout>
+ <userinput>patch -Np1 -i ../sysvinit-2.78.patch</userinput>
+</literallayout></blockquote>
+
+<para>
+Install Sysvinit by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>cd src &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/sysvinit.sgml b/chapter06/sysvinit.sgml
new file mode 100644
index 000000000..c0b834d02
--- /dev/null
+++ b/chapter06/sysvinit.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-sysvinit">
+<title>Installing Sysvinit</title>
+
+&c6-in-sysvinit-inst;
+&aa-sysvinit-desc;
+
+</sect1>
diff --git a/chapter06/tar-inst.sgml b/chapter06/tar-inst.sgml
new file mode 100644
index 000000000..32ed15cd1
--- /dev/null
+++ b/chapter06/tar-inst.sgml
@@ -0,0 +1,39 @@
+<sect2>
+<title>Installation of Tar</title>
+
+<para>
+If you want to be able to directly use bzip2 files with tar, use the tar
+patch avaiable from the LFS FTP site. This patch will add the -y option
+to tar which works the same as the -z option to tar (which you can use
+for gzip files).
+</para>
+
+<para>
+Apply the patch by running the following command:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>cd src &amp;&amp;</userinput>
+ <userinput>patch -i ../../gnutarpatch.txt &amp;&amp;</userinput>
+ <userinput>cd ..</userinput>
+
+</literallayout></blockquote>
+
+<para>
+Install Tar by running the following commands from the toplevel
+directory:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr --libexecdir=/usr/bin
+ &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install &amp;&amp;</userinput>
+ <userinput>mv /usr/bin/tar /bin</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/tar.sgml b/chapter06/tar.sgml
new file mode 100644
index 000000000..d35c925ba
--- /dev/null
+++ b/chapter06/tar.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-tar">
+<title>Installing Tar</title>
+
+&c6-in-tar-inst;
+&aa-tar-desc;
+
+</sect1>
diff --git a/chapter06/texinfo-inst.sgml b/chapter06/texinfo-inst.sgml
new file mode 100644
index 000000000..540f438a5
--- /dev/null
+++ b/chapter06/texinfo-inst.sgml
@@ -0,0 +1,17 @@
+<sect2>
+<title>Installation of Texinfo</title>
+
+<para>
+Install Texinfo by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/texinfo.sgml b/chapter06/texinfo.sgml
new file mode 100644
index 000000000..77486cfdd
--- /dev/null
+++ b/chapter06/texinfo.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-texinfo">
+<title>Installing Texinfo</title>
+
+&c6-in-texinfo-inst;
+&aa-texinfo-desc;
+
+</sect1>
diff --git a/chapter06/textutils-inst.sgml b/chapter06/textutils-inst.sgml
new file mode 100644
index 000000000..5ab867a01
--- /dev/null
+++ b/chapter06/textutils-inst.sgml
@@ -0,0 +1,18 @@
+<sect2>
+<title>Installation of Textutils</title>
+
+<para>
+Install Textutuils by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install &amp;&amp;</userinput>
+ <userinput>mv /usr/bin/cat /bin</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/textutils.sgml b/chapter06/textutils.sgml
new file mode 100644
index 000000000..16a4f328f
--- /dev/null
+++ b/chapter06/textutils.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-textutils">
+<title>Installing Textutils</title>
+
+&c6-in-textutils-inst;
+&aa-textutils-desc;
+
+</sect1>
diff --git a/chapter06/utillinux-exp.sgml b/chapter06/utillinux-exp.sgml
new file mode 100644
index 000000000..98633466e
--- /dev/null
+++ b/chapter06/utillinux-exp.sgml
@@ -0,0 +1,14 @@
+<sect2>
+<title>Command explanations</title>
+
+<para>
+<userinput>HAVE_SLN=yes:</userinput> We don't build this program because
+it already was installed by Glibc.
+</para>
+
+<para><userinput>HAVE_TSORT=yes:</userinput> We don't build this program
+either becuase it already was installed by Textutils.
+</para>
+
+</sect2>
+
diff --git a/chapter06/utillinux-inst.sgml b/chapter06/utillinux-inst.sgml
new file mode 100644
index 000000000..d75e3387f
--- /dev/null
+++ b/chapter06/utillinux-inst.sgml
@@ -0,0 +1,23 @@
+<sect2>
+<title>Installation of Util-Linux</title>
+
+<para>
+Install Util-Linux by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>sed -e s/HAVE_SLN=no/HAVE_SLN=yes/ \</userinput>
+ <userinput>&nbsp;&nbsp;&nbsp;-e s/HAVE_TSORT=no/HAVE_TSORT=yes/
+ \</userinput>
+ <userinput>&nbsp;&nbsp;&nbsp;MCONFIG &gt; MCONFIG~
+ &amp;&amp;</userinput>
+ <userinput>mv MCONFIG~ MCONFIG &amp;&amp;</userinput>
+ <userinput>./configure &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+</sect2>
+
diff --git a/chapter06/utillinux.sgml b/chapter06/utillinux.sgml
new file mode 100644
index 000000000..cef9a71e5
--- /dev/null
+++ b/chapter06/utillinux.sgml
@@ -0,0 +1,8 @@
+<sect1 id="ch06-utillinux">
+<title>Installing Utillinux</title>
+
+&c6-in-utillinux-inst;
+&c6-in-utillinux-exp;
+&aa-utillinux-desc;
+
+</sect1>
diff --git a/chapter06/vim-inst.sgml b/chapter06/vim-inst.sgml
new file mode 100644
index 000000000..15e8158eb
--- /dev/null
+++ b/chapter06/vim-inst.sgml
@@ -0,0 +1,39 @@
+<sect2>
+<title>Installation of Vim</title>
+
+<para>
+If you don't like vim to be installed as an editor on your LFS system,
+you may want to download an alternative and install an editor you
+prefer. There are a few hints how to install different editors
+available at <ulink
+url="http://cvs.linuxfromscratch.org/index.cgi/hints/editors/">
+http://cvs.linuxfromscratch.org/index.cgi/hints/editors/</ulink>
+</para>
+
+<para>
+You need to unpack both the vim-rt and vim-src packages to install Vim.
+Both packages will unpack their files into the vim-5.7 directory. This
+won't overwrite any files from the other package. So it doesn't mattter
+in which order you do it. Install Vim by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install &amp;&amp;</userinput>
+ <userinput>cd /usr/bin &amp;&amp;</userinput>
+ <userinput>ln -s vim vi</userinput>
+
+</literallayout></blockquote>
+
+<para>
+If you are planning on installing the X Window system on your LFS
+system, you might want to re-compile Vim after you have installed X. Vim
+comes with a nice GUI version of the editor which requires X and a few
+other libraries to be installed. For more information read the Vim
+documentation.
+</para>
+
+</sect2>
+
diff --git a/chapter06/vim.sgml b/chapter06/vim.sgml
new file mode 100644
index 000000000..4d20df4c3
--- /dev/null
+++ b/chapter06/vim.sgml
@@ -0,0 +1,7 @@
+<sect1 id="ch06-vim">
+<title>Installing Vim</title>
+
+&c6-in-vim-inst;
+&aa-vim-desc;
+
+</sect1>