aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Burgess <matthew@linuxfromscratch.org>2004-05-03 10:59:46 +0000
committerMatthew Burgess <matthew@linuxfromscratch.org>2004-05-03 10:59:46 +0000
commit673b0d84ba9591e07c0bdf0ee49d92eba10f502c (patch)
tree129e27a1450727b440da4378e0117a468eb9c25e
parent287ea55da70ceb1f0990554b7db921d525fef816 (diff)
* Merged newxml into HEAD
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@3435 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
-rw-r--r--appendixa/appendixa.xml61
-rw-r--r--appendixa/autoconf-dep.xml2
-rw-r--r--appendixa/autoconf-desc.xml38
-rw-r--r--appendixa/autoconf-down.xml2
-rw-r--r--appendixa/autoconf-shortdesc.xml8
-rw-r--r--appendixa/automake-dep.xml2
-rw-r--r--appendixa/automake-desc.xml51
-rw-r--r--appendixa/automake-down.xml2
-rw-r--r--appendixa/automake-shortdesc.xml10
-rw-r--r--appendixa/bash-dep.xml2
-rw-r--r--appendixa/bash-desc.xml15
-rw-r--r--appendixa/bash-down.xml4
-rw-r--r--appendixa/bash-shortdesc.xml9
-rw-r--r--appendixa/binutils-dep.xml2
-rw-r--r--appendixa/binutils-desc.xml61
-rw-r--r--appendixa/binutils-down.xml2
-rw-r--r--appendixa/binutils-shortdesc.xml13
-rw-r--r--appendixa/bison-dep.xml2
-rw-r--r--appendixa/bison-desc.xml15
-rw-r--r--appendixa/bison-down.xml4
-rw-r--r--appendixa/bison-shortdesc.xml10
-rw-r--r--appendixa/bootscripts-dep.xml1
-rw-r--r--appendixa/bootscripts-desc.xml58
-rw-r--r--appendixa/bootscripts-down.xml2
-rw-r--r--appendixa/bootscripts-shortdesc.xml10
-rw-r--r--appendixa/bzip2-dep.xml2
-rw-r--r--appendixa/bzip2-desc.xml29
-rw-r--r--appendixa/bzip2-down.xml2
-rw-r--r--appendixa/bzip2-shortdesc.xml13
-rw-r--r--appendixa/coreutils-dep.xml2
-rw-r--r--appendixa/coreutils-desc.xml238
-rw-r--r--appendixa/coreutils-down.xml6
-rw-r--r--appendixa/coreutils-shortdesc.xml16
-rw-r--r--appendixa/dejagnu-dep.xml2
-rw-r--r--appendixa/dejagnu-desc.xml6
-rw-r--r--appendixa/dejagnu-down.xml2
-rw-r--r--appendixa/dejagnu-shortdesc.xml8
-rw-r--r--appendixa/diffutils-dep.xml2
-rw-r--r--appendixa/diffutils-desc.xml15
-rw-r--r--appendixa/diffutils-down.xml2
-rw-r--r--appendixa/diffutils-shortdesc.xml8
-rw-r--r--appendixa/e2fsprogs-dep.xml2
-rw-r--r--appendixa/e2fsprogs-desc.xml80
-rw-r--r--appendixa/e2fsprogs-down.xml2
-rw-r--r--appendixa/e2fsprogs-shortdesc.xml15
-rw-r--r--appendixa/ed-dep.xml2
-rw-r--r--appendixa/ed-desc.xml10
-rw-r--r--appendixa/ed-down.xml4
-rw-r--r--appendixa/ed-shortdesc.xml8
-rw-r--r--appendixa/expect-dep.xml2
-rw-r--r--appendixa/expect-desc.xml6
-rw-r--r--appendixa/expect-down.xml4
-rw-r--r--appendixa/expect-shortdesc.xml10
-rw-r--r--appendixa/file-dep.xml2
-rw-r--r--appendixa/file-desc.xml11
-rw-r--r--appendixa/file-down.xml5
-rw-r--r--appendixa/file-shortdesc.xml10
-rw-r--r--appendixa/findutils-dep.xml2
-rw-r--r--appendixa/findutils-desc.xml27
-rw-r--r--appendixa/findutils-down.xml2
-rw-r--r--appendixa/findutils-shortdesc.xml9
-rw-r--r--appendixa/flex-dep.xml2
-rw-r--r--appendixa/flex-desc.xml15
-rw-r--r--appendixa/flex-down.xml2
-rw-r--r--appendixa/flex-shortdesc.xml11
-rw-r--r--appendixa/gawk-dep.xml2
-rw-r--r--appendixa/gawk-desc.xml18
-rw-r--r--appendixa/gawk-down.xml2
-rw-r--r--appendixa/gawk-shortdesc.xml8
-rw-r--r--appendixa/gcc-dep.xml2
-rw-r--r--appendixa/gcc-desc.xml27
-rw-r--r--appendixa/gcc-down.xml5
-rw-r--r--appendixa/gcc-shortdesc.xml12
-rw-r--r--appendixa/gettext-dep.xml2
-rw-r--r--appendixa/gettext-desc.xml91
-rw-r--r--appendixa/gettext-down.xml2
-rw-r--r--appendixa/gettext-shortdesc.xml14
-rw-r--r--appendixa/glibc-dep.xml2
-rw-r--r--appendixa/glibc-desc.xml131
-rw-r--r--appendixa/glibc-down.xml12
-rw-r--r--appendixa/glibc-shortdesc.xml19
-rw-r--r--appendixa/grep-dep.xml2
-rw-r--r--appendixa/grep-desc.xml13
-rw-r--r--appendixa/grep-down.xml2
-rw-r--r--appendixa/grep-shortdesc.xml9
-rw-r--r--appendixa/groff-dep.xml2
-rw-r--r--appendixa/groff-desc.xml105
-rw-r--r--appendixa/groff-down.xml2
-rw-r--r--appendixa/groff-shortdesc.xml12
-rw-r--r--appendixa/grub-dep.xml2
-rw-r--r--appendixa/grub-desc.xml16
-rw-r--r--appendixa/grub-down.xml2
-rw-r--r--appendixa/grub-shortdesc.xml8
-rw-r--r--appendixa/gzip-dep.xml2
-rw-r--r--appendixa/gzip-desc.xml36
-rw-r--r--appendixa/gzip-down.xml2
-rw-r--r--appendixa/gzip-shortdesc.xml9
-rw-r--r--appendixa/inetutils-dep.xml2
-rw-r--r--appendixa/inetutils-desc.xml21
-rw-r--r--appendixa/inetutils-down.xml4
-rw-r--r--appendixa/inetutils-shortdesc.xml8
-rw-r--r--appendixa/kbd-dep.xml2
-rw-r--r--appendixa/kbd-desc.xml63
-rw-r--r--appendixa/kbd-down.xml4
-rw-r--r--appendixa/kbd-shortdesc.xml13
-rw-r--r--appendixa/kernel-dep.xml2
-rw-r--r--appendixa/kernel-desc.xml21
-rw-r--r--appendixa/kernel-down.xml2
-rw-r--r--appendixa/kernel-shortdesc.xml8
-rw-r--r--appendixa/less-dep.xml2
-rw-r--r--appendixa/less-desc.xml14
-rw-r--r--appendixa/less-down.xml2
-rw-r--r--appendixa/less-shortdesc.xml8
-rw-r--r--appendixa/lfs-utils-dep.xml1
-rw-r--r--appendixa/lfs-utils-desc.xml18
-rw-r--r--appendixa/lfs-utils-down.xml2
-rw-r--r--appendixa/lfs-utils-shortdesc.xml10
-rw-r--r--appendixa/libtool-dep.xml2
-rw-r--r--appendixa/libtool-desc.xml13
-rw-r--r--appendixa/libtool-down.xml2
-rw-r--r--appendixa/libtool-shortdesc.xml10
-rw-r--r--appendixa/m4-dep.xml2
-rw-r--r--appendixa/m4-desc.xml12
-rw-r--r--appendixa/m4-down.xml2
-rw-r--r--appendixa/m4-shortdesc.xml7
-rw-r--r--appendixa/make-dep.xml2
-rw-r--r--appendixa/make-desc.xml7
-rw-r--r--appendixa/make-down.xml2
-rw-r--r--appendixa/make-shortdesc.xml8
-rw-r--r--appendixa/makedev-dep.xml2
-rw-r--r--appendixa/makedev-desc.xml8
-rw-r--r--appendixa/makedev-down.xml2
-rw-r--r--appendixa/makedev-shortdesc.xml7
-rw-r--r--appendixa/man-dep.xml2
-rw-r--r--appendixa/man-desc.xml22
-rw-r--r--appendixa/man-down.xml4
-rw-r--r--appendixa/man-shortdesc.xml9
-rw-r--r--appendixa/manpages-dep.xml1
-rw-r--r--appendixa/manpages-desc.xml8
-rw-r--r--appendixa/manpages-down.xml2
-rw-r--r--appendixa/manpages-shortdesc.xml8
-rw-r--r--appendixa/modutils-dep.xml2
-rw-r--r--appendixa/modutils-desc.xml32
-rw-r--r--appendixa/modutils-down.xml2
-rw-r--r--appendixa/modutils-shortdesc.xml11
-rw-r--r--appendixa/ncurses-dep.xml2
-rw-r--r--appendixa/ncurses-desc.xml45
-rw-r--r--appendixa/ncurses-down.xml2
-rw-r--r--appendixa/ncurses-shortdesc.xml13
-rw-r--r--appendixa/nettools-dep.xml2
-rw-r--r--appendixa/nettools-desc.xml42
-rw-r--r--appendixa/nettools-down.xml4
-rw-r--r--appendixa/nettools-shortdesc.xml11
-rw-r--r--appendixa/patch-dep.xml2
-rw-r--r--appendixa/patch-desc.xml10
-rw-r--r--appendixa/patch-down.xml2
-rw-r--r--appendixa/patch-shortdesc.xml8
-rw-r--r--appendixa/perl-dep.xml2
-rw-r--r--appendixa/perl-desc.xml77
-rw-r--r--appendixa/perl-down.xml4
-rw-r--r--appendixa/perl-shortdesc.xml13
-rw-r--r--appendixa/procinfo-dep.xml1
-rw-r--r--appendixa/procinfo-desc.xml13
-rw-r--r--appendixa/procinfo-down.xml2
-rw-r--r--appendixa/procinfo-shortdesc.xml9
-rw-r--r--appendixa/procps-dep.xml2
-rw-r--r--appendixa/procps-desc.xml51
-rw-r--r--appendixa/procps-down.xml2
-rw-r--r--appendixa/procps-shortdesc.xml11
-rw-r--r--appendixa/psmisc-dep.xml2
-rw-r--r--appendixa/psmisc-desc.xml15
-rw-r--r--appendixa/psmisc-down.xml2
-rw-r--r--appendixa/psmisc-shortdesc.xml9
-rw-r--r--appendixa/sed-dep.xml2
-rw-r--r--appendixa/sed-desc.xml7
-rw-r--r--appendixa/sed-down.xml2
-rw-r--r--appendixa/sed-shortdesc.xml8
-rw-r--r--appendixa/shadow-dep.xml2
-rw-r--r--appendixa/shadow-desc.xml103
-rw-r--r--appendixa/shadow-down.xml2
-rw-r--r--appendixa/shadow-shortdesc.xml11
-rw-r--r--appendixa/sysklogd-dep.xml1
-rw-r--r--appendixa/sysklogd-desc.xml12
-rw-r--r--appendixa/sysklogd-down.xml2
-rw-r--r--appendixa/sysklogd-shortdesc.xml8
-rw-r--r--appendixa/sysvinit-dep.xml1
-rw-r--r--appendixa/sysvinit-desc.xml52
-rw-r--r--appendixa/sysvinit-down.xml2
-rw-r--r--appendixa/sysvinit-shortdesc.xml11
-rw-r--r--appendixa/tar-dep.xml2
-rw-r--r--appendixa/tar-desc.xml10
-rw-r--r--appendixa/tar-down.xml2
-rw-r--r--appendixa/tar-shortdesc.xml7
-rw-r--r--appendixa/tcl-dep.xml2
-rw-r--r--appendixa/tcl-desc.xml7
-rw-r--r--appendixa/tcl-down.xml2
-rw-r--r--appendixa/tcl-shortdesc.xml11
-rw-r--r--appendixa/texinfo-dep.xml2
-rw-r--r--appendixa/texinfo-desc.xml22
-rw-r--r--appendixa/texinfo-down.xml2
-rw-r--r--appendixa/texinfo-shortdesc.xml8
-rw-r--r--appendixa/utillinux-dep.xml2
-rw-r--r--appendixa/utillinux-desc.xml167
-rw-r--r--appendixa/utillinux-down.xml2
-rw-r--r--appendixa/utillinux-shortdesc.xml15
-rw-r--r--appendixa/vim-dep.xml2
-rw-r--r--appendixa/vim-desc.xml58
-rw-r--r--appendixa/vim-down.xml2
-rw-r--r--appendixa/vim-shortdesc.xml11
-rw-r--r--appendixa/zlib-dep.xml1
-rw-r--r--appendixa/zlib-desc.xml7
-rw-r--r--appendixa/zlib-down.xml2
-rw-r--r--appendixa/zlib-shortdesc.xml8
-rw-r--r--appendixb/appendixb.xml668
-rw-r--r--chapter01/administrativa.xml (renamed from chapter01/contactinfo.xml)15
-rw-r--r--chapter01/askforhelp.xml18
-rw-r--r--chapter01/changelog.xml75
-rw-r--r--chapter01/chapter01.xml23
-rw-r--r--chapter01/how.xml92
-rw-r--r--chapter02/chapter02.xml135
-rw-r--r--chapter02/creatingfilesystem.xml33
-rw-r--r--chapter02/creatingpartition.xml44
-rw-r--r--chapter02/introduction.xml14
-rw-r--r--chapter02/mounting.xml50
-rw-r--r--chapter03/chapter03.xml326
-rw-r--r--chapter03/introduction.xml57
-rw-r--r--chapter03/packages.xml216
-rw-r--r--chapter03/patches.xml74
-rw-r--r--chapter04/aboutlfs.xml33
-rw-r--r--chapter04/aboutsbus.xml44
-rw-r--r--chapter04/abouttestsuites.xml44
-rw-r--r--chapter04/addinguser.xml61
-rw-r--r--chapter04/chapter04.xml299
-rw-r--r--chapter04/creatingtoolsdir.xml46
-rw-r--r--chapter04/settingenviron.xml80
-rw-r--r--chapter05/adjusting.xml107
-rw-r--r--chapter05/bash.xml30
-rw-r--r--chapter05/binutils-pass1.xml45
-rw-r--r--chapter05/binutils-pass2.xml32
-rw-r--r--chapter05/bzip2.xml28
-rw-r--r--chapter05/chapter05.xml462
-rw-r--r--chapter05/coreutils.xml58
-rw-r--r--chapter05/dejagnu.xml40
-rw-r--r--chapter05/diffutils.xml28
-rw-r--r--chapter05/expect.xml44
-rw-r--r--chapter05/findutils.xml28
-rw-r--r--chapter05/gawk.xml28
-rw-r--r--chapter05/gcc-pass1.xml44
-rw-r--r--chapter05/gcc-pass2.xml76
-rw-r--r--chapter05/gettext.xml28
-rw-r--r--chapter05/glibc.xml50
-rw-r--r--chapter05/grep.xml30
-rw-r--r--chapter05/gzip.xml28
-rw-r--r--chapter05/introduction.xml64
-rw-r--r--chapter05/kernel-headers.xml (renamed from chapter05/kernelheaders.xml)23
-rw-r--r--chapter05/make.xml28
-rw-r--r--chapter05/ncurses.xml30
-rw-r--r--chapter05/patch.xml30
-rw-r--r--chapter05/perl.xml40
-rw-r--r--chapter05/sed.xml28
-rw-r--r--chapter05/stripping.xml35
-rw-r--r--chapter05/tar.xml28
-rw-r--r--chapter05/tcl.xml63
-rw-r--r--chapter05/texinfo.xml28
-rw-r--r--chapter05/toolchaintechnotes.xml203
-rw-r--r--chapter05/util-linux.xml55
-rw-r--r--chapter06/aboutdebug.xml46
-rw-r--r--chapter06/autoconf.xml82
-rw-r--r--chapter06/automake.xml103
-rw-r--r--chapter06/bash.xml68
-rw-r--r--chapter06/binutils.xml122
-rw-r--r--chapter06/bison.xml61
-rw-r--r--chapter06/bzip2.xml83
-rw-r--r--chapter06/changingowner.xml36
-rw-r--r--chapter06/chapter06.xml717
-rw-r--r--chapter06/chroot.xml53
-rw-r--r--chapter06/coreutils.xml403
-rw-r--r--chapter06/createfiles.xml20
-rw-r--r--chapter06/creatingdirs.xml65
-rw-r--r--chapter06/diffutils.xml54
-rw-r--r--chapter06/e2fsprogs.xml156
-rw-r--r--chapter06/ed.xml51
-rw-r--r--chapter06/file.xml50
-rw-r--r--chapter06/findutils.xml79
-rw-r--r--chapter06/flex.xml58
-rw-r--r--chapter06/gawk.xml60
-rw-r--r--chapter06/gcc-2953.xml53
-rw-r--r--chapter06/gcc.xml92
-rw-r--r--chapter06/gettext.xml161
-rw-r--r--chapter06/glibc.xml255
-rw-r--r--chapter06/grep.xml54
-rw-r--r--chapter06/groff.xml177
-rw-r--r--chapter06/grub.xml60
-rw-r--r--chapter06/gzip.xml88
-rw-r--r--chapter06/iana-etc.xml46
-rw-r--r--chapter06/inetutils.xml72
-rw-r--r--chapter06/introduction.xml67
-rw-r--r--chapter06/kbd.xml142
-rw-r--r--chapter06/kernel-headers.xml28
-rw-r--r--chapter06/less.xml52
-rw-r--r--chapter06/lfs-utils.xml54
-rw-r--r--chapter06/libtool.xml55
-rw-r--r--chapter06/m4.xml47
-rw-r--r--chapter06/make.xml48
-rw-r--r--chapter06/makedev.xml54
-rw-r--r--chapter06/man-pages.xml49
-rw-r--r--chapter06/man.xml78
-rw-r--r--chapter06/manpages.xml28
-rw-r--r--chapter06/mktemp.xml75
-rw-r--r--chapter06/modutils.xml81
-rw-r--r--chapter06/ncurses.xml103
-rw-r--r--chapter06/net-tools.xml124
-rw-r--r--chapter06/nettools.xml53
-rw-r--r--chapter06/patch.xml48
-rw-r--r--chapter06/perl.xml146
-rw-r--r--chapter06/proc.xml52
-rw-r--r--chapter06/procinfo.xml51
-rw-r--r--chapter06/procps.xml105
-rw-r--r--chapter06/psmisc.xml57
-rw-r--r--chapter06/pwdgroup.xml89
-rw-r--r--chapter06/readjusting.xml101
-rw-r--r--chapter06/revisedchroot.xml41
-rw-r--r--chapter06/sed.xml45
-rw-r--r--chapter06/shadow.xml193
-rw-r--r--chapter06/sysklogd.xml56
-rw-r--r--chapter06/sysvinit.xml129
-rw-r--r--chapter06/tar.xml48
-rw-r--r--chapter06/texinfo.xml67
-rw-r--r--chapter06/util-linux.xml314
-rw-r--r--chapter06/utillinux.xml66
-rw-r--r--chapter06/vim.xml152
-rw-r--r--chapter06/zlib.xml46
-rw-r--r--chapter07/bootscripts.xml120
-rw-r--r--chapter07/chapter07.xml53
-rw-r--r--chapter07/hostname.xml12
-rw-r--r--chapter07/hosts.xml22
-rw-r--r--chapter07/introduction.xml25
-rw-r--r--chapter07/loadkeys.xml29
-rw-r--r--chapter07/network.xml42
-rw-r--r--chapter07/setclock.xml16
-rw-r--r--chapter07/sysklogd.xml12
-rw-r--r--chapter07/usage.xml34
-rw-r--r--chapter08/chapter08.xml25
-rw-r--r--chapter08/fstab.xml12
-rw-r--r--chapter08/grub.xml47
-rw-r--r--chapter08/introduction.xml12
-rw-r--r--chapter08/kernel.xml74
-rw-r--r--chapter09/chapter09.xml23
-rw-r--r--chapter09/getcounted.xml10
-rw-r--r--chapter09/reboot.xml7
-rw-r--r--chapter09/theend.xml10
-rw-r--r--chapter09/whatnow.xml40
-rw-r--r--entities/autoconf.ent16
-rw-r--r--entities/automake.ent16
-rw-r--r--entities/bash.ent24
-rw-r--r--entities/binutils.ent25
-rw-r--r--entities/bison.ent19
-rw-r--r--entities/book-structure.xml46
-rw-r--r--entities/bootscripts.ent16
-rw-r--r--entities/bzip2.ent21
-rw-r--r--entities/coreutils.ent28
-rw-r--r--entities/dejagnu.ent16
-rw-r--r--entities/diffutils.ent21
-rw-r--r--entities/e2fsprogs.ent16
-rw-r--r--entities/ed.ent19
-rw-r--r--entities/expect.ent19
-rw-r--r--entities/file.ent16
-rw-r--r--entities/findutils.ent21
-rw-r--r--entities/flex.ent16
-rw-r--r--entities/gawk.ent21
-rw-r--r--entities/gcc-2953.ent23
-rw-r--r--entities/gcc.ent34
-rw-r--r--entities/gettext.ent21
-rw-r--r--entities/glibc.ent22
-rw-r--r--entities/grep.ent21
-rw-r--r--entities/groff.ent16
-rw-r--r--entities/grub.ent16
-rw-r--r--entities/gzip.ent21
-rw-r--r--entities/inetutils.ent19
-rw-r--r--entities/kbd.ent19
-rw-r--r--entities/kernel.ent25
-rw-r--r--entities/less.ent16
-rw-r--r--entities/lfs-utils.ent16
-rw-r--r--entities/libtool.ent16
-rw-r--r--entities/m4.ent16
-rw-r--r--entities/make.ent21
-rw-r--r--entities/makedev.ent15
-rw-r--r--entities/man.ent19
-rw-r--r--entities/manpages.ent16
-rw-r--r--entities/modutils.ent16
-rw-r--r--entities/ncurses.ent21
-rw-r--r--entities/nettools.ent19
-rw-r--r--entities/patch.ent21
-rw-r--r--entities/perl.ent24
-rw-r--r--entities/procinfo.ent16
-rw-r--r--entities/procps.ent16
-rw-r--r--entities/psmisc.ent16
-rw-r--r--entities/sed.ent21
-rw-r--r--entities/shadow.ent16
-rw-r--r--entities/sysklogd.ent18
-rw-r--r--entities/sysvinit.ent16
-rw-r--r--entities/tar.ent21
-rw-r--r--entities/tcl.ent16
-rw-r--r--entities/texinfo.ent21
-rw-r--r--entities/utillinux.ent21
-rw-r--r--entities/vim.ent16
-rw-r--r--entities/zlib.ent16
-rw-r--r--preface/acknowledgements.xml302
-rw-r--r--preface/audience.xml91
-rw-r--r--preface/foreword.xml30
-rw-r--r--preface/organization.xml37
-rw-r--r--preface/preface.xml12
-rw-r--r--preface/prerequisites.xml33
-rw-r--r--preface/typography.xml48
414 files changed, 7433 insertions, 8372 deletions
diff --git a/appendixa/appendixa.xml b/appendixa/appendixa.xml
deleted file mode 100644
index 6c98fe868..000000000
--- a/appendixa/appendixa.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<appendix id="appendixa" xreflabel="Appendix A">
-<title>Index of packages</title>
-<?dbhtml filename="appendixa.html" dir="appendixa"?>
-
-<itemizedlist>
-<listitem><para><xref linkend="ch-system-autoconf"/></para></listitem>
-<listitem><para><xref linkend="ch-system-automake"/></para></listitem>
-<listitem><para><xref linkend="ch-system-bash"/></para></listitem>
-<listitem><para><xref linkend="ch-system-binutils"/></para></listitem>
-<listitem><para><xref linkend="ch-system-bison"/></para></listitem>
-<listitem><para><xref linkend="ch-system-lfs-bootscripts"/></para></listitem>
-<listitem><para><xref linkend="ch-system-bzip2"/></para></listitem>
-<listitem><para><xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para><xref linkend="ch-tools-dejagnu"/></para></listitem>
-<listitem><para><xref linkend="ch-system-diffutils"/></para></listitem>
-<listitem><para><xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para><xref linkend="ch-system-ed"/></para></listitem>
-<listitem><para><xref linkend="ch-tools-expect"/></para></listitem>
-<listitem><para><xref linkend="ch-system-file"/></para></listitem>
-<listitem><para><xref linkend="ch-system-findutils"/></para></listitem>
-<listitem><para><xref linkend="ch-system-flex"/></para></listitem>
-<listitem><para><xref linkend="ch-system-gawk"/></para></listitem>
-<listitem><para><xref linkend="ch-system-gcc"/></para></listitem>
-<listitem><para><xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para><xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para><xref linkend="ch-system-grep"/></para></listitem>
-<listitem><para><xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para><xref linkend="ch-system-grub"/></para></listitem>
-<listitem><para><xref linkend="ch-system-gzip"/></para></listitem>
-<listitem><para><xref linkend="ch-system-inetutils"/></para></listitem>
-<listitem><para><xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para><xref linkend="ch-system-less"/></para></listitem>
-<listitem><para><xref linkend="ch-system-lfs-utils"/></para></listitem>
-<listitem><para><xref linkend="ch-system-libtool"/></para></listitem>
-<listitem><para><xref linkend="ch-bootable-kernel"/></para></listitem>
-<listitem><para><xref linkend="ch-system-m4"/></para></listitem>
-<listitem><para><xref linkend="ch-system-make"/></para></listitem>
-<listitem><para><xref linkend="ch-system-MAKEDEV"/></para></listitem>
-<listitem><para><xref linkend="ch-system-man"/></para></listitem>
-<listitem><para><xref linkend="ch-system-man-pages"/></para></listitem>
-<listitem><para><xref linkend="ch-system-modutils"/></para></listitem>
-<listitem><para><xref linkend="ch-system-ncurses"/></para></listitem>
-<listitem><para><xref linkend="ch-system-net-tools"/></para></listitem>
-<listitem><para><xref linkend="ch-system-patch"/></para></listitem>
-<listitem><para><xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para><xref linkend="ch-system-procinfo"/></para></listitem>
-<listitem><para><xref linkend="ch-system-procps"/></para></listitem>
-<listitem><para><xref linkend="ch-system-psmisc"/></para></listitem>
-<listitem><para><xref linkend="ch-system-sed"/></para></listitem>
-<listitem><para><xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para><xref linkend="ch-system-sysklogd"/></para></listitem>
-<listitem><para><xref linkend="ch-system-sysvinit"/></para></listitem>
-<listitem><para><xref linkend="ch-system-tar"/></para></listitem>
-<listitem><para><xref linkend="ch-tools-tcl"/></para></listitem>
-<listitem><para><xref linkend="ch-system-texinfo"/></para></listitem>
-<listitem><para><xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para><xref linkend="ch-system-vim"/></para></listitem>
-<listitem><para><xref linkend="ch-system-zlib"/></para></listitem>
-</itemizedlist>
-
-</appendix>
diff --git a/appendixa/autoconf-dep.xml b/appendixa/autoconf-dep.xml
deleted file mode 100644
index 5ee9d835e..000000000
--- a/appendixa/autoconf-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Autoconf depends on: Bash, Coreutils, Diffutils, Grep,
-M4, Make, Perl, Sed.</para>
diff --git a/appendixa/autoconf-desc.xml b/appendixa/autoconf-desc.xml
deleted file mode 100644
index 54edf9f73..000000000
--- a/appendixa/autoconf-desc.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>autoconf</command> is a tool for producing shell scripts
-that automatically configure software source code packages to adapt to many
-kinds of Unix-like systems. The configuration scripts it produces are
-independent -- running them does not require the autoconf program.</para>
-
-<para><command>autoheader</command> is a tool for creating template files
-of C #define statements for configure to use.</para>
-
-<para><command>autom4te</command> is a wrapper for the M4 macro
-processor.</para>
-
-<para><command>autoreconf</command> comes in handy when there are a lot
-of autoconf-generated configure scripts around. The program runs autoconf and
-autoheader repeatedly (where appropriate) to remake the autoconf configure
-scripts and configuration header templates in a given directory tree.</para>
-
-<para><command>autoscan</command> can help to create a
-<filename>configure.in</filename> file for a software package. It examines
-the source files in a directory tree, searching them for common portability
-problems and creates a <filename>configure.scan</filename> file that serves as
-as a preliminary <filename>configure.in</filename> for the package.</para>
-
-<para><command>autoupdate</command> modifies a
-<filename>configure.in</filename> file that still calls autoconf macros
-by their old names to use the current macro names.</para>
-
-<para><command>ifnames</command> can be helpful when writing a
-<filename>configure.in</filename> for a software package. It prints the
-identifiers that the package uses in C preprocessor conditionals. If a package
-has already been set up to have some portability, this program can help to
-determine what <command>configure</command> needs to check. It can fill
-in some gaps in a <filename>configure.in</filename> file generated by
-autoscan.</para>
-
-</sect2>
-
diff --git a/appendixa/autoconf-down.xml b/appendixa/autoconf-down.xml
deleted file mode 100644
index 31af54174..000000000
--- a/appendixa/autoconf-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Autoconf (&autoconf-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/autoconf/"/></literallayout>
diff --git a/appendixa/autoconf-shortdesc.xml b/appendixa/autoconf-shortdesc.xml
deleted file mode 100644
index 2d76afad3..000000000
--- a/appendixa/autoconf-shortdesc.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-autoconf"><title>Contents of Autoconf</title>
-
-<para><emphasis>Installed programs</emphasis>: autoconf, autoheader, autom4te,
-autoreconf, autoscan, autoupdate and ifnames</para>
-
-</sect2>
diff --git a/appendixa/automake-dep.xml b/appendixa/automake-dep.xml
deleted file mode 100644
index dc46d8e82..000000000
--- a/appendixa/automake-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Automake depends on: Autoconf, Bash, Coreutils,
-Diffutils, Grep, M4, Make, Perl, Sed.</para>
diff --git a/appendixa/automake-desc.xml b/appendixa/automake-desc.xml
deleted file mode 100644
index 66d7260d4..000000000
--- a/appendixa/automake-desc.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>acinstall</command> is a script that installs
-aclocal-style M4 files.</para>
-
-<para><command>aclocal</command> generates <filename>aclocal.m4</filename>
-files based on the contents of <filename>configure.in</filename> files.</para>
-
-<para><command>automake</command> is a tool for automatically generating
-<filename>Makefile.in</filename>'s from files called
-<filename>Makefile.am</filename>. To create all the
-<filename>Makefile.in</filename> files for a package, run this program in the
-top level directory. By scanning the <filename>configure.in</filename>s it
-automatically finds each appropriate <filename>Makefile.am</filename> and
-generate the corresponding <filename>Makefile.in</filename>.</para>
-
-<para><command>compile</command> is a wrapper for compilers.</para>
-
-<para><command>config.guess</command> is a script that attempts to guess
-the canonical triplet for the given build, host, or target architecture.</para>
-
-<para><command>config.sub</command> is a configuration validation
-subroutine script.</para>
-
-<para><command>depcomp</command> is a script for compiling a program
-so that not only the desired output is generated but also dependency
-information.</para>
-
-<para><command>elisp-comp</command> byte-compiles Emacs Lisp code.</para>
-
-<para><command>install-sh</command> is a script that installs a program,
-a script, or a datafile.</para>
-
-<para><command>mdate-sh</command> is a script that prints the modification
-time of a file or directory.</para>
-
-<para><command>missing</command> is a script acting as a common stub for
-missing GNU programs during an installation.</para>
-
-<para><command>mkinstalldirs</command> is a script that creates a directory
-tree.</para>
-
-<para><command>py-compile</command> compiles a Python program.</para>
-
-<para><command>symlink-tree</command> is a script to create a symlink tree of
-a directory tree.</para>
-
-<para><command>ylwrap</command> is a wrapper for lex and yacc.</para>
-
-</sect2>
-
diff --git a/appendixa/automake-down.xml b/appendixa/automake-down.xml
deleted file mode 100644
index 86bb6aa8c..000000000
--- a/appendixa/automake-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Automake (&automake-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/automake/"/></literallayout>
diff --git a/appendixa/automake-shortdesc.xml b/appendixa/automake-shortdesc.xml
deleted file mode 100644
index 2f06bc999..000000000
--- a/appendixa/automake-shortdesc.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-automake"><title>Contents of Automake</title>
-
-<para><emphasis>Installed programs</emphasis>: acinstall, aclocal,
-aclocal-1.8, automake, automake-1.8, compile, config.guess, config.sub,
-depcomp, elisp-comp, install-sh, mdate-sh, missing, mkinstalldirs, py-compile,
-symlink-tree, ylwrap</para>
-
-</sect2>
diff --git a/appendixa/bash-dep.xml b/appendixa/bash-dep.xml
deleted file mode 100644
index d2a1f2017..000000000
--- a/appendixa/bash-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Bash depends on: Binutils, Coreutils, Diffutils, Gawk,
-GCC, Glibc, Grep, Make, Ncurses, Sed.</para>
diff --git a/appendixa/bash-desc.xml b/appendixa/bash-desc.xml
deleted file mode 100644
index f1aa1ebd5..000000000
--- a/appendixa/bash-desc.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>bash</command> is a widely-used command interpreter. It
-performs all kinds of expansions and substitutions on a given command line
-before executing it, thus making this interpreter a powerful tool.</para>
-
-<para><command>bashbug</command> is a shell script to help the user
-compose and mail bug reports concerning bash in a standard format.</para>
-
-<para><command>sh</command> is a symlink to the bash program. When invoked
-as sh, bash tries to mimic the startup behavior of historical versions of sh as
-closely as possible, while conforming to the POSIX standard as well.</para>
-
-</sect2>
-
diff --git a/appendixa/bash-down.xml b/appendixa/bash-down.xml
deleted file mode 100644
index 3d9145dab..000000000
--- a/appendixa/bash-down.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<literallayout>Official download location for Bash (&bash-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/bash/"/>
-And for the patch:
-<ulink url="&patches-root;&bash-patch;"/></literallayout>
diff --git a/appendixa/bash-shortdesc.xml b/appendixa/bash-shortdesc.xml
deleted file mode 100644
index 9663e1054..000000000
--- a/appendixa/bash-shortdesc.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-bash"><title>Contents of Bash</title>
-
-<para><emphasis>Installed programs</emphasis>: bash, sh (link to bash) and
-bashbug</para>
-
-</sect2>
-
diff --git a/appendixa/binutils-dep.xml b/appendixa/binutils-dep.xml
deleted file mode 100644
index 85226fd63..000000000
--- a/appendixa/binutils-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Binutils depends on: Bash, Coreutils, Diffutils, GCC, Gettext,
-Glibc, Grep, Make, Perl, Sed, Texinfo.</para>
diff --git a/appendixa/binutils-desc.xml b/appendixa/binutils-desc.xml
deleted file mode 100644
index c4eaa0732..000000000
--- a/appendixa/binutils-desc.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>addr2line</command> translates program addresses to file
-names and line numbers. Given an address and the name of an executable, it
-uses the debugging information in the executable to figure out which source
-file and line number are associated with the address.</para>
-
-<para><command>ar</command> creates, modifies, and extracts from archives. An archive
-is a single file holding a collection of other files in a structure that makes
-it possible to retrieve the original individual files (called members of
-the archive).</para>
-
-<para><command>as</command> is an assembler. It assembles the output of
-gcc into object files.</para>
-
-<para><command>c++filt</command> is used by the linker to demangle C++ and
-Java symbols, to keep overloaded functions from clashing.</para>
-
-<para><command>gprof</command> displays call graph profile data.</para>
-
-<para><command>ld</command> is a linker. It combines a number of object
-and archive files into a single file, relocating their data and tying up symbol
-references.</para>
-
-<para><command>nm</command> lists the symbols occurring in a given object file.</para>
-
-<para><command>objcopy</command> is used to translate one type of object
-file into another.</para>
-
-<para><command>objdump</command> displays information about the given
-object file, with options controlling what particular information to display.
-The information shown is mostly only useful to programmers who are working on
-the compilation tools.</para>
-
-<para><command>ranlib</command> generates an index of the contents of an
-archive, and stores it in the archive. The index lists all the symbols defined
-by archive members that are relocatable object files.</para>
-
-<para><command>readelf</command> displays information about elf type binaries.</para>
-
-<para><command>size</command> lists the section sizes -- and the grand
-total -- for the given object files.</para>
-
-<para><command>strings</command> outputs for each file given the sequences
-of printable characters that are of at least the specified length (defaulting to 4)
-For object files it prints by default only the strings from the initializing
-and loading sections. For other types of files it scans the whole file.</para>
-
-<para><command>strip</command> discards symbols from object files.</para>
-
-<para><command>libiberty</command> contains routines used by various GNU
-programs, including getopt, obstack, strerror, strtol and strtoul.</para>
-
-<para><command>libbfd</command> is the Binary File Descriptor library.</para>
-
-<para><command>libopcodes</command> is a library for dealing with opcodes.
-It is used for building utilities like objdump. Opcodes are the "readable text"
-versions of instructions for the processor.</para>
-
-</sect2>
-
diff --git a/appendixa/binutils-down.xml b/appendixa/binutils-down.xml
deleted file mode 100644
index 495859fbd..000000000
--- a/appendixa/binutils-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Binutils (&binutils-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/binutils/"/></literallayout>
diff --git a/appendixa/binutils-shortdesc.xml b/appendixa/binutils-shortdesc.xml
deleted file mode 100644
index f36215738..000000000
--- a/appendixa/binutils-shortdesc.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-binutils"><title>Contents of Binutils</title>
-
-<para><emphasis>Installed programs</emphasis>: addr2line, ar, as, c++filt,
-gprof, ld, nm, objcopy, objdump, ranlib, readelf, size, strings and
-strip</para>
-
-<para><emphasis>Installed libraries</emphasis>: libiberty.a, libbfd.[a,so] and
-libopcodes.[a,so]</para>
-
-</sect2>
-
diff --git a/appendixa/bison-dep.xml b/appendixa/bison-dep.xml
deleted file mode 100644
index 935750b4c..000000000
--- a/appendixa/bison-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Bison depends on: Bash, Binutils, Coreutils, Diffutils,
-GCC, Gettext, Glibc, Grep, M4, Make, Sed.</para>
diff --git a/appendixa/bison-desc.xml b/appendixa/bison-desc.xml
deleted file mode 100644
index d52e2272d..000000000
--- a/appendixa/bison-desc.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>bison</command> generates, from a series of rules, a program
-for analyzing the structure of text files. Bison is a replacement for yacc
-(Yet Another Compiler Compiler).</para>
-
-<para><command>yacc</command> is a wrapper for bison, meant for programs
-that still call yacc instead of bison. It calls bison with the -y option.</para>
-
-<para><command>liby.a</command> is the Yacc library containing
-implementations of Yacc-compatible yyerror and main functions. This library
-is normally not very useful, but POSIX requires it.</para>
-
-</sect2>
-
diff --git a/appendixa/bison-down.xml b/appendixa/bison-down.xml
deleted file mode 100644
index 47bda7351..000000000
--- a/appendixa/bison-down.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<literallayout>Official download location for Bison (&bison-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/bison/"/>
-And for the patch:
-<ulink url="&patches-root;&bison-patch;"/></literallayout>
diff --git a/appendixa/bison-shortdesc.xml b/appendixa/bison-shortdesc.xml
deleted file mode 100644
index e1866e091..000000000
--- a/appendixa/bison-shortdesc.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-bison"><title>Contents of Bison</title>
-
-<para><emphasis>Installed programs</emphasis>: bison and yacc</para>
-
-<para><emphasis>Installed library</emphasis>: liby.a</para>
-
-</sect2>
-
diff --git a/appendixa/bootscripts-dep.xml b/appendixa/bootscripts-dep.xml
deleted file mode 100644
index 704f30991..000000000
--- a/appendixa/bootscripts-dep.xml
+++ /dev/null
@@ -1 +0,0 @@
-<para>For its installation LFS-Bootscripts depends on: Bash, Coreutils.</para>
diff --git a/appendixa/bootscripts-desc.xml b/appendixa/bootscripts-desc.xml
deleted file mode 100644
index faa237c22..000000000
--- a/appendixa/bootscripts-desc.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para>The <command>checkfs</command> script checks the file systems just
-before they are mounted (with the exception of journal and network based
-file systems).</para>
-
-<para>The <command>cleanfs</command> script removes files that shouldn't be
-preserved between reboots, such as those in <filename>/var/run/</filename> and
-<filename>/var/lock/</filename>. It re-creates <filename>/var/run/utmp</filename>
-and removes the possibly present <filename>/etc/nologin</filename>,
-<filename>/fastboot</filename> and <filename>/forcefsck</filename> files.</para>
-
-<para>The <command>functions</command> script contains functions shared among
-different scripts, such as error and status checking.</para>
-
-<para>The <command>halt</command> script halts the system.</para>
-
-<para>The <command>ifdown</command> and <command>ifup</command> scripts assist
-the network script with network devices.</para>
-
-<para>The <command>loadkeys</command> script loads the keymap table you
-specified as proper for your keyboard layout.</para>
-
-<para>The <command>localnet</command> script sets up the system's hostname and
-local loopback device.</para>
-
-<para>The <command>mountfs</command> script mounts all file systems that
-aren't marked <emphasis>noauto</emphasis> or aren't network based.</para>
-
-<para>The <command>mountproc</command> script is used to mount the proc
-file system.</para>
-
-<para>The <command>network</command> script sets up network interfaces, such
-as network cards, and sets up the default gateway where applicable.</para>
-
-<para>The <command>rc</command> script is the master runlevel control script.
-It is responsible for running all the other scripts one-by-one in a specific
-sequence.</para>
-
-<para>The <command>reboot</command> script reboots the system.</para>
-
-<para>The <command>sendsignals</command> script makes sure every process is
-terminated before the system reboots or halts.</para>
-
-<para>The <command>setclock</command> script resets the kernel clock to
-localtime in case the hardware clock isn't set to GMT time.</para>
-
-<para>The <command>swap</command> script enables and disables swap files and
-partitions.</para>
-
-<para>The <command>sysklogd</command> script starts and stops the system and
-kernel log daemons.</para>
-
-<para>The <command>template</command> script is a template you can use to
-create your own bootscripts for your other daemons.</para>
-
-</sect2>
-
diff --git a/appendixa/bootscripts-down.xml b/appendixa/bootscripts-down.xml
deleted file mode 100644
index 798838964..000000000
--- a/appendixa/bootscripts-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for LFS-Bootscripts (&bootscripts-version;):
-<ulink url="&http-down;"/></literallayout>
diff --git a/appendixa/bootscripts-shortdesc.xml b/appendixa/bootscripts-shortdesc.xml
deleted file mode 100644
index 9dd4ed35b..000000000
--- a/appendixa/bootscripts-shortdesc.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-bootscripts"><title>Contents of LFS-bootscripts</title>
-
-<para><emphasis>Installed scripts</emphasis>: checkfs, cleanfs, functions,
-halt, ifdown, ifup, loadkeys, localnet, mountfs, mountproc, network, rc,
-reboot, sendsignals, setclock, swap, sysklogd and template</para>
-
-</sect2>
-
diff --git a/appendixa/bzip2-dep.xml b/appendixa/bzip2-dep.xml
deleted file mode 100644
index 19c73fb89..000000000
--- a/appendixa/bzip2-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Bzip2 depends on: Bash, Binutils, Coreutils, Diffutils,
-GCC, Glibc, Make.</para>
diff --git a/appendixa/bzip2-desc.xml b/appendixa/bzip2-desc.xml
deleted file mode 100644
index 2ce53421c..000000000
--- a/appendixa/bzip2-desc.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>bunzip2</command> decompresses bzipped files.</para>
-
-<para><command>bzcat</command> decompresses to standard output.</para>
-
-<para><command>bzcmp</command> runs cmp on bzipped files.</para>
-
-<para><command>bzdiff</command> runs diff on bzipped files.</para>
-
-<para><command>bzgrep</command> and friends run grep on bzipped files.</para>
-
-<para><command>bzip2</command> compresses files using the Burrows-Wheeler
-block sorting text compression algorithm with Huffman coding. The compression
-rate is generally considerably better than that achieved by more conventional
-compressors using LZ77/LZ78, like <command>gzip</command>.</para>
-
-<para><command>bzip2recover</command> tries to recover data from damaged
-bzip2 files.</para>
-
-<para><command>bzless</command> runs less on bzipped files.</para>
-
-<para><command>bzmore</command> runs more on bzipped files.</para>
-
-<para><command>libbz2*</command> is the library implementing lossless,
-block-sorting data compression, using the Burrows-Wheeler algorithm.</para>
-
-</sect2>
-
diff --git a/appendixa/bzip2-down.xml b/appendixa/bzip2-down.xml
deleted file mode 100644
index 37e9b1d51..000000000
--- a/appendixa/bzip2-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Bzip2 (&bzip2-version;):
-<ulink url="ftp://sources.redhat.com/pub/bzip2/"/></literallayout>
diff --git a/appendixa/bzip2-shortdesc.xml b/appendixa/bzip2-shortdesc.xml
deleted file mode 100644
index a2e05dd19..000000000
--- a/appendixa/bzip2-shortdesc.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-bzip2"><title>Contents of Bzip2</title>
-
-<para><emphasis>Installed programs</emphasis>: bunzip2 (link to bzip2), bzcat
-(link to bzip2), bzcmp, bzdiff, bzegrep, bzfgrep, bzgrep, bzip2, bzip2recover,
-bzless and bzmore</para>
-
-<para><emphasis>Installed libraries</emphasis>: libbz2.a, libbz2.so (link to
-libbz2.so.1.0), libbz2.so.1.0 (link to libbz2.so.1.0.2) and
-libbz2.so.1.0.2</para>
-
-</sect2>
diff --git a/appendixa/coreutils-dep.xml b/appendixa/coreutils-dep.xml
deleted file mode 100644
index 3c93c70df..000000000
--- a/appendixa/coreutils-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Coreutils depends on: Bash, Binutils, Coreutils, Diffutils, GCC,
-Gettext, Glibc, Grep, Make, Perl, Sed.</para>
diff --git a/appendixa/coreutils-desc.xml b/appendixa/coreutils-desc.xml
deleted file mode 100644
index 28b098cdb..000000000
--- a/appendixa/coreutils-desc.xml
+++ /dev/null
@@ -1,238 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>basename</command> strips any path and a given suffix from
-the given file name.</para>
-
-<para><command>cat</command> concatenates files to standard output.</para>
-
-<para><command>chgrp</command> changes the group ownership of each given
-file to the given group. The group can be either given a a name or a numeric
-ID.</para>
-
-<para><command>chmod</command> changes the permissions of each given file
-to the given mode. The mode can be either a symbolic representation of the
-changes to make, or an octal number representing the new permissions.</para>
-
-<para><command>chown</command> changes the user and/or group ownership of
-each given file to the given user:group pair.</para>
-
-<para><command>chroot</command> runs a given command with the specified
-directory as the <filename>/</filename> directory. The given command can be an
-interactive shell. On most systems only <emphasis>root</emphasis> can do
-this.</para>
-
-<para><command>cksum</command> prints the CRC checksum and the byte
-counts of each specified file.</para>
-
-<para><command>comm</command> compares two sorted files, outputting in
-three columns the lines that are unique, and the lines that are common.</para>
-
-<para><command>cp</command> copies files.</para>
-
-<para><command>csplit</command> splits a given file into several new files,
-separating them according to given patterns or line numbers, and outputting
-the byte count of each new file.</para>
-
-<para><command>cut</command> prints parts of lines, selecting the parts
-according to given fields or positions.</para>
-
-<para><command>date</command> displays the current time in the given
-format, or sets the system date.</para>
-
-<para><command>dd</command> copies a file using the given blocksize and
-count, while optionally performing conversions on it.</para>
-
-<para><command>df</command> reports the amount of disk space available
-(and used) on all mounted file systems, or only on the file systems holding the
-given files.</para>
-
-<para><command>dir</command> is the same as ls.</para>
-
-<para><command>dircolors</command> outputs commands to set the LS_COLOR
-environment variable, to change the color scheme used by ls.</para>
-
-<para><command>dirname</command> strips the non-directory suffix from
-a given file name.</para>
-
-<para><command>du</command> reports the amount of disk space used by the
-current directory, or by each of the given directories including all their
-subdirectories, or by each of the given files.</para>
-
-<para><command>echo</command> displays the given strings.</para>
-
-<para><command>env</command> runs a command in a modified environment.</para>
-
-<para><command>expand</command> converts tabs to spaces.</para>
-
-<para><command>expr</command> evaluates expressions.</para>
-
-<para><command>factor</command> prints the prime factors of all specified
-integer numbers.</para>
-
-<para><command>false</command> does nothing, unsuccessfully. It always
-exits with a status code indicating failure.</para>
-
-<para><command>fmt</command> reformats the paragraphs in the given files.</para>
-
-<para><command>fold</command> wraps the lines in the given files.</para>
-
-<para><command>groups</command> reports a user's group memberships.</para>
-
-<para><command>head</command> prints the first ten lines (or the given
-number of lines) of each given file.</para>
-
-<para><command>hostid</command> reports the numeric identifier
-(in hexadecimal) of the host.</para>
-
-<para><command>hostname</command> reports or sets the name of the
-host.</para>
-
-<para><command>id</command> reports the effective user ID, group ID, and
-group memberships of the current user, or of a given user.</para>
-
-<para><command>install</command> copies files while setting their
-permission modes and, if possible, their owner and group.</para>
-
-<para><command>join</command> joins from two files the lines that have
-identical join fields.</para>
-
-<para><command>link</command> creates a hard link with the given name
-to the given file.</para>
-
-<para><command>ln</command> makes hard links or soft links between files.</para>
-
-<para><command>logname</command> reports the current user's login name.</para>
-
-<para><command>ls</command> lists the contents of each given directory.
-By default it orders the files and subdirectories alphabetically.</para>
-
-<para><command>md5sum</command> reports or checks MD5 checksums.</para>
-
-<para><command>mkdir</command> creates directories with the given names.</para>
-
-<para><command>mkfifo</command> creates FIFOs with the given names.</para>
-
-<para><command>mknod</command> creates device nodes with the given names.
-A device node is a character special file, or a block special file, or a FIFO.</para>
-
-<para><command>mv</command> moves or renames files or directories.</para>
-
-<para><command>nice</command> runs a program with modified scheduling priority.</para>
-
-<para><command>nl</command> numbers the lines from the given files.</para>
-
-<para><command>nohup</command> runs a command immune to hangups, with
-output redirected to a log file.</para>
-
-<para><command>od</command> dumps files in octal and other formats.</para>
-
-<para><command>paste</command> merges the given files, joining
-sequentially corresponding lines side by side, separated by TABs.</para>
-
-<para><command>pathchk</command> checks whether file names are valid
-or portable.</para>
-
-<para><command>pinky</command> is a lightweight finger. It reports
-some information about the given users.</para>
-
-<para><command>pr</command> paginates and columnates files for printing.</para>
-
-<para><command>printenv</command> prints the environment.</para>
-
-<para><command>printf</command> prints the given arguments according to the
-given format -- much like the C printf function.</para>
-
-<para><command>ptx</command> produces from the contents of the given files
-a permuted index, with each keyword in its context.</para>
-
-<para><command>pwd</command> reports the name of the current directory.</para>
-
-<para><command>readlink</command> reports the value of the given symbolic
-link.</para>
-
-<para><command>rm</command> removes files or directories.</para>
-
-<para><command>rmdir</command> removes directories, if they are empty.</para>
-
-<para><command>seq</command> prints a sequence of numbers, within a given
-range and with a given increment.</para>
-
-<para><command>sha1sum</command> prints or checks 160-bit SHA1
-checksums.</para>
-
-<para><command>shred</command> overwrites the given files repeatedly with
-strange patterns, to make it real hard to recover the data.</para>
-
-<para><command>sleep</command> pauses for the given amount of time.</para>
-
-<para><command>sort</command> sorts the lines from the given files.</para>
-
-<para><command>split</command> splits the given file into pieces, by size
-or by number of lines.</para>
-
-<para><command>stty</command> sets or reports terminal line settings.</para>
-
-<para><command>su</command> runs a shell with substitute user and group IDs.</para>
-
-<para><command>sum</command> prints checksum and block counts for each
-given file.</para>
-
-<para><command>sync</command> flushes file system buffers. It forces
-changed blocks to disk and updates the super block.</para>
-
-<para><command>tac</command> concatenates the given files in reverse.</para>
-
-<para><command>tail</command> prints the last ten lines (or the given
-number of lines) of each given file.</para>
-
-<para><command>tee</command> reads from standard input while writing both
-to standard output and to the given files.</para>
-
-<para><command>test</command> compares values and checks file types.</para>
-
-<para><command>touch</command> changes file timestamps, setting the access
-and modification times of the given files to the current time. Files that do
-not exist are created with zero length.</para>
-
-<para><command>tr</command> translates, squeezes, and deletes the given
-characters from standard input.</para>
-
-<para><command>true</command> does nothing, successfully. It always exits
-with a status code indicating success.</para>
-
-<para><command>tsort</command> performs a topological sort. It writes a
-totally ordered list according to the partial ordering in a given file.</para>
-
-<para><command>tty</command> reports the file name of the terminal
-connected to standard input.</para>
-
-<para><command>uname</command> reports system information.</para>
-
-<para><command>unexpand</command> converts spaces to tabs.</para>
-
-<para><command>uniq</command> discards all but one of successive
-identical lines.</para>
-
-<para><command>unlink</command> removes the given file.</para>
-
-<para><command>uptime</command> reports how long the system has been
-running, how many users are logged on, and the system load averages.</para>
-
-<para><command>users</command> reports the names of the users currently
-logged on.</para>
-
-<para><command>vdir</command> is the same as ls -l.</para>
-
-<para><command>wc</command> reports the number of lines, words, and bytes
-for each given file, and a total line when more than one file is given.</para>
-
-<para><command>who</command> reports who is logged on.</para>
-
-<para><command>whoami</command> reports the user name associated with the
-current effective user ID.</para>
-
-<para><command>yes</command> outputs 'y' or a given string repeatedly,
-until killed.</para>
-
-</sect2>
-
diff --git a/appendixa/coreutils-down.xml b/appendixa/coreutils-down.xml
deleted file mode 100644
index 579a84cbc..000000000
--- a/appendixa/coreutils-down.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<literallayout>Official download location for Coreutils (&coreutils-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/coreutils/"/>
-And for the patches:
-<ulink url="&patches-root;&coreutils-hostname-patch;"/>
-<ulink url="&patches-root;&coreutils-posixver-patch;"/>
-<ulink url="&patches-root;&coreutils-uname-patch;"/></literallayout>
diff --git a/appendixa/coreutils-shortdesc.xml b/appendixa/coreutils-shortdesc.xml
deleted file mode 100644
index dfae097c8..000000000
--- a/appendixa/coreutils-shortdesc.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-coreutils"><title>Contents of Coreutils</title>
-
-<para><emphasis>Installed programs</emphasis>: basename, cat, chgrp, chmod,
-chown, chroot, cksum, comm, cp, csplit, cut, date, dd, df, dir, dircolors,
-dirname, du, echo, env, expand, expr, factor, false, fmt, fold, groups, head,
-hostid, hostname, id, install, join, link, ln, logname, ls, md5sum,
-mkdir, mkfifo, mknod, mv, nice, nl, nohup, od, paste, pathchk, pinky, pr,
-printenv, printf, ptx, pwd, readlink, rm, rmdir, seq, sha1sum, shred, sleep,
-sort, split, stat, stty, su, sum, sync, tac, tail, tee, test, touch, tr, true,
-tsort, tty, uname, unexpand, uniq, unlink, uptime, users, vdir, wc, who,
-whoami and yes</para>
-
-</sect2>
-
diff --git a/appendixa/dejagnu-dep.xml b/appendixa/dejagnu-dep.xml
deleted file mode 100644
index 4a3348db4..000000000
--- a/appendixa/dejagnu-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Dejagnu depends on: Bash, Binutils, Coreutils, Diffutils,
-GCC, Glibc, Grep, Make, Sed.</para>
diff --git a/appendixa/dejagnu-desc.xml b/appendixa/dejagnu-desc.xml
deleted file mode 100644
index d463a0a56..000000000
--- a/appendixa/dejagnu-desc.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<sect2><title>Short description</title>
-
-<para><command>runtest</command> is the wrapper script that finds the proper
-expect shell and then runs DejaGnu.</para>
-
-</sect2>
diff --git a/appendixa/dejagnu-down.xml b/appendixa/dejagnu-down.xml
deleted file mode 100644
index 8432777a5..000000000
--- a/appendixa/dejagnu-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for DejaGnu (&dejagnu-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/dejagnu/"/></literallayout>
diff --git a/appendixa/dejagnu-shortdesc.xml b/appendixa/dejagnu-shortdesc.xml
deleted file mode 100644
index 6ae19a394..000000000
--- a/appendixa/dejagnu-shortdesc.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-dejagnu"><title>Contents of DejaGnu</title>
-
-<para><emphasis>Installed program</emphasis>: runtest</para>
-
-</sect2>
-
diff --git a/appendixa/diffutils-dep.xml b/appendixa/diffutils-dep.xml
deleted file mode 100644
index 082a1ef66..000000000
--- a/appendixa/diffutils-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Diffutils depends on: Bash, Binutils, Coreutils, Diffutils, GCC,
-Gettext, Glibc, Grep, Make, Sed.</para>
diff --git a/appendixa/diffutils-desc.xml b/appendixa/diffutils-desc.xml
deleted file mode 100644
index 6d87d103f..000000000
--- a/appendixa/diffutils-desc.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>cmp</command> compares two files and reports whether or
-in which bytes they differ.</para>
-
-<para><command>diff</command> compares two files or directories and reports
-which lines in the files differ.</para>
-
-<para><command>diff3</command> compares three files line by line.</para>
-
-<para><command>sdiff</command> merges two files and interactively outputs
-the results.</para>
-
-</sect2>
-
diff --git a/appendixa/diffutils-down.xml b/appendixa/diffutils-down.xml
deleted file mode 100644
index 5fd95b4aa..000000000
--- a/appendixa/diffutils-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Diffutils (&diffutils-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/diffutils/"/></literallayout>
diff --git a/appendixa/diffutils-shortdesc.xml b/appendixa/diffutils-shortdesc.xml
deleted file mode 100644
index 60df1956f..000000000
--- a/appendixa/diffutils-shortdesc.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-diffutils"><title>Contents of Diffutils</title>
-
-<para><emphasis>Installed programs</emphasis>: cmp, diff, diff3 and sdiff</para>
-
-</sect2>
-
diff --git a/appendixa/e2fsprogs-dep.xml b/appendixa/e2fsprogs-dep.xml
deleted file mode 100644
index a0282c0d1..000000000
--- a/appendixa/e2fsprogs-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation E2fsprogs depends on: Bash, Binutils, Coreutils,
-Diffutils, Gawk, GCC, Gettext, Glibc, Grep, Make, Sed, Texinfo.</para>
diff --git a/appendixa/e2fsprogs-desc.xml b/appendixa/e2fsprogs-desc.xml
deleted file mode 100644
index 240675b46..000000000
--- a/appendixa/e2fsprogs-desc.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>badblocks</command> searches a device (usually a disk
-partition) for bad blocks.</para>
-
-<para><command>blkid</command> is a command line utility to locate and
-print block device attributes.</para>
-
-<para><command>chattr</command> changes the attributes of files on a
-second extended (ext2) file system.</para>
-
-<para><command>compile_et</command> is an error table compiler. It
-converts a table of error-code names and messages into a C source file
-suitable for use with the com_err library.</para>
-
-<para><command>debugfs</command> is a file system debugger. It can be
-used to examine and change the state of an ext2 file system.</para>
-
-<para><command>dumpe2fs</command> prints the super block and blocks group
-information for the file system present on a given device.</para>
-
-<para><command>e2fsck</command> is used to check, and optionally repair,
-second extended (ext2) file systems, and also ext3 file systems.</para>
-
-<para><command>e2image</command> is used to save critical ext2 file system
-data to a file.</para>
-
-<para><command>e2label</command> will display or change the file system
-label on the ext2 file system present on a given device.</para>
-
-<para><command>findfs</command> finds a file system by label or UUID.</para>
-
-<para><command>fsck</command> is used to check, and optionally repair,
-file systems. By default it checks the file systems listed in
-<filename>/etc/fstab</filename></para>
-
-<para><command>logsave</command> saves the output of a command in a logfile.</para>
-
-<para><command>lsattr</command> lists the attributes of files on a second
-extended file system.</para>
-
-<para><command>mk_cmds</command> converts a table of command names
-and help messages into a C source file suitable for use with the
-<filename>libss</filename> subsystem library.</para>
-
-<para><command>mke2fs</command> is used to create a second extended
-file system on the given device.</para>
-
-<para><command>mklost+found</command> is used to create a
-<filename>lost+found</filename> directory on a second extended file system.
-It pre-allocates disk blocks to this directory to lighten the task of e2fsck.</para>
-
-<para><command>resize2fs</command> can be used to enlarge or shrink an
-ext2 file system.</para>
-
-<para><command>tune2fs</command> is used adjust tunable file system
-parameters on a second extended file system.</para>
-
-<para><command>uuidgen</command> creates new universally unique
-identifiers (UUID). Each new UUID can reasonably be considered unique
-among all UUIDs created, on the local system and on other systems, in the
-past and in the future.</para>
-
-<para><command>libblkid</command> contains routines for device
-identification and token extraction.</para>
-
-<para><command>libcom_err</command> is the common error display routine.</para>
-
-<para><command>libe2p</command> is used by dumpe2fs, chattr, and lsattr.</para>
-
-<para><command>libext2fs</command> contains routines to enable user-level
-programs to manipulate an ext2 file system.</para>
-
-<para><command>libss</command> is used by debugfs.</para>
-
-<para><command>libuuid</command> contains routines for generating unique
-identifiers for objects that may be accessible beyond the local system.</para>
-
-</sect2>
-
diff --git a/appendixa/e2fsprogs-down.xml b/appendixa/e2fsprogs-down.xml
deleted file mode 100644
index d946fca0a..000000000
--- a/appendixa/e2fsprogs-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for E2fsprogs (&e2fsprogs-version;):
-<ulink url="http://download.sourceforge.net/e2fsprogs/"/></literallayout>
diff --git a/appendixa/e2fsprogs-shortdesc.xml b/appendixa/e2fsprogs-shortdesc.xml
deleted file mode 100644
index 1318bf469..000000000
--- a/appendixa/e2fsprogs-shortdesc.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-e2fsprogs"><title>Contents of E2fsprogs</title>
-
-<para><emphasis>Installed programs</emphasis>: badblocks, blkid, chattr,
-compile_et, debugfs, dumpe2fs, e2fsck, e2image, e2label, findfs, fsck,
-fsck.ext2, fsck.ext3, logsave, lsattr, mk_cmds, mke2fs, mkfs.ext2, mkfs.ext3,
-mklost+found, resize2fs, tune2fs and uuidgen.</para>
-
-<para><emphasis>Installed libraries</emphasis>: libblkid.[a,so],
-libcom_err.[a,so], libe2p.[a,so], libext2fs.[a,so], libss.[a,so] and
-libuuid.[a,so]</para>
-
-</sect2>
-
diff --git a/appendixa/ed-dep.xml b/appendixa/ed-dep.xml
deleted file mode 100644
index dbf48b792..000000000
--- a/appendixa/ed-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Ed depends on: Bash, Binutils, Coreutils, Diffutils, GCC,
-Glibc, Grep, Make, Sed.</para>
diff --git a/appendixa/ed-desc.xml b/appendixa/ed-desc.xml
deleted file mode 100644
index 38b6e98cb..000000000
--- a/appendixa/ed-desc.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>ed</command> is a line-oriented text editor. It can be used
-to create, display, modify and otherwise manipulate text files.</para>
-
-<para><command>red</command> is a restricted ed -- it can only edit files
-in the current directory and cannot execute shell commands.</para>
-
-</sect2>
-
diff --git a/appendixa/ed-down.xml b/appendixa/ed-down.xml
deleted file mode 100644
index 9ec0268ea..000000000
--- a/appendixa/ed-down.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<literallayout>Official download location for Ed (&ed-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/ed/"/>
-And for the patch:
-<ulink url="&patches-root;&ed-patch;"/></literallayout>
diff --git a/appendixa/ed-shortdesc.xml b/appendixa/ed-shortdesc.xml
deleted file mode 100644
index 42090369c..000000000
--- a/appendixa/ed-shortdesc.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-ed"><title>Contents of Ed</title>
-
-<para><emphasis>Installed programs</emphasis>: ed and red (link to ed)</para>
-
-</sect2>
-
diff --git a/appendixa/expect-dep.xml b/appendixa/expect-dep.xml
deleted file mode 100644
index 4f3dc63cd..000000000
--- a/appendixa/expect-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Expect depends on: Bash, Binutils, Coreutils, Diffutils,
-GCC, Glibc, Grep, Make, Sed, Tcl.</para>
diff --git a/appendixa/expect-desc.xml b/appendixa/expect-desc.xml
deleted file mode 100644
index 5d66d714d..000000000
--- a/appendixa/expect-desc.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<sect2><title>Short description</title>
-
-<para><command>expect</command> "talks" to other interactive programs according
-to a script.</para>
-
-</sect2>
diff --git a/appendixa/expect-down.xml b/appendixa/expect-down.xml
deleted file mode 100644
index a55c9c9d4..000000000
--- a/appendixa/expect-down.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<literallayout>Official download location for Expect (&expect-version;):
-<ulink url="http://expect.nist.gov/src/"/>
-And for the patch:
-<ulink url="&patches-root;&expect-patch;"/></literallayout>
diff --git a/appendixa/expect-shortdesc.xml b/appendixa/expect-shortdesc.xml
deleted file mode 100644
index 8915cf2ca..000000000
--- a/appendixa/expect-shortdesc.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-expect"><title>Contents of Expect</title>
-
-<para><emphasis>Installed program</emphasis>: expect</para>
-
-<para><emphasis>Installed library</emphasis>: libexpect&expect-version;.a</para>
-
-</sect2>
-
diff --git a/appendixa/file-dep.xml b/appendixa/file-dep.xml
deleted file mode 100644
index 87f52a90d..000000000
--- a/appendixa/file-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation File depends on: Bash, Binutils, Coreutils, Diffutils,
-GCC, Glibc, Grep, Make, Sed, Zlib.</para>
diff --git a/appendixa/file-desc.xml b/appendixa/file-desc.xml
deleted file mode 100644
index cf9e69f17..000000000
--- a/appendixa/file-desc.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>file</command> tries to classify each given file. It does
-this by performing several tests: file system tests, magic number tests, and
-language tests. The first test that succeeds determines the result.</para>
-
-<para><command>libmagic</command> contains routines for magic number
-recognition, used by the file program.</para>
-
-</sect2>
-
diff --git a/appendixa/file-down.xml b/appendixa/file-down.xml
deleted file mode 100644
index 3f95fdec8..000000000
--- a/appendixa/file-down.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<literallayout>Official download location for File (&file-version;):
-<ulink url="ftp://ftp.astron.com/pub/file/"/>
-
-Alternative download location:
-<ulink url="ftp://gaosu.rave.org/pub/linux/lfs/"/></literallayout>
diff --git a/appendixa/file-shortdesc.xml b/appendixa/file-shortdesc.xml
deleted file mode 100644
index 9caa41069..000000000
--- a/appendixa/file-shortdesc.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-file"><title>Contents of File</title>
-
-<para><emphasis>Installed program</emphasis>: file</para>
-
-<para><emphasis>Installed library</emphasis>: libmagic.[a,so]</para>
-
-</sect2>
-
diff --git a/appendixa/findutils-dep.xml b/appendixa/findutils-dep.xml
deleted file mode 100644
index 1d6e56029..000000000
--- a/appendixa/findutils-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Findutils depends on: Bash, Binutils, Coreutils,
-Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed.</para>
diff --git a/appendixa/findutils-desc.xml b/appendixa/findutils-desc.xml
deleted file mode 100644
index a6a43380c..000000000
--- a/appendixa/findutils-desc.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>bigram</command> was formerly used to produce locate
-databases.</para>
-
-<para><command>code</command> was formerly used to produce locate
-databases. It is the ancestor of frcode.</para>
-
-<para><command>find</command> searches given directory trees for files
-matching the specified criteria.</para>
-
-<para><command>frcode</command> is called by updatedb to compress the
-list of file names. It uses front-compression, reducing the database size by a
-factor of 4 to 5.</para>
-
-<para><command>locate</command> searches through a database of file names,
-and reports the names that contain a given string or match a given pattern.</para>
-
-<para><command>updatedb</command> updates the locate database. It scans
-the entire file system (including other file systems that are currently mounted,
-unless told not to) and puts every file name it finds in the database.</para>
-
-<para><command>xargs</command> can be used to apply a given command to
-a list of files.</para>
-
-</sect2>
-
diff --git a/appendixa/findutils-down.xml b/appendixa/findutils-down.xml
deleted file mode 100644
index 69afe66dd..000000000
--- a/appendixa/findutils-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Findutils (&findutils-version;):
-<ulink url="ftp://alpha.gnu.org/gnu/findutils/"/></literallayout>
diff --git a/appendixa/findutils-shortdesc.xml b/appendixa/findutils-shortdesc.xml
deleted file mode 100644
index 283a597a0..000000000
--- a/appendixa/findutils-shortdesc.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-findutils"><title>Contents of Findutils</title>
-
-<para><emphasis>Installed programs</emphasis>: bigram, code, find, frcode,
-locate, updatedb and xargs</para>
-
-</sect2>
-
diff --git a/appendixa/flex-dep.xml b/appendixa/flex-dep.xml
deleted file mode 100644
index 965000fe5..000000000
--- a/appendixa/flex-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Flex depends on: Bash, Binutils, Bison, Coreutils, Diffutils,
-GCC, Gettext, Glibc, Grep, M4, Make, Sed.</para>
diff --git a/appendixa/flex-desc.xml b/appendixa/flex-desc.xml
deleted file mode 100644
index 34606cfaa..000000000
--- a/appendixa/flex-desc.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>flex</command> is a tool for generating programs that
-recognize patterns in text. Pattern recognition is useful in many applications.
-From a set of rules on what to look for flex makes a program that looks for
-those patterns. The reason to use flex is that it is much easier to specify
-the rules for than to write the actual pattern-finding program.</para>
-
-<para><command>flex++</command> invokes a version of flex that is used
-exclusively for C++ scanners.</para>
-
-<para><command>libfl.a</command> is the flex library.</para>
-
-</sect2>
-
diff --git a/appendixa/flex-down.xml b/appendixa/flex-down.xml
deleted file mode 100644
index 9daff0d33..000000000
--- a/appendixa/flex-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Flex (&flex-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/non-gnu/flex/"/></literallayout>
diff --git a/appendixa/flex-shortdesc.xml b/appendixa/flex-shortdesc.xml
deleted file mode 100644
index 0dfe4cfd3..000000000
--- a/appendixa/flex-shortdesc.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-flex"><title>Contents of Flex</title>
-
-<para><emphasis>Installed programs</emphasis>: flex, flex++ (link to flex)
-and lex</para>
-
-<para><emphasis>Installed library</emphasis>: libfl.a</para>
-
-</sect2>
-
diff --git a/appendixa/gawk-dep.xml b/appendixa/gawk-dep.xml
deleted file mode 100644
index 6cea6c39e..000000000
--- a/appendixa/gawk-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Gawk depends on: Bash, Binutils, Coreutils,
-Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed.</para>
diff --git a/appendixa/gawk-desc.xml b/appendixa/gawk-desc.xml
deleted file mode 100644
index 1e7517c51..000000000
--- a/appendixa/gawk-desc.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>gawk</command> is a program for manipulating text files.
-It is the GNU implementation of awk.</para>
-
-<para><command>grcat</command> dumps the group database
-<filename>/etc/group</filename>.</para>
-
-<para><command>igawk</command> gives gawk the ability to
-include files.</para>
-
-<para><command>pgawk</command> is the profiling version of gawk.</para>
-
-<para><command>pwcat</command> dumps the password database
-<filename>/etc/passwd</filename>.</para>
-
-</sect2>
-
diff --git a/appendixa/gawk-down.xml b/appendixa/gawk-down.xml
deleted file mode 100644
index 9da28d287..000000000
--- a/appendixa/gawk-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Gawk (&gawk-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/gawk/"/></literallayout>
diff --git a/appendixa/gawk-shortdesc.xml b/appendixa/gawk-shortdesc.xml
deleted file mode 100644
index fc367f4cf..000000000
--- a/appendixa/gawk-shortdesc.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-gawk"><title>Contents of Gawk</title>
-
-<para><emphasis>Installed programs</emphasis>: awk (link to gawk), gawk,
-gawk-&gawk-version;, grcat, igawk, pgawk, pgawk-&gawk-version; and pwcat</para>
-
-</sect2>
diff --git a/appendixa/gcc-dep.xml b/appendixa/gcc-dep.xml
deleted file mode 100644
index 99e7f2000..000000000
--- a/appendixa/gcc-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation GCC depends on: Bash, Binutils, Coreutils, Diffutils, Findutils,
-Gawk, Gettext, Glibc, Grep, Make, Perl, Sed, Texinfo.</para>
diff --git a/appendixa/gcc-desc.xml b/appendixa/gcc-desc.xml
deleted file mode 100644
index 6fc5cb89b..000000000
--- a/appendixa/gcc-desc.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>cpp</command> is the C preprocessor. It is used by the
-compiler to have the #include and #define and such statements expanded in
-the source files.</para>
-
-<para><command>g++</command> is the C++ compiler.</para>
-
-<para><command>gcc</command> is the C compiler. It is used to translate
-the source code of a program into assembly code.</para>
-
-<para><command>gccbug</command> is a shell script used to help create
-good bug reports.</para>
-
-<para><command>gcov</command> is a coverage testing tool. It is used to
-analyze programs to find out where optimizations will have the most effect.</para>
-
-<para><command>libgcc*</command> contains run-time support for gcc.</para>
-
-<para><command>libstdc++</command> is the standard C++ library. It contains
-many frequently-used functions.</para>
-
-<para><command>libsupc++</command> provides supporting routines
-for the c++ programming language.</para>
-
-</sect2>
-
diff --git a/appendixa/gcc-down.xml b/appendixa/gcc-down.xml
deleted file mode 100644
index b5ca75b46..000000000
--- a/appendixa/gcc-down.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<literallayout>Official download location for GCC (&gcc-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/gcc/"/>
-And for the patches:
-<ulink url="&patches-root;&gcc-nofixincludes-patch;"/>
-<ulink url="&patches-root;&gcc-specs-patch;"/></literallayout>
diff --git a/appendixa/gcc-shortdesc.xml b/appendixa/gcc-shortdesc.xml
deleted file mode 100644
index 41ae728d8..000000000
--- a/appendixa/gcc-shortdesc.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-gcc"><title>Contents of GCC</title>
-
-<para><emphasis>Installed programs</emphasis>: c++, cc (link to gcc),
-cc1, cc1plus, collect2, cpp, g++, gcc, gccbug, and gcov</para>
-
-<para><emphasis>Installed libraries</emphasis>: libgcc.a, libgcc_eh.a,
-libgcc_s.so, libstdc++.[a,so] and libsupc++.a</para>
-
-</sect2>
-
diff --git a/appendixa/gettext-dep.xml b/appendixa/gettext-dep.xml
deleted file mode 100644
index eb7884aad..000000000
--- a/appendixa/gettext-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Gettext depends on: Bash, Binutils, Bison, Coreutils,
-Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed.</para>
diff --git a/appendixa/gettext-desc.xml b/appendixa/gettext-desc.xml
deleted file mode 100644
index be027bbdf..000000000
--- a/appendixa/gettext-desc.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>autopoint</command> copies standard gettext infrastructure
-files into a source package.</para>
-
-<para><command>config.charset</command> outputs a system-dependent table of
-character encoding aliases.</para>
-
-<para><command>config.rpath</command> outputs a system-dependent set of
-variables, describing how to set the runtime search path of shared libraries in an
-executable.</para>
-
-<para><command>envsubst</command> substitutes environment variables in shell
-format strings.</para>
-
-<para><command>gettext</command> translates a natural language message into
-the user's language, by looking up the translation in a message catalog.</para>
-
-<para><command>gettextize</command> copies all standard Gettext files into
-the given top-level directory of a package, to begin internationalizing it.</para>
-
-<para><command>hostname</command> displays a network hostname in various
-forms.</para>
-
-<para><command>msgattrib</command> filters the messages of a translation
-catalog according to their attributes and manipulates the attributes.</para>
-
-<para><command>msgcat</command> concatenates and merges the given
-<filename>.po</filename> files.</para>
-
-<para><command>msgcmp</command> compares two <filename>.po</filename>
-files to check that both contain the same set of msgid strings.</para>
-
-<para><command>msgcomm</command> finds the messages that are common to
-to the given <filename>.po</filename> files.</para>
-
-<para><command>msgconv</command> converts a translation catalog to a
-different character encoding.</para>
-
-<para><command>msgen</command> creates an English translation catalog.</para>
-
-<para><command>msgexec</command> applies a command to all translations of a
-translation catalog.</para>
-
-<para><command>msgfilter</command> applies a filter to all translations of a
-translation catalog.</para>
-
-<para><command>msgfmt</command> generates a binary message catalog from
-from a translation catalog.</para>
-
-<para><command>msggrep</command> extracts all messages of a translation
-catalog that match a given pattern or belong to some given source files.</para>
-
-<para><command>msginit</command> creates a new <filename>.po</filename>
-file, initializing the meta information with values from the user's
-environment.</para>
-
-<para><command>msgmerge</command> combines two raw translations into a
-single file.</para>
-
-<para><command>msgunfmt</command> decompiles a binary message catalog
-into raw translation text.</para>
-
-<para><command>msguniq</command> unifies duplicate translations in a
-translation catalog.</para>
-
-<para><command>ngettext</command> displays native language translations of a
-textual message whose grammatical form depends on a number.</para>
-
-<para><command>xgettext</command> extracts the translatable message lines
-from the given source files, to make the first translation template.</para>
-
-<para><command>libasprintf</command> defines the autosprintf class which
-makes C formatted output routines usable in C++ programs, for use with the
-&lt;string&gt; strings and the &lt;iostream&gt; streams.</para>
-
-<para><command>libgettextlib</command> is a private library containing
-common routines used by the various gettext programs. They're not meant for
-general use.</para>
-
-<para><command>libgettextpo</command> is used to write specialized
-programs that process PO files. This library is used when the standard
-applications shipped with gettext won't suffice (such as msgcomm, msgcmp,
-msgattrib and msgen).</para>
-
-<para><command>libgettextsrc</command> is a private library containing
-common routines used by the various gettext programs. They're not meant for
-general use.</para>
-
-</sect2>
-
diff --git a/appendixa/gettext-down.xml b/appendixa/gettext-down.xml
deleted file mode 100644
index 6d9f47079..000000000
--- a/appendixa/gettext-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Gettext (&gettext-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/gettext/"/></literallayout>
diff --git a/appendixa/gettext-shortdesc.xml b/appendixa/gettext-shortdesc.xml
deleted file mode 100644
index 18d875100..000000000
--- a/appendixa/gettext-shortdesc.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-gettext"><title>Contents of Gettext</title>
-
-<para><emphasis>Installed programs</emphasis>: autopoint, config.charset,
-config.rpath, envsubst, gettext, gettextize, hostname, msgattrib, msgcat,
-msgcmp, msgcomm, msgconv, msgen, msgexec, msgfilter, msgfmt, msggrep, msginit,
-msgmerge, msgunfmt, msguniq, ngettext, project-id, team-address, trigger,
-urlget, user-email and xgettext</para>
-
-<para><emphasis>Installed libraries</emphasis>: libasprintf[a,so],
-libgettextlib[a,so], libgettextpo[a,so] and libgettextsrc[a,so]</para>
-
-</sect2>
diff --git a/appendixa/glibc-dep.xml b/appendixa/glibc-dep.xml
deleted file mode 100644
index 8893d3721..000000000
--- a/appendixa/glibc-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Glibc depends on: Bash, Binutils, Coreutils, Diffutils,
-Gawk, GCC, Gettext, Grep, Make, Perl, Sed, Texinfo.</para>
diff --git a/appendixa/glibc-desc.xml b/appendixa/glibc-desc.xml
deleted file mode 100644
index f541a70ed..000000000
--- a/appendixa/glibc-desc.xml
+++ /dev/null
@@ -1,131 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>catchsegv</command> can be used to create a stack trace
-when a program terminates with a segmentation fault.</para>
-
-<para><command>gencat</command> generates message catalogues.</para>
-
-<para><command>getconf</command> displays the system configuration values
-for file system specific variables.</para>
-
-<para><command>getent</command> gets entries from an administrative
-database.</para>
-
-<para><command>glibcbug</command> creates a bug report and mails it to the
-bug email address.</para>
-
-<para><command>iconv</command> performs character set conversion.</para>
-
-<para><command>iconvconfig</command> creates fastloading iconv module
-configuration file.</para>
-
-<para><command>ldconfig</command> configures the dynamic linker runtime
-bindings.</para>
-
-<para><command>ldd</command> reports which shared libraries are required
-by each given program or shared library.</para>
-
-<para><command>lddlibc4</command> assists ldd with object files.</para>
-
-<para><command>locale</command> is a Perl program that tells the compiler
-to enable or disable the use of POSIX locales for built-in operations.</para>
-
-<para><command>localedef</command> compiles locale specifications.</para>
-
-<para><command>mtrace</command>...</para>
-
-<para><command>nscd</command> is a name service cache daemon providing a
-cache for the most common name service requests.</para>
-
-<para><command>nscd_nischeck</command> checks whether or not secure mode
-is necessary for NIS+ lookup.</para>
-
-<para><command>pcprofiledump</command> dumps information generated by
-PC profiling.</para>
-
-<para><command>pt_chown</command> is a helper program for grantpt to set
-the owner, group and access permissions of a slave pseudo terminal.</para>
-
-<para><command>rpcgen</command> generates C code to implement the
-RPC protocol.</para>
-
-<para><command>rpcinfo</command> makes an RPC call to an RPC server.</para>
-
-<para><command>sln</command> is used to make symbolic links. The program
-is statically linked, so it is useful for making symbolic links to dynamic
-libraries if the dynamic linking system for some reason is nonfunctional.</para>
-
-<para><command>sprof</command> reads and displays shared object profiling
-data.</para>
-
-<para><command>tzselect</command> asks the user about the location of the
-system and reports the corresponding time zone description.</para>
-
-<para><command>xtrace</command> traces the execution of a program by
-printing the currently executed function.</para>
-
-<para><command>zdump</command> is the time zone dumper.</para>
-
-<para><command>zic</command> is the time zone compiler.</para>
-
-<para><command>ld.so</command> is the helper program for shared library
-executables.</para>
-
-<para><command>libBrokenLocale</command> is used by programs, such as
-Mozilla, to solve broken locales.</para>
-
-<para><command>libSegFault</command> is a segmentation fault signal
-handler. It tries to catch segfaults.</para>
-
-<para><command>libanl</command> is an asynchronous name lookup
-library.</para>
-
-<para><command>libbsd-compat</command> provides the portability needed
-in order to run certain BSD programs under Linux.</para>
-
-<para><command>libc</command> is the main C library -- a collection of
-commonly used functions.</para>
-
-<para><command>libcrypt</command> is the cryptography library.</para>
-
-<para><command>libdl</command> is the dynamic linking interface library.</para>
-
-<para><command>libg</command> is a runtime library for g++.</para>
-
-<para><command>libieee</command> is the IEEE floating point library.</para>
-
-<para><command>libm</command> is the mathematical library.</para>
-
-<para><command>libmcheck</command> contains code run at boot.</para>
-
-<para><command>libmemusage</command> is used by memusage to help collect
-information about the memory usage of a program.</para>
-
-<para><command>libnsl</command> is the network services library.</para>
-
-<para><command>libnss*</command> are the Name Service Switch libraries,
-containing functions for resolving host names, user names, group names,
-aliases, services, protocols,and the like.</para>
-
-<para><command>libpcprofile</command> contains profiling functions used
-to track the amount of CPU time spent in which source code lines.</para>
-
-<para><command>libpthread</command> is the POSIX threads library.</para>
-
-<para><command>libresolv</command> contains functions for creating,
-sending, and interpreting packets to the Internet domain name servers.</para>
-
-<para><command>librpcsvc</command>contains functions providing
-miscellaneous RPC services.</para>
-
-<para><command>librt</command> contains functions providing most of the
-interfaces specified by the POSIX.1b Realtime Extension.</para>
-
-<para><command>libthread_db</command> contains functions useful for
-building debuggers for multi-threaded programs.</para>
-
-<para><command>libutil</command> contains code for "standard" functions
-used in many different Unix utilities.</para>
-
-</sect2>
-
diff --git a/appendixa/glibc-down.xml b/appendixa/glibc-down.xml
deleted file mode 100644
index 27a99e8a6..000000000
--- a/appendixa/glibc-down.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<literallayout>Official download location for Glibc (&glibc-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/glibc/"/>
-
-Alternative download locations (courtesy of the generous LFS Mirrors):
-<ulink url="ftp://gaosu.rave.org/pub/linux/lfs/packages/conglomeration/&glibc-package;"/>
-<ulink url="http://lfs.mirror.intermedia.com.sg/packages/glibc/&glibc-package;"/>
-<ulink url="ftp://lfs.mirror.intermedia.com.sg/pub/lfs/glibc/&glibc-package;"/>
-<ulink url="http://dl.lfs.fredan.org/&glibc-package;"/>
-<ulink url="http://packages.lfs-es.org/&glibc-package;"/>
-<ulink url="http://mirror.averse.net/lfs-packages/&glibc-package;"/>
-<ulink url="ftp://mirror.averse.net/pub/lfs-packages/&glibc-package;"/>
-<ulink url="ftp://ftp.lfs-matrix.de/lfs/packages/conglomeration/&glibc-package;"/></literallayout>
diff --git a/appendixa/glibc-shortdesc.xml b/appendixa/glibc-shortdesc.xml
deleted file mode 100644
index 100a6a946..000000000
--- a/appendixa/glibc-shortdesc.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-glibc"><title>Contents of Glibc</title>
-
-<para><emphasis>Installed programs</emphasis>: catchsegv, gencat, getconf,
-getent, glibcbug, iconv, iconvconfig, ldconfig, ldd, lddlibc4, locale,
-localedef, mtrace, nscd, nscd_nischeck, pcprofiledump, pt_chown, rpcgen,
-rpcinfo, sln, sprof, tzselect, xtrace, zdump and zic</para>
-
-<para><emphasis>Installed libraries</emphasis>: ld.so, libBrokenLocale.[a,so],
-libSegFault.so, libanl.[a,so], libbsd-compat.a, libc.[a,so], libc_nonshared.a,
-libcrypt.[a,so], libdl.[a,so], libg.a, libieee.a, libm.[a,so], libmcheck.a,
-libmemusage.so, libnsl.a, libnss_compat.so, libnss_dns.so, libnss_files.so,
-libnss_hesiod.so, libnss_nis.so, libnss_nisplus.so, libpcprofile.so,
-libpthread.[a,so], libresolv.[a,so], librpcsvc.a, librt.[a,so], libthread_db.so
-and libutil.[a,so]</para>
-
-</sect2>
-
diff --git a/appendixa/grep-dep.xml b/appendixa/grep-dep.xml
deleted file mode 100644
index bb6a741b9..000000000
--- a/appendixa/grep-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Grep depends on: Bash, Binutils, Coreutils,
-Diffutils, GCC, Gettext, Glibc, Make, Sed, Texinfo.</para>
diff --git a/appendixa/grep-desc.xml b/appendixa/grep-desc.xml
deleted file mode 100644
index 68657feb5..000000000
--- a/appendixa/grep-desc.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>egrep</command> prints lines matching an extended regular
-expression.</para>
-
-<para><command>fgrep</command> prints lines matching a list of fixed
-strings.</para>
-
-<para><command>grep</command> prints lines matching a basic regular
-expression.</para>
-
-</sect2>
-
diff --git a/appendixa/grep-down.xml b/appendixa/grep-down.xml
deleted file mode 100644
index 8c2664030..000000000
--- a/appendixa/grep-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Grep (&grep-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/grep/"/></literallayout>
diff --git a/appendixa/grep-shortdesc.xml b/appendixa/grep-shortdesc.xml
deleted file mode 100644
index 5d2806f64..000000000
--- a/appendixa/grep-shortdesc.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-grep"><title>Contents of Grep</title>
-
-<para><emphasis>Installed programs</emphasis>: egrep (link to grep), fgrep
-(link to grep) and grep</para>
-
-</sect2>
-
diff --git a/appendixa/groff-dep.xml b/appendixa/groff-dep.xml
deleted file mode 100644
index d41eef455..000000000
--- a/appendixa/groff-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Groff depends on: Bash, Binutils, Coreutils, Diffutils,
-Gawk, GCC, Glibc, Grep, Make, Sed.</para>
diff --git a/appendixa/groff-desc.xml b/appendixa/groff-desc.xml
deleted file mode 100644
index fbb001851..000000000
--- a/appendixa/groff-desc.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>addftinfo</command> reads a troff font file and adds some
-additional font-metric information that is used by the groff system.</para>
-
-<para><command>afmtodit</command> creates a font file for use with
-groff and grops.</para>
-
-<para><command>eqn</command> compiles descriptions of equations embedded
-within troff input files into commands that are understood by troff.</para>
-
-<para><command>eqn2graph</command> converts an EQN equation into a cropped
-image.</para>
-
-<para><command>grn</command> is a groff preprocessor for gremlin files.</para>
-
-<para><command>grodvi</command> is a driver for groff that produces TeX dvi format.</para>
-
-<para><command>groff</command> is a front-end to the groff document
-formatting system. Normally it runs the troff program and a post-processor
-appropriate for the selected device.</para>
-
-<para><command>groffer</command> displays groff files and man pages on X
-and tty.</para>
-<para><command>grog</command> reads files and guesses which of the groff
-options -e, -man, -me, -mm, -ms, -p, -s, and -t are required for printing
-files, and reports the groff command including those options.</para>
-
-<para><command>grolbp</command> is a groff driver for Canon CAPSL printers
-(LBP-4 and LBP-8 series laser printers).</para>
-
-<para><command>grolj4</command> is a driver for groff that produces output
-in PCL5 format suitable for an HP Laserjet 4 printer.</para>
-
-<para><command>grops</command> translates the output of GNU troff to
-Postscript.</para>
-
-<para><command>grotty</command> translates the output of GNU troff into
-a form suitable for typewriter-like devices.</para>
-
-<para><command>gtbl</command> is the GNU implementation of tbl.</para>
-
-<para><command>hpftodit</command> creates a font file for use with
-groff -Tlj4 from an HP-tagged font metric file.</para>
-
-<para><command>indxbib</command> makes an inverted index for the
-bibliographic databases a specified file for use with refer, lookbib,
-and lkbib.</para>
-
-<para><command>lkbib</command> searches bibliographic databases for
-references that contain specified keys and reports any references found.</para>
-
-<para><command>lookbib</command> prints a prompt on the standard error
-(unless the standard input is not a terminal), reads from the standard input
-a line containing a set of keywords, searches the bibliographic databases in
-a specified file for references containing those keywords, prints any
-references found on the standard output and repeats this process until the
-end of input.</para>
-
-<para><command>mmroff</command> is a simple preprocessor for groff.</para>
-
-<para><command>neqn</command> formats equations for ascii output.</para>
-
-<para><command>nroff</command> is a script that emulates the nroff command
-using groff.</para>
-
-<para><command>pfbtops</command> translates a Postscript font in .pfb
-format to ASCII.</para>
-
-<para><command>pic</command> compiles descriptions of pictures embedded
-within troff or TeX input files into commands understood by TeX or troff.</para>
-
-<para><command>pic2graph</command> converts a PIC diagram into a cropped
-image.</para>
-
-<para><command>pre-grohtml </command> translates the output of GNU troff
-to html.</para>
-
-<para><command>post-grohtml</command> translates the output of GNU troff
-to html.</para>
-
-<para><command>refer</command> copies the contents of a file to the
-standard output, except that lines between .[ and .] are interpreted as
-citations, and lines between .R1 and .R2 are interpreted as commands about
-how citations are to be processed.</para>
-
-<para><command>soelim</command> reads files and replaces lines of the form
-<emphasis>.so file</emphasis> by the contents of the mentioned
-<emphasis>file</emphasis>.</para>
-
-<para><command>tbl</command> compiles descriptions of tables embedded
-within troff input files into commands that are understood by troff.</para>
-
-<para><command>tfmtodit</command> creates a font file for use with
-groff -Tdvi.</para>
-
-<para><command>troff</command> is highly compatible with Unix troff.
-Usually it should be invoked using the groff command, which will also run
-preprocessors and post-processors in the appropriate order and with the
-appropriate options.</para>
-
-<para><command>zsoelim</command> is the GNU implementation of soelim.</para>
-
-</sect2>
-
diff --git a/appendixa/groff-down.xml b/appendixa/groff-down.xml
deleted file mode 100644
index dbe66cd73..000000000
--- a/appendixa/groff-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Groff (&groff-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/groff/"/></literallayout>
diff --git a/appendixa/groff-shortdesc.xml b/appendixa/groff-shortdesc.xml
deleted file mode 100644
index 1fb9b20e0..000000000
--- a/appendixa/groff-shortdesc.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-groff"><title>Contents of Groff</title>
-
-<para><emphasis>Installed programs</emphasis>: addftinfo, afmtodit, eqn,
-eqn2graph, geqn (link to eqn), grn, grodvi, groff, groffer, grog, grolbp,
-grolj4, grops, grotty, gtbl (link to tbl), hpftodit, indxbib, lkbib,
-lookbib, mmroff, neqn, nroff, pfbtops, pic, pic2graph, post-grohtml,
-pre-grohtml, refer, soelim, tbl, tfmtodit, troff and zsoelim (link to
-soelim)</para>
-
-</sect2>
diff --git a/appendixa/grub-dep.xml b/appendixa/grub-dep.xml
deleted file mode 100644
index e1384ce5e..000000000
--- a/appendixa/grub-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Grub depends on: Bash, Binutils, Coreutils, Diffutils,
-GCC, Glibc, Grep, Make, Ncurses, Sed.</para>
diff --git a/appendixa/grub-desc.xml b/appendixa/grub-desc.xml
deleted file mode 100644
index 0a70214de..000000000
--- a/appendixa/grub-desc.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>grub</command> is the GRand Unified Bootloader's command
-shell.</para>
-
-<para><command>grub-install</command> installs GRUB on the given device.</para>
-
-<para><command>grub-md5-crypt</command> encrypts a password in MD5
-format.</para>
-
-<para><command>grub-terminfo</command> generates a terminfo command from a
-terminfo name. It can be used if you have an uncommon terminal.</para>
-
-<para><command>mbchk</command> checks the format of a multiboot kernel.</para>
-
-</sect2>
diff --git a/appendixa/grub-down.xml b/appendixa/grub-down.xml
deleted file mode 100644
index 331a9ecda..000000000
--- a/appendixa/grub-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Grub (&grub-version;):
-<ulink url="ftp://alpha.gnu.org/gnu/grub/"/></literallayout>
diff --git a/appendixa/grub-shortdesc.xml b/appendixa/grub-shortdesc.xml
deleted file mode 100644
index 01b313905..000000000
--- a/appendixa/grub-shortdesc.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-grub"><title>Contents of Grub</title>
-
-<para><emphasis>Installed programs</emphasis>: grub, grub-install,
-grub-md5-crypt, grub-terminfo and mbchk</para>
-
-</sect2>
diff --git a/appendixa/gzip-dep.xml b/appendixa/gzip-dep.xml
deleted file mode 100644
index d9e167abe..000000000
--- a/appendixa/gzip-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Gzip depends on: Bash, Binutils, Coreutils, Diffutils,
-GCC, Glibc, Grep, Make, Sed.</para>
diff --git a/appendixa/gzip-desc.xml b/appendixa/gzip-desc.xml
deleted file mode 100644
index ccd18ccc2..000000000
--- a/appendixa/gzip-desc.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>gunzip</command> decompresses gzipped files.</para>
-
-<para><command>gzexe</command> is used to create self-uncompressing
-executable files.</para>
-
-<para><command>gzip</command> compresses the given files, using
-Lempel-Ziv (LZ77) coding.</para>
-
-<para><command>zcat</command> uncompresses the given gzipped files to
-standard output.</para>
-
-<para><command>zcmp</command> runs cmp on gzipped files.</para>
-
-<para><command>zdiff</command> runs diff on gzipped files.</para>
-
-<para><command>zegrep</command> runs egrep on gzipped files.</para>
-
-<para><command>zfgrep</command> runs fgrep on gzipped files.</para>
-
-<para><command>zforce</command> forces a .gz extension on all given files
-that are gzipped files, so that gzip will not compress them again. This can be
-useful when file names were truncated during a file transfer.</para>
-
-<para><command>zgrep</command> runs grep on gzipped files.</para>
-
-<para><command>zless</command> runs less on gzipped files.</para>
-
-<para><command>zmore</command> runs more on gzipped files.</para>
-
-<para><command>znew</command> recompresses files from compress format
-to gzip format -- .Z to .gz.</para>
-
-</sect2>
-
diff --git a/appendixa/gzip-down.xml b/appendixa/gzip-down.xml
deleted file mode 100644
index a8ee75b23..000000000
--- a/appendixa/gzip-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Gzip (&gzip-version;):
-<ulink url="ftp://alpha.gnu.org/gnu/gzip/"/></literallayout>
diff --git a/appendixa/gzip-shortdesc.xml b/appendixa/gzip-shortdesc.xml
deleted file mode 100644
index e22b7f697..000000000
--- a/appendixa/gzip-shortdesc.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-gzip"><title>Contents of Gzip</title>
-
-<para><emphasis>Installed programs</emphasis>: gunzip (link to gzip), gzexe,
-gzip, uncompress (link to gunzip), zcat (link to gzip), zcmp, zdiff,
-zegrep, zfgrep, zforce, zgrep, zless, zmore and znew</para>
-
-</sect2>
diff --git a/appendixa/inetutils-dep.xml b/appendixa/inetutils-dep.xml
deleted file mode 100644
index 7d83843eb..000000000
--- a/appendixa/inetutils-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Inetutils depends on: Bash, Binutils, Coreutils,
-Diffutils, GCC, Glibc, Grep, Make, Ncurses, Sed.</para>
diff --git a/appendixa/inetutils-desc.xml b/appendixa/inetutils-desc.xml
deleted file mode 100644
index 6f4634ae9..000000000
--- a/appendixa/inetutils-desc.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>ftp</command> is the ARPANET file transfer program.</para>
-
-<para><command>ping</command> sends echo-request packets and reports how
-long the replies take.</para>
-
-<para><command>rcp</command> does remote file copy.</para>
-
-<para><command>rlogin</command> does remote login.</para>
-
-<para><command>rsh</command> runs a remote shell.</para>
-
-<para><command>talk</command> is used to chat up another user.</para>
-
-<para><command>telnet</command> is an interface to the TELNET protocol.</para>
-
-<para><command>tftp</command> is a trivial file transfer program.</para>
-
-</sect2>
-
diff --git a/appendixa/inetutils-down.xml b/appendixa/inetutils-down.xml
deleted file mode 100644
index 27c6c8029..000000000
--- a/appendixa/inetutils-down.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<literallayout>Official download location for Inetutils (&inetutils-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/inetutils/"/>
-And for the patch:
-<ulink url="&patches-root;&inetutils-no-server-man-pages-patch;"/></literallayout>
diff --git a/appendixa/inetutils-shortdesc.xml b/appendixa/inetutils-shortdesc.xml
deleted file mode 100644
index 205a4792c..000000000
--- a/appendixa/inetutils-shortdesc.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-inetutils"><title>Contents of Inetutils</title>
-
-<para><emphasis>Installed programs</emphasis>: ftp, ping, rcp, rlogin, rsh,
-talk, telnet and tftp</para>
-
-</sect2>
diff --git a/appendixa/kbd-dep.xml b/appendixa/kbd-dep.xml
deleted file mode 100644
index 668feab86..000000000
--- a/appendixa/kbd-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Kbd depends on: Bash, Binutils, Bison, Coreutils,
-Diffutils, Flex, GCC, Gettext, Glibc, Grep, Gzip, M4, Make, Sed.</para>
diff --git a/appendixa/kbd-desc.xml b/appendixa/kbd-desc.xml
deleted file mode 100644
index ab2395136..000000000
--- a/appendixa/kbd-desc.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>chvt</command> changes the foreground virtual terminal.</para>
-
-<para><command>deallocvt</command> deallocates unused virtual terminals.</para>
-
-<para><command>dumpkeys</command> dumps the keyboard translation tables.</para>
-
-<para><command>fgconsole</command> prints the number of the active virtual terminal.</para>
-
-<para><command>getkeycodes</command> prints the kernel scancode-to-keycode
-mapping table.</para>
-
-<para><command>getunimap</command> prints the currently used unimap.</para>
-
-<para><command>kbd_mode</command> reports or sets the keyboard mode.</para>
-
-<para><command>kbdrate</command> sets the keyboard repeat and delay rates.</para>
-
-<para><command>loadkeys</command> loads the keyboard translation tables.</para>
-
-<para><command>loadunimap</command> loads the kernel unicode-to-font mapping table.</para>
-
-<para><command>mapscrn</command> is an obsolete program that used to load
-a user-defined output character mapping table into the console driver. This is
-now done by setfont.</para>
-
-<para><command>openvt</command> starts a program on a new virtual terminal (VT).</para>
-
-<para><command>psf*</command> are a set of tools for handling Unicode
-character tables for console fonts.</para>
-
-<para><command>resizecons</command> changes the kernel idea of the console size.</para>
-
-<para><command>setfont</command> lets you change the EGA/VGA fonts on the console.</para>
-
-<para><command>setkeycodes</command> loads kernel scancode-to-keycode
-mapping table entries, useful if you have some unusual keys on your keyboard.</para>
-
-<para><command>setleds</command> sets the keyboard flags and LEDs. Many
-people find it useful to have NumLock on by default, setleds +num achieves this.</para>
-
-<para><command>setlogcons</command> sends kernel messages to the console.</para>
-
-<para><command>setmetamode</command> defines the keyboard meta key handling.</para>
-
-<para><command>setvesablank</command> lets you fiddle with the built-in
-hardware screensaver (no toasters, just a blank screen).</para>
-
-<para><command>showconsolefont</command> shows the current EGA/VGA console
-screen font.</para>
-
-<para><command>showkey</command> reports the scancodes and keycodes and
-ASCII codes of the keys pressed on the keyboard.</para>
-
-<para><command>unicode_start</command> puts the keyboard and console in
-unicode mode.</para>
-
-<para><command>unicode_stop</command> reverts keyboard and console from
-unicode mode.</para>
-
-</sect2>
-
diff --git a/appendixa/kbd-down.xml b/appendixa/kbd-down.xml
deleted file mode 100644
index e7ef11f24..000000000
--- a/appendixa/kbd-down.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<literallayout>Official download location for Kbd (&kbd-version;):
-<ulink url="ftp://ftp.win.tue.nl/pub/linux-local/utils/kbd/"/>
-And for the patch:
-<ulink url="&patches-root;&kbd-patch;"/></literallayout>
diff --git a/appendixa/kbd-shortdesc.xml b/appendixa/kbd-shortdesc.xml
deleted file mode 100644
index 8d8cd382f..000000000
--- a/appendixa/kbd-shortdesc.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-kbd"><title>Contents of Kbd</title>
-
-<para><emphasis>Installed programs</emphasis>: chvt, deallocvt, dumpkeys,
-fgconsole, getkeycodes, getunimap, kbd_mode, kbdrate, loadkeys, loadunimap,
-mapscrn, openvt, psfaddtable (link to psfxtable), psfgettable (link to
-psfxtable), psfstriptable (link to psfxtable), psfxtable, resizecons,
-setfont, setkeycodes, setleds, setlogcons, setmetamode, setvesablank,
-showconsolefont, showkey, unicode_start and unicode_stop</para>
-
-</sect2>
-
diff --git a/appendixa/kernel-dep.xml b/appendixa/kernel-dep.xml
deleted file mode 100644
index 38644e810..000000000
--- a/appendixa/kernel-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Linux depends on: Bash, Binutils, Coreutils, Findutils,
-GCC, Glibc, Grep, Gzip, Make, Modutils, Perl, Sed.</para>
diff --git a/appendixa/kernel-desc.xml b/appendixa/kernel-desc.xml
deleted file mode 100644
index 89d16ee3f..000000000
--- a/appendixa/kernel-desc.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para>The <emphasis>kernel</emphasis> is the engine of your GNU/Linux system.
-When switching on your box, the kernel is the first part of your operating
-system that gets loaded. It detects and initializes all the components of your
-computer's hardware, then makes these components available as a tree of files
-to the software, and turns a single CPU into a multi-tasking machine capable
-of running scores of programs seemingly at the same time.</para>
-
-<para>The <emphasis>kernel headers</emphasis> define the interface to the
-services that the kernel provides. The headers in your system's
-<filename>include</filename> directory should <emphasis>always</emphasis> be
-the ones against which Glibc was compiled and should therefore
-<emphasis>not</emphasis> be replaced when upgrading the kernel.</para>
-
-<para>The <filename>System.map</filename> file is a list of addresses and
-symbols. It maps the entry points and addresses of all the functions and data
-structures in the kernel.</para>
-
-</sect2>
-
diff --git a/appendixa/kernel-down.xml b/appendixa/kernel-down.xml
deleted file mode 100644
index d12a3364c..000000000
--- a/appendixa/kernel-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Linux (&kernel-version;):
-<ulink url="ftp://ftp.kernel.org/pub/linux/kernel/"/></literallayout>
diff --git a/appendixa/kernel-shortdesc.xml b/appendixa/kernel-shortdesc.xml
deleted file mode 100644
index 593822638..000000000
--- a/appendixa/kernel-shortdesc.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-kernel"><title>Contents of Linux</title>
-
-<para><emphasis>Installed files</emphasis>: the kernel, the kernel headers,
-and the System.map</para>
-
-</sect2>
diff --git a/appendixa/less-dep.xml b/appendixa/less-dep.xml
deleted file mode 100644
index eb7e80715..000000000
--- a/appendixa/less-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Less depends on: Bash, Binutils, Coreutils, Diffutils,
-GCC, Glibc, Grep, Make, Ncurses, Sed.</para>
diff --git a/appendixa/less-desc.xml b/appendixa/less-desc.xml
deleted file mode 100644
index ddbf57ccb..000000000
--- a/appendixa/less-desc.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>less</command> is a file viewer or pager. It displays the
-contents of the given file, letting you scroll around, find strings, and jump
-to marks.</para>
-
-<para><command>lessecho</command> is needed to expand metacharacters,
-such as * and ?, in filenames on Unix systems.</para>
-
-<para><command>lesskey</command> is used to specify the key bindings
-for less.</para>
-
-</sect2>
-
diff --git a/appendixa/less-down.xml b/appendixa/less-down.xml
deleted file mode 100644
index e413e25da..000000000
--- a/appendixa/less-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Less (&less-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/less/"/></literallayout>
diff --git a/appendixa/less-shortdesc.xml b/appendixa/less-shortdesc.xml
deleted file mode 100644
index a6b1cb6e5..000000000
--- a/appendixa/less-shortdesc.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-less"><title>Contents of Less</title>
-
-<para><emphasis>Installed programs</emphasis>: less, lessecho and lesskey</para>
-
-</sect2>
-
diff --git a/appendixa/lfs-utils-dep.xml b/appendixa/lfs-utils-dep.xml
deleted file mode 100644
index 5334625a0..000000000
--- a/appendixa/lfs-utils-dep.xml
+++ /dev/null
@@ -1 +0,0 @@
-<para>The installation dependencies for Lfs-Utils haven't been checked yet.</para>
diff --git a/appendixa/lfs-utils-desc.xml b/appendixa/lfs-utils-desc.xml
deleted file mode 100644
index a0d6cf832..000000000
--- a/appendixa/lfs-utils-desc.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>mktemp</command> creates temporary files in a secure manner.
-It is used in scripts.</para>
-
-<para><command>tempfile</command> creates temporary files in a less secure
-manner than <command>mktemp</command>. It is installed for
-backwards-compatibility.</para>
-
-<para>The <command>http-get</command> script takes advantage of a little known
-feature of <command>bash</command> called "net redirection". It is used to
-download from websites without using any other programs.</para>
-
-<para><command>iana-net</command> uses the <command>http-get</command>
-script to simplify the process of procuring IANA's services and protocols
-configuration files.</para>
-
-</sect2>
diff --git a/appendixa/lfs-utils-down.xml b/appendixa/lfs-utils-down.xml
deleted file mode 100644
index f1c251ccd..000000000
--- a/appendixa/lfs-utils-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Lfs-Utils (&lfs-utils-version;):
-<ulink url="&lfs-root;~winkie/downloads/lfs-utils/"/></literallayout>
diff --git a/appendixa/lfs-utils-shortdesc.xml b/appendixa/lfs-utils-shortdesc.xml
deleted file mode 100644
index f3d5fe50f..000000000
--- a/appendixa/lfs-utils-shortdesc.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-lfs"><title>Contents of Lfs-Utils</title>
-
-<para><emphasis>Installed programs</emphasis>: mktemp, tempfile, http-get
-and iana-net</para>
-
-<para><emphasis>Installed files</emphasis>: protocols, services</para>
-
-</sect2>
diff --git a/appendixa/libtool-dep.xml b/appendixa/libtool-dep.xml
deleted file mode 100644
index c5a290344..000000000
--- a/appendixa/libtool-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Libtool depends on: Bash, Binutils, Coreutils, Diffutils,
-GCC, Glibc, Grep, Make, Sed.</para>
diff --git a/appendixa/libtool-desc.xml b/appendixa/libtool-desc.xml
deleted file mode 100644
index e26ce490d..000000000
--- a/appendixa/libtool-desc.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>libtool</command> provides generalized library-building
-support services.</para>
-
-<para><command>libtoolize</command> provides a standard way to add
-libtool support to a package.</para>
-
-<para><command>libltdl</command> hides the various difficulties of
-dlopening libraries.</para>
-
-</sect2>
-
diff --git a/appendixa/libtool-down.xml b/appendixa/libtool-down.xml
deleted file mode 100644
index e5a2174d6..000000000
--- a/appendixa/libtool-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Libtool (&libtool-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/libtool/"/></literallayout>
diff --git a/appendixa/libtool-shortdesc.xml b/appendixa/libtool-shortdesc.xml
deleted file mode 100644
index fd5552bb7..000000000
--- a/appendixa/libtool-shortdesc.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-libtool"><title>Contents of Libtool</title>
-
-<para><emphasis>Installed programs</emphasis>: libtool and libtoolize</para>
-
-<para><emphasis>Installed libraries</emphasis>: libltdl.[a,so].</para>
-
-</sect2>
-
diff --git a/appendixa/m4-dep.xml b/appendixa/m4-dep.xml
deleted file mode 100644
index 93ebe7111..000000000
--- a/appendixa/m4-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation M4 depends on: Bash, Binutils, Coreutils, Diffutils, GCC,
-Gettext, Glibc, Grep, Make, Perl, Sed.</para>
diff --git a/appendixa/m4-desc.xml b/appendixa/m4-desc.xml
deleted file mode 100644
index b6a4007a9..000000000
--- a/appendixa/m4-desc.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<sect2><title>Short description</title>
-
-<para><command>m4</command> copies the given files
-while expanding the macros that they contain. These macros are either built-in
-or user-defined and can take any number of arguments. Besides just doing macro
-expansion, m4 has built-in functions for including named files, running Unix
-commands, doing integer arithmetic, manipulating text in various ways,
-recursion, and so on. The m4 program can be used either as a front-end to a
-compiler or as a macro processor in its own right.</para>
-
-</sect2>
-
diff --git a/appendixa/m4-down.xml b/appendixa/m4-down.xml
deleted file mode 100644
index d5328d50c..000000000
--- a/appendixa/m4-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for M4 (&m4-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/m4/"/></literallayout>
diff --git a/appendixa/m4-shortdesc.xml b/appendixa/m4-shortdesc.xml
deleted file mode 100644
index a33935600..000000000
--- a/appendixa/m4-shortdesc.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-m4"><title>Contents of M4</title>
-
-<para><emphasis>Installed program</emphasis>: m4</para>
-
-</sect2>
diff --git a/appendixa/make-dep.xml b/appendixa/make-dep.xml
deleted file mode 100644
index ae5524b9a..000000000
--- a/appendixa/make-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Make depends on: Bash, Binutils, Coreutils, Diffutils,
-GCC, Gettext, Glibc, Grep, Sed.</para>
diff --git a/appendixa/make-desc.xml b/appendixa/make-desc.xml
deleted file mode 100644
index 677181d17..000000000
--- a/appendixa/make-desc.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<sect2><title>Short description</title>
-
-<para><command>make</command> automatically determines which pieces of a
-large package need to be recompiled, and then issues the relevant commands.</para>
-
-</sect2>
-
diff --git a/appendixa/make-down.xml b/appendixa/make-down.xml
deleted file mode 100644
index 6e910749b..000000000
--- a/appendixa/make-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Make (&make-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/make/"/></literallayout>
diff --git a/appendixa/make-shortdesc.xml b/appendixa/make-shortdesc.xml
deleted file mode 100644
index fbfbf8e52..000000000
--- a/appendixa/make-shortdesc.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-make"><title>Contents of Make</title>
-
-<para><emphasis>Installed program</emphasis>: make</para>
-
-</sect2>
-
diff --git a/appendixa/makedev-dep.xml b/appendixa/makedev-dep.xml
deleted file mode 100644
index 1cf303245..000000000
--- a/appendixa/makedev-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Make_devices depends on: Bash, Bzip2,
-Coreutils.</para>
diff --git a/appendixa/makedev-desc.xml b/appendixa/makedev-desc.xml
deleted file mode 100644
index 8c16ef1df..000000000
--- a/appendixa/makedev-desc.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<sect2><title>Short description</title>
-
-<para><command>make_devices</command> is a script for creating a basic set of
-static device nodes, usually residing in the <filename
-class="directory">/dev</filename> directory.</para>
-
-</sect2>
-
diff --git a/appendixa/makedev-down.xml b/appendixa/makedev-down.xml
deleted file mode 100644
index 807fae824..000000000
--- a/appendixa/makedev-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Make_devices (&makedev-version;):
-<ulink url="&http-down;"/></literallayout>
diff --git a/appendixa/makedev-shortdesc.xml b/appendixa/makedev-shortdesc.xml
deleted file mode 100644
index 8544ef40e..000000000
--- a/appendixa/makedev-shortdesc.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-makedev"><title>Contents of Make_devices</title>
-
-<para><emphasis>Installed script</emphasis>: make_devices</para>
-
-</sect2>
diff --git a/appendixa/man-dep.xml b/appendixa/man-dep.xml
deleted file mode 100644
index e5d2af969..000000000
--- a/appendixa/man-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Man depends on: Bash, Binutils, Coreutils, Gawk, GCC,
-Glibc, Grep, Make, Sed.</para>
diff --git a/appendixa/man-desc.xml b/appendixa/man-desc.xml
deleted file mode 100644
index 5a420fc50..000000000
--- a/appendixa/man-desc.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>apropos</command> searches the whatis database and displays
-the short descriptions of system commands that contain a given string.</para>
-
-<para><command>makewhatis</command> builds the whatis database. It reads
-all the manual pages in the manpath and for each page writes the name and a
-short description in the whatis database.</para>
-
-<para><command>man</command> formats and displays the requested on-line
-manual page.</para>
-
-<para><command>man2dvi</command> converts a manual page into dvi format.</para>
-
-<para><command>man2html</command> converts a manual page into html.</para>
-
-<para><command>whatis</command> searches the whatis database and displays
-the short descriptions of system commands that contain the given keyword as a
-separate word.</para>
-
-</sect2>
-
diff --git a/appendixa/man-down.xml b/appendixa/man-down.xml
deleted file mode 100644
index 266e917b0..000000000
--- a/appendixa/man-down.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<literallayout>Official download location for Man (&man-version;):
-<ulink url="ftp://ftp.win.tue.nl/pub/linux-local/utils/man/"/>
-And for the patch:
-<ulink url="&patches-root;&man-80cols-patch;"/></literallayout>
diff --git a/appendixa/man-shortdesc.xml b/appendixa/man-shortdesc.xml
deleted file mode 100644
index 1b106279e..000000000
--- a/appendixa/man-shortdesc.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-man"><title>Contents of Man</title>
-
-<para><emphasis>Installed programs</emphasis>: apropos, makewhatis, man,
-man2dvi, man2html and whatis</para>
-
-</sect2>
-
diff --git a/appendixa/manpages-dep.xml b/appendixa/manpages-dep.xml
deleted file mode 100644
index 9ec83f104..000000000
--- a/appendixa/manpages-dep.xml
+++ /dev/null
@@ -1 +0,0 @@
-<para>For its installation Man-pages depends on: Bash, Coreutils, Make.</para>
diff --git a/appendixa/manpages-desc.xml b/appendixa/manpages-desc.xml
deleted file mode 100644
index b0a5dfc4d..000000000
--- a/appendixa/manpages-desc.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<sect2><title>Short description</title>
-
-<para>Examples of provided <emphasis>manual pages</emphasis> are the pages
-describing all the C and C++ functions, important device files, and important
-configuration files.</para>
-
-</sect2>
-
diff --git a/appendixa/manpages-down.xml b/appendixa/manpages-down.xml
deleted file mode 100644
index 81f8c5c70..000000000
--- a/appendixa/manpages-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Man-pages (&man-pages-version;):
-<ulink url="ftp://ftp.win.tue.nl/pub/linux-local/manpages/"/></literallayout>
diff --git a/appendixa/manpages-shortdesc.xml b/appendixa/manpages-shortdesc.xml
deleted file mode 100644
index 018fc2434..000000000
--- a/appendixa/manpages-shortdesc.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-manpages"><title>Contents of Man-pages</title>
-
-<para><emphasis>Installed files</emphasis>: various manual pages</para>
-
-</sect2>
-
diff --git a/appendixa/modutils-dep.xml b/appendixa/modutils-dep.xml
deleted file mode 100644
index f22964ce7..000000000
--- a/appendixa/modutils-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Modutils depends on: Bash, Binutils, Bison, Coreutils,
-Diffutils, Flex, GCC, Glibc, Grep, M4, Make, Sed.</para>
diff --git a/appendixa/modutils-desc.xml b/appendixa/modutils-desc.xml
deleted file mode 100644
index 4209b166d..000000000
--- a/appendixa/modutils-desc.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>depmod</command> creates a dependency file, based on the
-symbols it finds in the existing set of modules. This dependency file is used
-by modprobe to automatically load the required modules.</para>
-
-<para><command>genksyms</command> generates symbol version information.</para>
-
-<para><command>insmod</command> installs a loadable module in the running kernel.</para>
-
-<para><command>insmod_ksymoops_clean</command> deletes saved ksyms and
-modules not accessed for two days.</para>
-
-<para><command>kallsyms</command> extracts all kernel symbols for debugging.</para>
-
-<para><command>kernelversion</command> reports the major version of the
-running kernel.</para>
-
-<para><command>ksyms</command> displays exported kernel symbols.</para>
-
-<para><command>lsmod</command> shows which modules are loaded.</para>
-
-<para><command>modinfo</command> examines an object file associated with
-a kernel module and displays any information that it can glean.</para>
-
-<para><command>modprobe</command> uses a dependency file, created by
-depmod, to automatically load the relevant modules.</para>
-
-<para><command>rmmod</command> unloads modules from the running kernel.</para>
-
-</sect2>
-
diff --git a/appendixa/modutils-down.xml b/appendixa/modutils-down.xml
deleted file mode 100644
index 5ec1d53c5..000000000
--- a/appendixa/modutils-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Modutils (&modutils-version;):
-<ulink url="ftp://ftp.kernel.org/pub/linux/utils/kernel/modutils/"/></literallayout>
diff --git a/appendixa/modutils-shortdesc.xml b/appendixa/modutils-shortdesc.xml
deleted file mode 100644
index 32b328051..000000000
--- a/appendixa/modutils-shortdesc.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-modutils"><title>Contents of Modutils</title>
-
-<para><emphasis>Installed programs</emphasis>: depmod, genksyms, insmod,
-insmod_ksymoops_clean, kallsyms (link to insmod), kernelversion, ksyms
-(link to insmod), lsmod (link to insmod), modinfo, modprobe (link to insmod)
-and rmmod (link to insmod)</para>
-
-</sect2>
-
diff --git a/appendixa/ncurses-dep.xml b/appendixa/ncurses-dep.xml
deleted file mode 100644
index af35efc6a..000000000
--- a/appendixa/ncurses-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Ncurses depends on: Bash, Binutils, Coreutils, Diffutils,
-Gawk, GCC, Glibc, Grep, Make, Sed.</para>
diff --git a/appendixa/ncurses-desc.xml b/appendixa/ncurses-desc.xml
deleted file mode 100644
index f12d88590..000000000
--- a/appendixa/ncurses-desc.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>captoinfo</command> converts a termcap description into a
-terminfo description.</para>
-
-<para><command>clear</command> clears the screen, if this is possible.</para>
-
-<para><command>infocmp</command> compares or prints out terminfo
-descriptions.</para>
-
-<para><command>infotocap</command> converts a terminfo description into
-a termcap description.</para>
-
-<para><command>reset</command> reinitializes a terminal to its default
-values.</para>
-
-<para><command>tack</command> is the terminfo action checker. It is mainly
-used to test the correctness of an entry in the terminfo database.</para>
-
-<para><command>tic</command> is the terminfo entry-description compiler.
-It translates a terminfo file from source format into the binary format needed
-for the ncurses library routines. A terminfo file contains information on the
-capabilities of a certain terminal.</para>
-
-<para><command>toe</command> lists all available terminal types, for each
-giving its primary name and its description.</para>
-
-<para><command>tput</command> makes the values of terminal-dependent
-capabilities available to the shell. It can also be used to reset or initialize
-a terminal, or report its long name.</para>
-
-<para><command>tset</command> can be used to initialize terminals.</para>
-
-<para><command>libncurses*</command> contain functions to display text in
-many complicated ways on a terminal screen. A good example of the use of these
-functions is the menu displayed during the kernel's make menuconfig.</para>
-
-<para><command>libform*</command> contain functions to implement forms.</para>
-
-<para><command>libmenu*</command> contain functions to implement menus.</para>
-
-<para><command>libpanel*</command> contain functions to implement panels.</para>
-
-</sect2>
-
diff --git a/appendixa/ncurses-down.xml b/appendixa/ncurses-down.xml
deleted file mode 100644
index b3bf54057..000000000
--- a/appendixa/ncurses-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Ncurses (&ncurses-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/ncurses/"/></literallayout>
diff --git a/appendixa/ncurses-shortdesc.xml b/appendixa/ncurses-shortdesc.xml
deleted file mode 100644
index aa683a4a3..000000000
--- a/appendixa/ncurses-shortdesc.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-ncurses"><title>Contents of Ncurses</title>
-
-<para><emphasis>Installed programs</emphasis>: captoinfo (link to tic), clear,
-infocmp, infotocap (link to tic), reset (link to tset), tack, tic, toe, tput
-and tset</para>
-
-<para><emphasis>Installed libraries</emphasis>: libcurses.[a,so] (link to
-libncurses.[a,so]), libform.[a,so], libmenu.[a,so], libncurses++.a,
-libncurses.[a,so], libpanel.[a,so]</para>
-
-</sect2>
diff --git a/appendixa/nettools-dep.xml b/appendixa/nettools-dep.xml
deleted file mode 100644
index ebc47bf3a..000000000
--- a/appendixa/nettools-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Net-tools depends on: Bash, Binutils, Coreutils, GCC,
-Glibc, Make.</para>
diff --git a/appendixa/nettools-desc.xml b/appendixa/nettools-desc.xml
deleted file mode 100644
index ccdd912e3..000000000
--- a/appendixa/nettools-desc.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>arp</command> is used to manipulate the kernel's ARP cache,
-usually to add or delete an entry, or to dump the entire cache.</para>
-
-<para><command>dnsdomainname</command> reports the system's DNS domain
-name.</para>
-
-<para><command>domainname</command> reports or sets the system's NIS/YP
-domain name.</para>
-
-<para><command>hostname</command> reports or sets the name of the current
-host system.</para>
-
-<para><command>ifconfig</command> is the main utility for configuring
-network interfaces.</para>
-
-<para><command>nameif</command> names network interfaces based on MAC
-addresses.</para>
-
-<para><command>netstat</command> is used to report network connections,
-routing tables, and interface statistics..</para>
-
-<para><command>nisdomainname</command> does the same as domainname.</para>
-
-<para><command>plipconfig</command> is used to fine tune the PLIP device
-parameters, to improve its performance.</para>
-
-<para><command>rarp</command> is used to manipulate the kernel's RARP
-table.</para>
-
-<para><command>route</command> is used to manipulate the IP routing
-table.</para>
-
-<para><command>slattach</command> attaches a network interface to a serial
-line. This allows you to use normal terminal lines for point-to-point links to
-other computers.</para>
-
-<para><command>ypdomainname</command> does the same as domainname.</para>
-
-</sect2>
-
diff --git a/appendixa/nettools-down.xml b/appendixa/nettools-down.xml
deleted file mode 100644
index cabf65de3..000000000
--- a/appendixa/nettools-down.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<literallayout>Official download location for Net-tools (&net-tools-version;):
-<ulink url="http://www.tazenda.demon.co.uk/phil/net-tools/"/>
-And for the patch:
-<ulink url="&patches-root;&net-tools-mii-patch;"/></literallayout>
diff --git a/appendixa/nettools-shortdesc.xml b/appendixa/nettools-shortdesc.xml
deleted file mode 100644
index 4898dbf8c..000000000
--- a/appendixa/nettools-shortdesc.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-net"><title>Contents of Net-tools</title>
-
-<para><emphasis>Installed programs</emphasis>: arp, dnsdomainname (link to
-hostname), domainname (link to hostname), hostname, ifconfig, nameif, netstat,
-nisdomainname (link to hostname), plipconfig, rarp, route, slattach and
-ypdomainname (link to hostname)</para>
-
-</sect2>
-
diff --git a/appendixa/patch-dep.xml b/appendixa/patch-dep.xml
deleted file mode 100644
index cf0722c21..000000000
--- a/appendixa/patch-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Patch depends on: Bash, Binutils, Coreutils, Diffutils,
-GCC, Glibc, Grep, Make, Sed.</para>
diff --git a/appendixa/patch-desc.xml b/appendixa/patch-desc.xml
deleted file mode 100644
index 7306b44ae..000000000
--- a/appendixa/patch-desc.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<sect2><title>Short description</title>
-
-<para><command>patch</command> modifies files according to a patch file.
-A patch file normally is a difference listing created with the diff program.
-By applying these differences to the original files, patch creates the patched
-versions. Using patches instead a entire new tarballs to keep your sources
-up-to-date can save you a lot of download time.</para>
-
-</sect2>
-
diff --git a/appendixa/patch-down.xml b/appendixa/patch-down.xml
deleted file mode 100644
index 9d48a6639..000000000
--- a/appendixa/patch-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Patch (&patch-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/patch/"/></literallayout>
diff --git a/appendixa/patch-shortdesc.xml b/appendixa/patch-shortdesc.xml
deleted file mode 100644
index a38c77918..000000000
--- a/appendixa/patch-shortdesc.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-patch"><title>Contents of Patch</title>
-
-<para><emphasis>Installed program</emphasis>: patch</para>
-
-</sect2>
-
diff --git a/appendixa/perl-dep.xml b/appendixa/perl-dep.xml
deleted file mode 100644
index a946c2f8e..000000000
--- a/appendixa/perl-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Perl depends on: Bash, Binutils, Coreutils, Diffutils,
-Gawk, GCC, Glibc, Grep, Make, Sed.</para>
diff --git a/appendixa/perl-desc.xml b/appendixa/perl-desc.xml
deleted file mode 100644
index 11a264035..000000000
--- a/appendixa/perl-desc.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>a2p</command> translates awk to perl.</para>
-
-<para><command>c2ph</command> dumps C structures as generated from
-"cc -g -S" stabs.</para>
-
-<para><command>dprofpp</command> displays perl profile data.</para>
-
-<para><command>en2cxs</command> builds a Perl extension for the Encode module,
-from either Unicode Character Mappings or Tcl Encoding Files.</para>
-
-<para><command>find2perl</command> translates find commands to perl.</para>
-
-<para><command>h2ph</command> converts .h C header files to .ph Perl header files.</para>
-
-<para><command>h2xs</command> converts .h C header files to Perl extensions.</para>
-
-<para><command>libnetcfg</command> can be used to configure the libnet.</para>
-
-<para><command>perl</command> combines some of the best features of C, sed,
-awk and sh into a single swiss-army language.</para>
-
-<para><command>perlbug</command> is used to generate bug reports about
-Perl or the modules that come with it, and mail them.</para>
-
-<para><command>perlcc</command> generates executables from Perl programs.</para>
-
-<para><command>perldoc</command> displays a piece of documentation in pod
-format that is embedded in the perl installation tree or in a perl script.</para>
-
-<para><command>perlivp</command> is the Perl Installation Verification
-Procedure. It can be used to verify that Perl and its libraries have been
-installed correctly.</para>
-
-<para><command>piconv</command> is a Perl version of the character encoding
-converter <command>iconv</command>.</para>
-
-<para><command>pl2pm</command> is a rough tool for converting Perl4 .pl
-files to Perl5 .pm modules.</para>
-
-<para><command>pod2html</command> converts files from pod format to HTML
-format.</para>
-
-<para><command>pod2latex</command> converts files from pod format to LaTeX
-format.</para>
-
-<para><command>pod2man</command> converts pod data to formatted *roff
-input.</para>
-
-<para><command>pod2text</command> converts pod data to formatted ASCII
-text.</para>
-
-<para><command>pod2usage</command> prints usage messages from embedded
-pod docs in files.</para>
-
-<para><command>podchecker</command> checks the syntax of pod format
-documentation files.</para>
-
-<para><command>podselect</command> displays selected sections of pod
-documentation.</para>
-
-<para><command>psed</command> is a Perl version of the stream editor
-<userinput>sed</userinput>.</para>
-
-<para><command>pstruct</command> dumps C structures as generated from
-"cc -g -S" stabs.</para>
-
-<para><command>s2p</command> translates sed to perl.</para>
-
-<para><command>splain</command> is used to force verbose warning
-diagnostics in perl.</para>
-
-<para><command>xsubpp</command> converts Perl XS code into C code.</para>
-
-</sect2>
-
diff --git a/appendixa/perl-down.xml b/appendixa/perl-down.xml
deleted file mode 100644
index ded38d29e..000000000
--- a/appendixa/perl-down.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<literallayout>Official download location for Perl (&perl-version;):
-<ulink url="http://www.cpan.org/src/"/>
-And for the patch:
-<ulink url="&patches-root;&perl-libc-patch;"/></literallayout>
diff --git a/appendixa/perl-shortdesc.xml b/appendixa/perl-shortdesc.xml
deleted file mode 100644
index deb462edb..000000000
--- a/appendixa/perl-shortdesc.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-perl"><title>Contents of Perl</title>
-
-<para><emphasis>Installed programs</emphasis>: a2p, c2ph, dprofpp, enc2xs,
-find2perl, h2ph, h2xs, libnetcfg, perl, perl&perl-version; (link to perl),
-perlbug, perlcc, perldoc, perlivp, piconv, pl2pm, pod2html, pod2latex, pod2man,
-pod2text, pod2usage, podchecker, podselect, psed (link to s2p), pstruct (link
-to c2ph), s2p, splain and xsubpp</para>
-
-<para><emphasis>Installed libraries</emphasis>: (too many to name)</para>
-
-</sect2>
diff --git a/appendixa/procinfo-dep.xml b/appendixa/procinfo-dep.xml
deleted file mode 100644
index d138f25af..000000000
--- a/appendixa/procinfo-dep.xml
+++ /dev/null
@@ -1 +0,0 @@
-<para>For its installation Procinfo depends on: Binutils, GCC, Glibc, Make, Ncurses.</para>
diff --git a/appendixa/procinfo-desc.xml b/appendixa/procinfo-desc.xml
deleted file mode 100644
index 9440b824d..000000000
--- a/appendixa/procinfo-desc.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>lsdev</command> lists the devices present in your system,
-and which IRQs and IO ports they use.</para>
-
-<para><command>procinfo</command> displays an overview of some of the info
-present in the virtual proc file system.</para>
-
-<para><command>socklist</command> lists the open sockets, reporting their
-type, portnumber, and other specifics.</para>
-
-</sect2>
-
diff --git a/appendixa/procinfo-down.xml b/appendixa/procinfo-down.xml
deleted file mode 100644
index dc15d22ff..000000000
--- a/appendixa/procinfo-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Procinfo (&procinfo-version;):
-<ulink url="ftp://ftp.cistron.nl/pub/people/svm/"/></literallayout>
diff --git a/appendixa/procinfo-shortdesc.xml b/appendixa/procinfo-shortdesc.xml
deleted file mode 100644
index d10e25006..000000000
--- a/appendixa/procinfo-shortdesc.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-procinfo"><title>Contents of Procinfo</title>
-
-<para><emphasis>Installed programs</emphasis>: lsdev, procinfo and
-socklist</para>
-
-</sect2>
-
diff --git a/appendixa/procps-dep.xml b/appendixa/procps-dep.xml
deleted file mode 100644
index e8000d8a1..000000000
--- a/appendixa/procps-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Procps depends on: Bash, Binutils, Coreutils, GCC, Glibc,
-Make, Ncurses.</para>
diff --git a/appendixa/procps-desc.xml b/appendixa/procps-desc.xml
deleted file mode 100644
index 415294c17..000000000
--- a/appendixa/procps-desc.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>free</command> reports the amount of free and used memory
-in the system, both physical and swap memory.</para>
-
-<para><command>kill</command> is used to send signals to processes.</para>
-
-<para><command>pgrep</command> looks up processes based on their name
-and other attributes.</para>
-
-<para><command>pkill</command> signals processes based on their name
-and other attributes.</para>
-
-<para><command>pmap</command> reports the memory map of the given
-process.</para>
-
-<para><command>ps</command> gives a snapshot of the current processes.</para>
-
-<para><command>skill</command> sends signals to processes matching the
-given criteria.</para>
-
-<para><command>snice</command> changes the scheduling priority of processes
-matching the given criteria.</para>
-
-<para><command>sysctl</command> modifies kernel parameters at run time.</para>
-
-<para><command>tload</command> prints a graph of the current system load
-average.</para>
-
-<para><command>top</command> displays the top CPU processes. It provides
-an ongoing look at processor activity in real time.</para>
-
-<para><command>uptime</command> reports how long the system has been
-running, how many users are logged on, and the system load averages.</para>
-
-<para><command>vmstat</command> reports virtual memory statistics, giving
-information about processes, memory, paging, block IO, traps, and CPU
-activity.</para>
-
-<para><command>w</command> shows which users are currently logged on,
-where and since when.</para>
-
-<para><command>watch</command> runs a given command repeatedly,
-displaying the first screenful of its output. This allows you to watch the
-output change over time.</para>
-
-<para><command>libproc</command> contains the functions used by most
-programs in this package.</para>
-
-</sect2>
-
diff --git a/appendixa/procps-down.xml b/appendixa/procps-down.xml
deleted file mode 100644
index 12f3ed439..000000000
--- a/appendixa/procps-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Procps (&procps-version;):
-<ulink url="http://procps.sourceforge.net/"/></literallayout>
diff --git a/appendixa/procps-shortdesc.xml b/appendixa/procps-shortdesc.xml
deleted file mode 100644
index b2b431dd4..000000000
--- a/appendixa/procps-shortdesc.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-procps"><title>Contents of Procps</title>
-
-<para><emphasis>Installed programs</emphasis>: free, kill, pgrep, pkill,
-pmap, ps, skill, snice, sysctl, tload, top, uptime, vmstat, w and watch</para>
-
-<para><emphasis>Installed library</emphasis>: libproc.so</para>
-
-</sect2>
-
diff --git a/appendixa/psmisc-dep.xml b/appendixa/psmisc-dep.xml
deleted file mode 100644
index a52cd3e66..000000000
--- a/appendixa/psmisc-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Psmisc depends on: Bash, Binutils, Coreutils, Diffutils,
-GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed.</para>
diff --git a/appendixa/psmisc-desc.xml b/appendixa/psmisc-desc.xml
deleted file mode 100644
index 16e98480b..000000000
--- a/appendixa/psmisc-desc.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>fuser</command> reports the PIDs of processes that use
-the given files or file systems.</para>
-
-<para><command>killall</command> kills processes by name. It sends a signal
-to all processes running any of the given commands.</para>
-
-<para><command>pstree</command> displays running processes as a tree.</para>
-
-<para><command>pstree.x11</command> same as pstree except that it waits for
-confirmation before exiting.</para>
-
-</sect2>
-
diff --git a/appendixa/psmisc-down.xml b/appendixa/psmisc-down.xml
deleted file mode 100644
index 555d59297..000000000
--- a/appendixa/psmisc-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Psmisc (&psmisc-version;):
-<ulink url="http://download.sourceforge.net/psmisc/"/></literallayout>
diff --git a/appendixa/psmisc-shortdesc.xml b/appendixa/psmisc-shortdesc.xml
deleted file mode 100644
index 3ae3d2486..000000000
--- a/appendixa/psmisc-shortdesc.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-psmisc"><title>Contents of Psmisc</title>
-
-<para><emphasis>Installed programs</emphasis>: fuser, killall, pstree and
-pstree.x11 (link to pstree)</para>
-
-</sect2>
-
diff --git a/appendixa/sed-dep.xml b/appendixa/sed-dep.xml
deleted file mode 100644
index d724cfded..000000000
--- a/appendixa/sed-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Sed depends on: Bash, Binutils, Coreutils,
-Diffutils, GCC, Gettext, Glibc, Grep, Make, Texinfo.</para>
diff --git a/appendixa/sed-desc.xml b/appendixa/sed-desc.xml
deleted file mode 100644
index 5638ed64a..000000000
--- a/appendixa/sed-desc.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<sect2><title>Short description</title>
-
-<para><command>sed</command> is used to filter and transform text files
-in a single pass.</para>
-
-</sect2>
-
diff --git a/appendixa/sed-down.xml b/appendixa/sed-down.xml
deleted file mode 100644
index b95089f45..000000000
--- a/appendixa/sed-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Sed (&sed-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/sed/"/></literallayout>
diff --git a/appendixa/sed-shortdesc.xml b/appendixa/sed-shortdesc.xml
deleted file mode 100644
index c41b447be..000000000
--- a/appendixa/sed-shortdesc.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-sed"><title>Contents of Sed</title>
-
-<para><emphasis>Installed program</emphasis>: sed</para>
-
-</sect2>
-
diff --git a/appendixa/shadow-dep.xml b/appendixa/shadow-dep.xml
deleted file mode 100644
index ce4de6921..000000000
--- a/appendixa/shadow-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Shadow depends on: Bash, Binutils, Bison, Coreutils,
-Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed.</para>
diff --git a/appendixa/shadow-desc.xml b/appendixa/shadow-desc.xml
deleted file mode 100644
index 34a09ce29..000000000
--- a/appendixa/shadow-desc.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>chage</command> is used to change the maximum number of
-days between obligatory password changes.</para>
-
-<para><command>chfn</command> is used to change a user's full name and
-some other info.</para>
-
-<para><command>chpasswd</command> is used to update the passwords of a
-whole series of user accounts in one go.</para>
-
-<para><command>chsh</command> is used to change a user's default
- login shell.</para>
-
-<para><command>dpasswd</command> is used to change dial-up passwords for
-user login shells.</para>
-
-<para><command>expiry</command> checks and enforces the current password
-expiration policy.</para>
-
-<para><command>faillog</command> is used to examine the log of login
-failures, to set a maximum number of failures before an account is blocked,
-or to reset the failure count.</para>
-
-<para><command>gpasswd</command> is used to add and delete members and
-administrators to groups.</para>
-
-<para><command>groupadd</command> creates a group with the given
-name.</para>
-
-<para><command>groupdel</command> deletes the group with the given
-name.</para>
-
-<para><command>groupmod</command> is used to modify the given group's
-name or GID.</para>
-
-<para><command>groups</command> reports the groups of which the given
-users are members.</para>
-
-<para><command>grpck</command> verifies the integrity of the group files,
-<filename>/etc/group</filename> and <filename>/etc/gshadow</filename>.</para>
-
-<para><command>grpconv</command> creates or updates the shadow group file
-from the normal group file.</para>
-
-<para><command>grpunconv</command> updates <filename>/etc/group</filename>
-from <filename>/etc/gshadow</filename> and then deletes the latter.</para>
-
-<para><command>lastlog</command> reports the most recent login of all
-users, or of a given user.</para>
-
-<para><command>login</command> is used by the system let users sign on.</para>
-
-<para><command>logoutd</command> is a daemon used to enforce restrictions
-on log-on time and ports.</para>
-
-<para><command>mkpasswd</command> encrypts the given password using the
-also given perturbation.</para>
-
-<para><command>newgrp</command> is used to change the current GID during
-a login session.</para>
-
-<para><command>newusers</command> is used to create or update a whole
-series of user accounts in one go.</para>
-
-<para><command>passwd</command> is used to change the password for a user
-or group account.</para>
-
-<para><command>pwck</command> verifies the integrity of the password files,
-<filename>/etc/passwd</filename> and <filename>/etc/shadow</filename>.</para>
-
-<para><command>pwconv</command> creates or updates the shadow password file
-from the normal password file.</para>
-
-<para><command>pwunconv</command> updates <filename>/etc/passwd</filename>
-from <filename>/etc/shadow</filename> and then deletes the latter.</para>
-
-<para><command>sg</command> executes a given command while the user's GID
-is set to that of the given group.</para>
-
-<para><command>useradd</command> creates a new user with the given name,
-or updates the default new-user information.</para>
-
-<para><command>userdel</command> deletes the given user account.</para>
-
-<para><command>usermod</command> is used to modify the given user's
-login name, UID, shell, initial group, home directory, and the like.</para>
-
-<para><command>vigr</command> can be used to edit the
-<filename>/etc/group</filename> or <filename>/etc/gshadow</filename>
-files.</para>
-
-<para><command>vipw</command> can be used to edit the
-<filename>/etc/passwd</filename> or <filename>/etc/shadow</filename>
-files.</para>
-
-<para><command>libmisc</command>...</para>
-
-<para><command>libshadow</command> contains functions used by most
-programs in this package.</para>
-
-</sect2>
-
diff --git a/appendixa/shadow-down.xml b/appendixa/shadow-down.xml
deleted file mode 100644
index 834d8eb1d..000000000
--- a/appendixa/shadow-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Shadow (&shadow-version;):
-<ulink url="ftp://ftp.pld.org.pl/software/shadow/"/></literallayout>
diff --git a/appendixa/shadow-shortdesc.xml b/appendixa/shadow-shortdesc.xml
deleted file mode 100644
index bf1f99833..000000000
--- a/appendixa/shadow-shortdesc.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-shadow"><title>Contents of Shadow</title>
-
-<para><emphasis>Installed programs</emphasis>: chage, chfn, chpasswd, chsh,
-dpasswd, expiry, faillog, gpasswd, groupadd, groupdel, groupmod, groups, grpck,
-grpconv, grpunconv, lastlog, login, logoutd, mkpasswd, newgrp, newusers,
-passwd, pwck, pwconv, pwunconv, sg (link to newgrp), useradd, userdel, usermod,
-vigr (link to vipw) and vipw</para>
-
-</sect2>
diff --git a/appendixa/sysklogd-dep.xml b/appendixa/sysklogd-dep.xml
deleted file mode 100644
index dc4dc1d43..000000000
--- a/appendixa/sysklogd-dep.xml
+++ /dev/null
@@ -1 +0,0 @@
-<para>For its installation Sysklogd depends on: Binutils, Coreutils, GCC, Glibc, Make.</para>
diff --git a/appendixa/sysklogd-desc.xml b/appendixa/sysklogd-desc.xml
deleted file mode 100644
index 605beb7f3..000000000
--- a/appendixa/sysklogd-desc.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>klogd</command> is a system daemon for intercepting and
-logging kernel messages.</para>
-
-<para><command>syslogd</command> logs the messages that system programs
-offer for logging. Every logged message contains at least a date stamp and a
-hostname, and normally the program's name too, but that depends on how
-trusting the logging daemon is told to be.</para>
-
-</sect2>
-
diff --git a/appendixa/sysklogd-down.xml b/appendixa/sysklogd-down.xml
deleted file mode 100644
index c1baf32f6..000000000
--- a/appendixa/sysklogd-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Sysklogd (&sysklogd-version;):
-<ulink url="http://www.infodrom.org/projects/sysklogd/download/"/></literallayout>
diff --git a/appendixa/sysklogd-shortdesc.xml b/appendixa/sysklogd-shortdesc.xml
deleted file mode 100644
index ed681d7cd..000000000
--- a/appendixa/sysklogd-shortdesc.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-sysklogd"><title>Contents of Sysklogd</title>
-
-<para><emphasis>Installed programs</emphasis>: klogd and syslogd</para>
-
-</sect2>
-
diff --git a/appendixa/sysvinit-dep.xml b/appendixa/sysvinit-dep.xml
deleted file mode 100644
index c524511b8..000000000
--- a/appendixa/sysvinit-dep.xml
+++ /dev/null
@@ -1 +0,0 @@
-<para>For its installation Sysvinit depends on: Binutils, Coreutils, GCC, Glibc, Make.</para>
diff --git a/appendixa/sysvinit-desc.xml b/appendixa/sysvinit-desc.xml
deleted file mode 100644
index b4113a382..000000000
--- a/appendixa/sysvinit-desc.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>halt</command> normally invokes shutdown with the -h flag,
-except when already in runlevel 0, then it tells the kernel to halt the system.
-But first it notes in the file <filename>/var/log/wtmp</filename> that the
-system is being brought down.</para>
-
-<para><command>init</command> is the mother of all processes. It reads its
-commands from <filename>/etc/inittab</filename>, which normally tell it which
-scripts to run for which runlevel, and how many gettys to spawn.</para>
-
-<para><command>killall5</command> sends a signal to all processes, except
-the processes in its own session -- so it won't kill the shell running the
-script that called it.</para>
-
-<para><command>last</command> shows which users last logged in (and out),
-searching back through the file <filename>/var/log/wtmp</filename>. It can
-also show system boots and shutdowns, and runlevel changes.</para>
-
-<para><command>lastb</command> shows the failed login attempts, as logged
-in <filename>/var/log/btmp</filename>.</para>
-
-<para><command>mesg</command> controls whether other users can send
-messages to the current user's terminal.</para>
-
-<para><command>pidof</command> reports the PIDs of the given programs.</para>
-
-<para><command>poweroff</command> tells the kernel to halt the system and
-switch off the computer. But see halt.</para>
-
-<para><command>reboot</command> tells the kernel to reboot the system.
-But see halt.</para>
-
-<para><command>runlevel</command> reports the previous and the current
-runlevel, as noted in the last runlevel record in
-<filename>/var/run/utmp</filename>.</para>
-
-<para><command>shutdown</command> brings the system down in a secure way,
-signaling all processes and notifying all logged-in users.</para>
-
-<para><command>sulogin</command> allows the superuser to log in. It is
-normally invoked by init when the system goes into single user mode.</para>
-
-<para><command>telinit</command> tells init which runlevel to enter.</para>
-
-<para><command>utmpdump</command> displays the content of the given login
-file in a friendlier format.</para>
-
-<para><command>wall</command> writes a message to all logged-in users.</para>
-
-</sect2>
-
diff --git a/appendixa/sysvinit-down.xml b/appendixa/sysvinit-down.xml
deleted file mode 100644
index 65163e54a..000000000
--- a/appendixa/sysvinit-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Sysvinit (&sysvinit-version;):
-<ulink url="ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/"/></literallayout>
diff --git a/appendixa/sysvinit-shortdesc.xml b/appendixa/sysvinit-shortdesc.xml
deleted file mode 100644
index 9d2fbd793..000000000
--- a/appendixa/sysvinit-shortdesc.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-sysvinit"><title>Contents of Sysvinit</title>
-
-<para><emphasis>Installed programs</emphasis>: halt, init, killall5, last,
-lastb (link to last), mesg, pidof (link to killall5), poweroff (link to halt),
-reboot (link to halt), runlevel, shutdown, sulogin, telinit (link to init),
-utmpdump and wall</para>
-
-</sect2>
-
diff --git a/appendixa/tar-dep.xml b/appendixa/tar-dep.xml
deleted file mode 100644
index 8cc37d299..000000000
--- a/appendixa/tar-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Tar depends on: Bash, Binutils, Coreutils,
-Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed.</para>
diff --git a/appendixa/tar-desc.xml b/appendixa/tar-desc.xml
deleted file mode 100644
index eb84c83aa..000000000
--- a/appendixa/tar-desc.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>rmt</command> is used to remotely manipulate a magnetic
-tape drive, through an interprocess communication connection.</para>
-
-<para><command>tar</command> is used to create and extract files from
-archives, also known as tarballs.</para>
-
-</sect2>
-
diff --git a/appendixa/tar-down.xml b/appendixa/tar-down.xml
deleted file mode 100644
index 8e8047d65..000000000
--- a/appendixa/tar-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Tar (&tar-version;):
-<ulink url="ftp://alpha.gnu.org/gnu/tar/"/></literallayout>
diff --git a/appendixa/tar-shortdesc.xml b/appendixa/tar-shortdesc.xml
deleted file mode 100644
index 68c13a12d..000000000
--- a/appendixa/tar-shortdesc.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-tar"><title>Contents of Tar</title>
-
-<para><emphasis>Installed programs</emphasis>: rmt and tar</para>
-
-</sect2>
diff --git a/appendixa/tcl-dep.xml b/appendixa/tcl-dep.xml
deleted file mode 100644
index 522f03ac6..000000000
--- a/appendixa/tcl-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Tcl depends on: Bash, Binutils, Coreutils, Diffutils,
-GCC, Glibc, Grep, Make, Sed.</para>
diff --git a/appendixa/tcl-desc.xml b/appendixa/tcl-desc.xml
deleted file mode 100644
index da4eb57f8..000000000
--- a/appendixa/tcl-desc.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>tclsh8.4</command> is the Tcl command shell.</para>
-
-<para><command>libtcl8.4.so</command> is the Tcl library.</para>
-
-</sect2>
diff --git a/appendixa/tcl-down.xml b/appendixa/tcl-down.xml
deleted file mode 100644
index 67bbadf8a..000000000
--- a/appendixa/tcl-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Tcl (&tcl-version;):
-<ulink url="http://download.sourceforge.net/tcl/"/></literallayout>
diff --git a/appendixa/tcl-shortdesc.xml b/appendixa/tcl-shortdesc.xml
deleted file mode 100644
index 6307a9bd9..000000000
--- a/appendixa/tcl-shortdesc.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-tcl"><title>Contents of Tcl</title>
-
-<para><emphasis>Installed programs</emphasis>: tclsh (link to tclsh8.4),
-tclsh8.4</para>
-
-<para><emphasis>Installed library</emphasis>: libtcl8.4.so</para>
-
-</sect2>
-
diff --git a/appendixa/texinfo-dep.xml b/appendixa/texinfo-dep.xml
deleted file mode 100644
index 312229af9..000000000
--- a/appendixa/texinfo-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Texinfo depends on: Bash, Binutils, Coreutils,
-Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed.</para>
diff --git a/appendixa/texinfo-desc.xml b/appendixa/texinfo-desc.xml
deleted file mode 100644
index 756c508bb..000000000
--- a/appendixa/texinfo-desc.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>info</command> is used to read Info documents. Info
-documents are a bit like man pages, but often go much deeper than just
-explaining all the flags. Compare for example man tar and info tar.</para>
-
-<para><command>infokey</command> compiles a source file containing Info
-customizations into a binary format.</para>
-
-<para><command>install-info</command> is used to install Info files. It
-updates entries in the Info index file.</para>
-
-<para><command>makeinfo</command> translates the given Texinfo source
-documents into various other formats: Info files, plain text, or HTML.</para>
-
-<para><command>texi2dvi</command> is used to format the given Texinfo
-document into a device-independent file that can be printed.</para>
-
-<para><command>texindex</command> is used to sort Texinfo index files.</para>
-
-</sect2>
-
diff --git a/appendixa/texinfo-down.xml b/appendixa/texinfo-down.xml
deleted file mode 100644
index cdd100b60..000000000
--- a/appendixa/texinfo-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Texinfo (&texinfo-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/texinfo/"/></literallayout>
diff --git a/appendixa/texinfo-shortdesc.xml b/appendixa/texinfo-shortdesc.xml
deleted file mode 100644
index aac047208..000000000
--- a/appendixa/texinfo-shortdesc.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-texinfo"><title>Contents of Texinfo</title>
-
-<para><emphasis>Installed programs</emphasis>: info, infokey, install-info,
-makeinfo, texi2dvi and texindex</para>
-
-</sect2>
diff --git a/appendixa/utillinux-dep.xml b/appendixa/utillinux-dep.xml
deleted file mode 100644
index b68436700..000000000
--- a/appendixa/utillinux-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Util-linux depends on: Bash, Binutils, Coreutils,
-Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed, Zlib.</para>
diff --git a/appendixa/utillinux-desc.xml b/appendixa/utillinux-desc.xml
deleted file mode 100644
index e3cf97b0c..000000000
--- a/appendixa/utillinux-desc.xml
+++ /dev/null
@@ -1,167 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>agetty</command> opens a tty port, prompts for a login name,
-and then invokes the login program.</para>
-
-<para><command>arch</command> reports the machine's architecture.</para>
-
-<para><command>blockdev</command> allows you to call block device ioctls
-from the command line.</para>
-
-<para><command>cal</command> displays a simple calender.</para>
-
-<para><command>cfdisk</command> is used to manipulate the partition table
-of the given device.</para>
-
-<para><command>chkdupexe</command> finds duplicate executables.</para>
-
-<para><command>col</command> filters out reverse line feeds.</para>
-
-<para><command>colcrt</command> is used to filter nroff output for terminals
-that lack some capabilities such as overstriking and half-lines.</para>
-
-<para><command>colrm</command> filters out the given columns.</para>
-
-<para><command>column</command> formats a given file into multiple
-columns.</para>
-
-<para><command>ctrlaltdel</command> sets the function of the Ctrl+Alt+Del
- key combination, to a hard or a soft reset.</para>
-
-<para><command>cytune</command> was used to tune the parameters of the
-serial line drivers for Cyclades cards.</para>
-
-<para><command>ddate</command> gives the Discordian date, or converts the
-given Gregorian date to a Discordian one.</para>
-
-<para><command>dmesg</command> dumps the kernel boot messages.</para>
-
-<para><command>elvtune</command> can be used to tune the performance
-and interactiveness of a block device.</para>
-
-<para><command>fdformat</command> low-level formats a floppy disk.</para>
-
-<para><command>fdisk</command> could be used to manipulate the partition
-table of the given device.</para>
-
-<para><command>fsck.cramfs</command> performs a consistency check on the
-Cramfs file system on the given device.</para>
-
-<para><command>fsck.minix</command> performs a consistency check on the
-Minix file system on the given device.</para>
-
-<para><command>getopt</command> parses options in the given command line.</para>
-
-<para><command>hexdump</command> dumps the given file in hexadecimal, or
-in another given format.</para>
-
-<para><command>hwclock</command> is used to read or set the system's
-hardware clock (also called the RTC or BIOS clock).</para>
-
-<para><command>ipcrm</command> removes the given IPC resource.</para>
-
-<para><command>ipcs</command> provides IPC status information.</para>
-
-<para><command>isosize</command> reports the size of an iso9660
-file system.</para>
-
-<para><command>line</command> copies a single line.</para>
-
-<para><command>logger</command> enters the given message into the system
-log.</para>
-
-<para><command>look</command> displays lines that begin with the given
-string.</para>
-
-<para><command>losetup</command> is used to set up and control loop devices.</para>
-
-<para><command>mcookie</command> generates magic cookies, 128-bit random
-hexadecimal numbers, for xauth.</para>
-
-<para><command>mkfs</command> is used to build a file system on a device
-(usually a harddisk partition).</para>
-
-<para><command>mkfs.bfs</command> creates an SCO bfs file system.</para>
-
-<para><command>mkfs.cramfs</command> creates a cramfs file system.</para>
-
-<para><command>mkfs.minix</command> creates a Minix file system.</para>
-
-<para><command>mkswap</command> initializes the given device or file to be
-used as a swap area.</para>
-
-<para><command>more</command> is a filter for paging through text one
-screenful at a time. But less is much better.</para>
-
-<para><command>mount</command> attaches the file system on the given device
-to the given directory in the system's file tree.</para>
-
-<para><command>namei</command> shows the symbolic links in the given
-pathnames.</para>
-
-<para><command>pg</command> displays a text file one screenful at a
-time.</para>
-
-<para><command>pivot_root</command> makes the given file system the new
-root file system of the current process.</para>
-
-<para><command>ramsize</command> could be used to set the size of the
-RAM disk in a bootable image.</para>
-
-<para><command>rdev</command> could be used to query and set the root
-device and other things in a bootable image.</para>
-
-<para><command>readprofile</command> reads kernel profiling information.</para>
-
-<para><command>rename</command> renames the given files, replacing a given
-string with another.</para>
-
-<para><command>renice</command> is used to alter the priority of running
-processes.</para>
-
-<para><command>rev</command> reverses the lines of a given file.</para>
-
-<para><command>rootflags</command> could be used to set the rootflags
-in a bootable image.</para>
-
-<para><command>script</command> makes a typescript of a terminal
-session, of everything printed to the terminal.</para>
-
-<para><command>setfdprm</command> sets user-provided floppy disk
-parameters.</para>
-
-<para><command>setsid</command> runs the given program in a new session.</para>
-
-<para><command>setterm</command> is used to set terminal attributes.</para>
-
-<para><command>sfdisk</command> is a disk partition table manipulator.</para>
-
-<para><command>swapdev</command> could be used to set the swap device
-in a bootable image.</para>
-
-<para><command>swapoff</command> disables devices and files for paging
-and swapping.</para>
-
-<para><command>swapon</command> enables devices and files for paging
-and swapping.</para>
-
-<para><command>tunelp</command> is used to tune the parameters of the
-line printer.</para>
-
-<para><command>ul</command> is a filter for translating underscores into
-escape sequences indicating underlining for the terminal in use.</para>
-
-<para><command>umount</command> disconnects a file system from the
-system's file tree.</para>
-
-<para><command>vidmode</command> could be used to set the video mode
-in a bootable image.</para>
-
-<para><command>whereis</command> reports the location of binary, the
-source, and the manual page for the given command.</para>
-
-<para><command>write</command> sends a message to the given user. That is,
-if that user has not disabled such messages.</para>
-
-</sect2>
-
diff --git a/appendixa/utillinux-down.xml b/appendixa/utillinux-down.xml
deleted file mode 100644
index 8b02d785f..000000000
--- a/appendixa/utillinux-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Util-linux (&util-linux-version;):
-<ulink url="http://ftp.cwi.nl/aeb/util-linux/"/></literallayout>
diff --git a/appendixa/utillinux-shortdesc.xml b/appendixa/utillinux-shortdesc.xml
deleted file mode 100644
index 743481474..000000000
--- a/appendixa/utillinux-shortdesc.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-utillinux"><title>Contents of Util-linux</title>
-
-<para><emphasis>Installed programs</emphasis>: agetty, arch, blockdev, cal,
-cfdisk, chkdupexe, col, colcrt, colrm, column, ctrlaltdel, cytune, ddate,
-dmesg, elvtune, fdformat, fdisk, fsck.cramfs, fsck.minix, getopt, hexdump,
-hwclock, ipcrm, ipcs, isosize, line, logger, look, losetup, mcookie, mkfs,
-mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap, more, mount, namei, pg, pivot_root,
-ramsize (link to rdev), raw, rdev, readprofile, rename, renice, rev, rootflags
-(link to rdev), script, setfdprm, setsid, setterm, sfdisk, swapoff (link to
-swapon), swapon, tunelp, ul, umount, vidmode (link to rdev), whereis and
-write</para>
-
-</sect2>
diff --git a/appendixa/vim-dep.xml b/appendixa/vim-dep.xml
deleted file mode 100644
index 56468c08c..000000000
--- a/appendixa/vim-dep.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<para>For its installation Vim depends on: Bash, Binutils, Coreutils, Diffutils,
-GCC, Glibc, Grep, Make, Ncurses, Sed.</para>
diff --git a/appendixa/vim-desc.xml b/appendixa/vim-desc.xml
deleted file mode 100644
index e80e60d79..000000000
--- a/appendixa/vim-desc.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<sect2><title>Short descriptions</title>
-
-<para><command>efm_filter.pl</command> is a filter for creating an error
-file that can be read by vim.</para>
-
-<para><command>efm_perl.pl</command> reformats the error messages of the
-Perl interpreter for use with the quickfix mode of vim.</para>
-
-<para><command>ex</command> starts vim in ex mode.</para>
-
-<para><command>less.sh</command> is a script that starts vim with less.vim.</para>
-
-<para><command>mve.awk</command> processes vim errors.</para>
-
-<para><command>pltags.pl</command> creates a tags file for perl code,
-for use by vim.</para>
-
-<para><command>ref</command> checks the spelling of arguments.</para>
-
-<para><command>rview</command> is a restricted version of view: no shell
-commands can be started and view can't be suspended.</para>
-
-<para><command>rvim</command> is a restricted version of vim: no shell
-commands can be started and vim can't be suspended.</para>
-
-<para><command>shtags.pl</command> generates a tag file for perl scripts.</para>
-
-<para><command>tcltags</command> generates a tag file for TCL code.</para>
-
-<para><command>vi</command> starts vim in vi-compatible mode.</para>
-
-<para><command>view</command> starts vim in read-only mode.</para>
-
-<para><command>vim</command> is the editor.</para>
-
-<para><command>vim132</command> starts vim with the terminal in
-132-column mode.</para>
-
-<para><command>vim2html.pl</command> converts vim documentation to
-HTML.</para>
-
-<para><command>vimdiff</command> edits two or three versions of a file with
-vim and show differences.</para>
-
-<para><command>vimm</command> enables the DEC locator input model on a
-remote terminal.</para>
-
-<para><command>vimspell.sh</command> is a script which spells a file and generates the syntax
-statements necessary to highlight in vim.</para>
-
-<para><command>vimtutor</command> teaches you the basic keys and commands
-of vim.</para>
-
-<para><command>xxd</command> makes a hexdump of the given file. It can
-also do the reverse, so it can be used for binary patching.</para>
-
-</sect2>
-
diff --git a/appendixa/vim-down.xml b/appendixa/vim-down.xml
deleted file mode 100644
index 629e4ebba..000000000
--- a/appendixa/vim-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Vim (&vim-version;):
-<ulink url="ftp://ftp.vim.org/pub/editors/vim/unix/"/></literallayout>
diff --git a/appendixa/vim-shortdesc.xml b/appendixa/vim-shortdesc.xml
deleted file mode 100644
index dd858bcd7..000000000
--- a/appendixa/vim-shortdesc.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-vim"><title>Contents of Vim</title>
-
-<para><emphasis>Installed programs</emphasis>: efm_filter.pl, efm_perl.pl, ex
-(link to vim), less.sh, mve.awk, pltags.pl, ref, rview (link to vim), rvim
-(link to vim), shtags.pl, tcltags, vi (link to vim), view (link to vim), vim,
-vim132, vim2html.pl, vimdiff (link to vim), vimm, vimspell.sh, vimtutor
-and xxd</para>
-
-</sect2>
diff --git a/appendixa/zlib-dep.xml b/appendixa/zlib-dep.xml
deleted file mode 100644
index d6882aec1..000000000
--- a/appendixa/zlib-dep.xml
+++ /dev/null
@@ -1 +0,0 @@
-<para>For its installation Zlib depends on: Binutils, Coreutils, GCC, Glibc, Make, Sed.</para>
diff --git a/appendixa/zlib-desc.xml b/appendixa/zlib-desc.xml
deleted file mode 100644
index 14917c833..000000000
--- a/appendixa/zlib-desc.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<sect2><title>Short description</title>
-
-<para><command>libz*</command> contains compression and uncompression
-functions used by some programs.</para>
-
-</sect2>
-
diff --git a/appendixa/zlib-down.xml b/appendixa/zlib-down.xml
deleted file mode 100644
index 84b7dd125..000000000
--- a/appendixa/zlib-down.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<literallayout>Official download location for Zlib (&zlib-version;):
-<ulink url="http://www.gzip.org/zlib/"/></literallayout>
diff --git a/appendixa/zlib-shortdesc.xml b/appendixa/zlib-shortdesc.xml
deleted file mode 100644
index e61bafacf..000000000
--- a/appendixa/zlib-shortdesc.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2 id="contents-zlib"><title>Contents of Zlib</title>
-
-<para><emphasis>Installed libraries</emphasis>: libz[a,so]</para>
-
-</sect2>
-
diff --git a/appendixb/appendixb.xml b/appendixb/appendixb.xml
deleted file mode 100644
index 97f519396..000000000
--- a/appendixb/appendixb.xml
+++ /dev/null
@@ -1,668 +0,0 @@
-<appendix id="appendixb" xreflabel="Appendix B">
-<title>Index of programs and library files</title>
-<?dbhtml filename="appendixb.html" dir="appendixb"?>
-
-<para>This is a list of all the programs and library files that are
-installed in this book, each with a link to the package in Appendix A
-to which it belongs.</para>
-
-<itemizedlist>
-
-<listitem><para>a2p : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>acinstall : <xref linkend="ch-system-automake"/></para></listitem>
-<listitem><para>aclocal : <xref linkend="ch-system-automake"/></para></listitem>
-<listitem><para>addftinfo : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>addr2line : <xref linkend="ch-system-binutils"/></para></listitem>
-<listitem><para>afmtodit : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>agetty : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>apropos : <xref linkend="ch-system-man"/></para></listitem>
-<listitem><para>ar : <xref linkend="ch-system-binutils"/></para></listitem>
-<listitem><para>arch : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>arp : <xref linkend="ch-system-net-tools"/></para></listitem>
-<listitem><para>as : <xref linkend="ch-system-binutils"/></para></listitem>
-<listitem><para>attrs : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>autoconf : <xref linkend="ch-system-autoconf"/></para></listitem>
-<listitem><para>autoheader : <xref linkend="ch-system-autoconf"/></para></listitem>
-<listitem><para>autom4te : <xref linkend="ch-system-autoconf"/></para></listitem>
-<listitem><para>automake : <xref linkend="ch-system-automake"/></para></listitem>
-<listitem><para>autopoint : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>autoreconf : <xref linkend="ch-system-autoconf"/></para></listitem>
-<listitem><para>autoscan : <xref linkend="ch-system-autoconf"/></para></listitem>
-<listitem><para>autoupdate : <xref linkend="ch-system-autoconf"/></para></listitem>
-<listitem><para>awk : <xref linkend="ch-system-gawk"/></para></listitem>
-<listitem><para>badblocks : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>basename : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>bash : <xref linkend="ch-system-bash"/></para></listitem>
-<listitem><para>bashbug : <xref linkend="ch-system-bash"/></para></listitem>
-<listitem><para>bigram : <xref linkend="ch-system-findutils"/></para></listitem>
-<listitem><para>bison : <xref linkend="ch-system-bison"/></para></listitem>
-<listitem><para>blkid : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>blockdev : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>bunzip2 : <xref linkend="ch-system-bzip2"/></para></listitem>
-<listitem><para>bzcat : <xref linkend="ch-system-bzip2"/></para></listitem>
-<listitem><para>bzcmp : <xref linkend="ch-system-bzip2"/></para></listitem>
-<listitem><para>bzdiff : <xref linkend="ch-system-bzip2"/></para></listitem>
-<listitem><para>bzegrep : <xref linkend="ch-system-bzip2"/></para></listitem>
-<listitem><para>bzfgrep : <xref linkend="ch-system-bzip2"/></para></listitem>
-<listitem><para>bzgrep : <xref linkend="ch-system-bzip2"/></para></listitem>
-<listitem><para>bzip2 : <xref linkend="ch-system-bzip2"/></para></listitem>
-<listitem><para>bzip2recover : <xref linkend="ch-system-bzip2"/></para></listitem>
-<listitem><para>bzless : <xref linkend="ch-system-bzip2"/></para></listitem>
-<listitem><para>bzmore : <xref linkend="ch-system-bzip2"/></para></listitem>
-<listitem><para>c++ : <xref linkend="ch-system-gcc"/></para></listitem>
-<listitem><para>c++filt : <xref linkend="ch-system-binutils"/></para></listitem>
-<listitem><para>c2ph : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>cal : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>captoinfo : <xref linkend="ch-system-ncurses"/></para></listitem>
-<listitem><para>cat : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>catchsegv : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>cc : <xref linkend="ch-system-gcc"/></para></listitem>
-<listitem><para>cc1 : <xref linkend="ch-system-gcc"/></para></listitem>
-<listitem><para>cc1plus : <xref linkend="ch-system-gcc"/></para></listitem>
-<listitem><para>cfdisk : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>chage : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>chattr : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>checkfs : <xref linkend="ch-system-lfs-bootscripts"/></para></listitem>
-<listitem><para>chfn : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>chgrp : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>chkdupexe : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>chmod : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>chown : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>chpasswd : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>chroot : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>chsh : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>chvt : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>cksum : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>cleanfs : <xref linkend="ch-system-lfs-bootscripts"/></para></listitem>
-<listitem><para>clear : <xref linkend="ch-system-ncurses"/></para></listitem>
-<listitem><para>cmp : <xref linkend="ch-system-diffutils"/></para></listitem>
-<listitem><para>code : <xref linkend="ch-system-findutils"/></para></listitem>
-<listitem><para>col : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>colcrt : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>collect2 : <xref linkend="ch-system-gcc"/></para></listitem>
-<listitem><para>colrm : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>column : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>comm : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>compile : <xref linkend="ch-system-automake"/></para></listitem>
-<listitem><para>compile_et : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>config.charset : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>config.guess : <xref linkend="ch-system-automake"/></para></listitem>
-<listitem><para>config.rpath : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>config.sub : <xref linkend="ch-system-automake"/></para></listitem>
-<listitem><para>cp : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>cpp : <xref linkend="ch-system-gcc"/></para></listitem>
-<listitem><para>csplit : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>ctrlaltdel : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>cut : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>cytune : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>date : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>dd : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>ddate : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>deallocvt : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>debugfs : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>depcomp : <xref linkend="ch-system-automake"/></para></listitem>
-<listitem><para>depmod : <xref linkend="ch-system-modutils"/></para></listitem>
-<listitem><para>df : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>diff : <xref linkend="ch-system-diffutils"/></para></listitem>
-<listitem><para>diff3 : <xref linkend="ch-system-diffutils"/></para></listitem>
-<listitem><para>dir : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>dircolors : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>dirname : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>dmesg : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>dnsdomainname : <xref linkend="ch-system-net-tools"/></para></listitem>
-<listitem><para>domainname : <xref linkend="ch-system-net-tools"/></para></listitem>
-<listitem><para>dpasswd : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>dprofpp : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>du : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>dumpe2fs : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>dumpkeys : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>e2fsck : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>e2image : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>e2label : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>echo : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>ed : <xref linkend="ch-system-ed"/></para></listitem>
-<listitem><para>efm_filter.pl : <xref linkend="ch-system-vim"/></para></listitem>
-<listitem><para>efm_perl.pl : <xref linkend="ch-system-vim"/></para></listitem>
-<listitem><para>egrep : <xref linkend="ch-system-grep"/></para></listitem>
-<listitem><para>elisp-comp : <xref linkend="ch-system-automake"/></para></listitem>
-<listitem><para>elvtune : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>env : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>envsubst : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>enc2xs : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>eqn : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>e2n2graph : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>ex : <xref linkend="ch-system-vim"/></para></listitem>
-<listitem><para>expand : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>expiry : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>expr : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>factor : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>faillog : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>false : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>fdformat : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>fdisk : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>fgconsole : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>fgrep : <xref linkend="ch-system-grep"/></para></listitem>
-<listitem><para>file : <xref linkend="ch-system-file"/></para></listitem>
-<listitem><para>find : <xref linkend="ch-system-findutils"/></para></listitem>
-<listitem><para>find2perl : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>findfs : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>flex : <xref linkend="ch-system-flex"/></para></listitem>
-<listitem><para>flex++ : <xref linkend="ch-system-flex"/></para></listitem>
-<listitem><para>fmt : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>fold : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>frcode : <xref linkend="ch-system-findutils"/></para></listitem>
-<listitem><para>free : <xref linkend="ch-system-procps"/></para></listitem>
-<listitem><para>fsck : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>fsck.cramfs : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>fsck.ext2 : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>fsck.ext3 : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>fsck.minix : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>ftp : <xref linkend="ch-system-inetutils"/></para></listitem>
-<listitem><para>functions : <xref linkend="ch-system-lfs-bootscripts"/></para></listitem>
-<listitem><para>fuser : <xref linkend="ch-system-psmisc"/></para></listitem>
-<listitem><para>g++ : <xref linkend="ch-system-gcc"/></para></listitem>
-<listitem><para>gawk : <xref linkend="ch-system-gawk"/></para></listitem>
-<listitem><para>gcc : <xref linkend="ch-system-gcc"/></para></listitem>
-<listitem><para>gccbug : <xref linkend="ch-system-gcc"/></para></listitem>
-<listitem><para>gcov : <xref linkend="ch-system-gcc"/></para></listitem>
-<listitem><para>gencat : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>genksyms : <xref linkend="ch-system-modutils"/></para></listitem>
-<listitem><para>geqn : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>getconf : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>getent : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>getkeycodes : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>getopt : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>gettext : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>gettextize : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>getunimap : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>glibcbug : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>gpasswd : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>gprof : <xref linkend="ch-system-binutils"/></para></listitem>
-<listitem><para>grcat : <xref linkend="ch-system-gawk"/></para></listitem>
-<listitem><para>grep : <xref linkend="ch-system-grep"/></para></listitem>
-<listitem><para>grn : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>grodvi : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>groff : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>groffer : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>grog : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>grolbp : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>grolj4 : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>grops : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>grotty : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>groupadd : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>groupdel : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>groupmod : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>groups : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>groups : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>grpck : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>grpconv : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>grpunconv : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>gtbl : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>gunzip : <xref linkend="ch-system-gzip"/></para></listitem>
-<listitem><para>gzexe : <xref linkend="ch-system-gzip"/></para></listitem>
-<listitem><para>gzip : <xref linkend="ch-system-gzip"/></para></listitem>
-<listitem><para>h2ph : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>h2xs : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>halt : <xref linkend="ch-system-lfs-bootscripts"/></para></listitem>
-<listitem><para>halt : <xref linkend="ch-system-sysvinit"/></para></listitem>
-<listitem><para>head : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>hexdump : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>hostid : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>hostname : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>hostname : <xref linkend="ch-system-net-tools"/></para></listitem>
-<listitem><para>hostname : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>hpftodit : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>http-get : <xref linkend="ch-system-lfs-utils"/></para></listitem>
-<listitem><para>hwclock : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>iana-net : <xref linkend="ch-system-lfs-utils"/></para></listitem>
-<listitem><para>iconv : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>iconvconfig : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>id : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>ifconfig : <xref linkend="ch-system-net-tools"/></para></listitem>
-<listitem><para>ifdown : <xref linkend="ch-system-lfs-bootscripts"/></para></listitem>
-<listitem><para>ifnames : <xref linkend="ch-system-autoconf"/></para></listitem>
-<listitem><para>ifup : <xref linkend="ch-system-lfs-bootscripts"/></para></listitem>
-<listitem><para>igawk : <xref linkend="ch-system-gawk"/></para></listitem>
-<listitem><para>indxbib : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>info : <xref linkend="ch-system-texinfo"/></para></listitem>
-<listitem><para>infocmp : <xref linkend="ch-system-ncurses"/></para></listitem>
-<listitem><para>infokey : <xref linkend="ch-system-texinfo"/></para></listitem>
-<listitem><para>infotocap : <xref linkend="ch-system-ncurses"/></para></listitem>
-<listitem><para>init : <xref linkend="ch-system-sysvinit"/></para></listitem>
-<listitem><para>insmod : <xref linkend="ch-system-modutils"/></para></listitem>
-<listitem><para>insmod_ksymoops_clean : <xref linkend="ch-system-modutils"/></para></listitem>
-<listitem><para>install : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>install-info : <xref linkend="ch-system-texinfo"/></para></listitem>
-<listitem><para>install-sh : <xref linkend="ch-system-automake"/></para></listitem>
-<listitem><para>ipcrm : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>ipcs : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>isosize : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>join : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>kallsyms : <xref linkend="ch-system-modutils"/></para></listitem>
-<listitem><para>kbdrate : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>kbd_mode : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>kernelversion : <xref linkend="ch-system-modutils"/></para></listitem>
-<listitem><para>kill : <xref linkend="ch-system-procps"/></para></listitem>
-<listitem><para>killall : <xref linkend="ch-system-psmisc"/></para></listitem>
-<listitem><para>killall5 : <xref linkend="ch-system-sysvinit"/></para></listitem>
-<listitem><para>klogd : <xref linkend="ch-system-sysklogd"/></para></listitem>
-<listitem><para>ksyms : <xref linkend="ch-system-modutils"/></para></listitem>
-<listitem><para>last : <xref linkend="ch-system-sysvinit"/></para></listitem>
-<listitem><para>lastb : <xref linkend="ch-system-sysvinit"/></para></listitem>
-<listitem><para>lastlog : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>ld : <xref linkend="ch-system-binutils"/></para></listitem>
-<listitem><para>ld.so : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>ldconfig : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>ldd : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>lddlibc4 : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>less : <xref linkend="ch-system-less"/></para></listitem>
-<listitem><para>less.sh : <xref linkend="ch-system-vim"/></para></listitem>
-<listitem><para>lessecho : <xref linkend="ch-system-less"/></para></listitem>
-<listitem><para>lesskey : <xref linkend="ch-system-less"/></para></listitem>
-<listitem><para>lex : <xref linkend="ch-system-flex"/></para></listitem>
-<listitem><para>libanl : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>libasprintf : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>libbfd : <xref linkend="ch-system-binutils"/></para></listitem>
-<listitem><para>libblkid : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>libBrokenLocale : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>libbsd-compat : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>libbz2 : <xref linkend="ch-system-bzip2"/></para></listitem>
-<listitem><para>libc : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>libcom_err : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>libcrypt : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>libcurses : <xref linkend="ch-system-ncurses"/></para></listitem>
-<listitem><para>libc_nonshared : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>libdl : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>libe2p : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>libext2fs : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>libfl : <xref linkend="ch-system-flex"/></para></listitem>
-<listitem><para>libform : <xref linkend="ch-system-ncurses"/></para></listitem>
-<listitem><para>libg : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>libgcc* : <xref linkend="ch-system-gcc"/></para></listitem>
-<listitem><para>libgettextlib : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>libgettextpo : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>libgettextsrc : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>libiberty : <xref linkend="ch-system-gcc"/></para></listitem>
-<listitem><para>libieee : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>libltdl* : <xref linkend="ch-system-libtool"/></para></listitem>
-<listitem><para>libm : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>libmagic : <xref linkend="ch-system-file"/></para></listitem>
-<listitem><para>libmcheck : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>libmemusage : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>libmenu : <xref linkend="ch-system-ncurses"/></para></listitem>
-<listitem><para>libmisc : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>libncurses* : <xref linkend="ch-system-ncurses"/></para></listitem>
-<listitem><para>libnetcfg : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>libnsl : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>libnss* : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>libopcodes : <xref linkend="ch-system-binutils"/></para></listitem>
-<listitem><para>libpanel : <xref linkend="ch-system-ncurses"/></para></listitem>
-<listitem><para>libpcprofile : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>libperl : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>libproc : <xref linkend="ch-system-procps"/></para></listitem>
-<listitem><para>libpthread : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>libresolv : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>librpcsvc : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>librt : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>libSegFault : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>libshadow : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>libss : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>libstdc++ : <xref linkend="ch-system-gcc"/></para></listitem>
-<listitem><para>libsupc++ : <xref linkend="ch-system-gcc"/></para></listitem>
-<listitem><para>libthread_db : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>libtool : <xref linkend="ch-system-libtool"/></para></listitem>
-<listitem><para>libtoolize : <xref linkend="ch-system-libtool"/></para></listitem>
-<listitem><para>libutil : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>libuuid : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>liby : <xref linkend="ch-system-bison"/></para></listitem>
-<listitem><para>libz : <xref linkend="ch-system-zlib"/></para></listitem>
-<listitem><para>line : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>link : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>lkbib : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>ln : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>loadkeys : <xref linkend="ch-system-lfs-bootscripts"/></para></listitem>
-<listitem><para>loadkeys : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>loadunimap : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>locale : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>localedef : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>localnet : <xref linkend="ch-system-lfs-bootscripts"/></para></listitem>
-<listitem><para>locate : <xref linkend="ch-system-findutils"/></para></listitem>
-<listitem><para>logger : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>login : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>logname : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>logoutd : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>logsave : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>look : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>lookbib : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>losetup : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>ls : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>lsattr : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>lsdev : <xref linkend="ch-system-procinfo"/></para></listitem>
-<listitem><para>lsmod : <xref linkend="ch-system-modutils"/></para></listitem>
-<listitem><para>m4 : <xref linkend="ch-system-m4"/></para></listitem>
-<listitem><para>make : <xref linkend="ch-system-make"/></para></listitem>
-<listitem><para>MAKEDEV : <xref linkend="ch-system-MAKEDEV"/></para></listitem>
-<listitem><para>makeinfo : <xref linkend="ch-system-texinfo"/></para></listitem>
-<listitem><para>makewhatis : <xref linkend="ch-system-man"/></para></listitem>
-<listitem><para>man : <xref linkend="ch-system-man"/></para></listitem>
-<listitem><para>man2dvi : <xref linkend="ch-system-man"/></para></listitem>
-<listitem><para>man2html : <xref linkend="ch-system-man"/></para></listitem>
-<listitem><para>mapscrn : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>mcookie : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>md5sum : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>mdate-sh : <xref linkend="ch-system-automake"/></para></listitem>
-<listitem><para>mesg : <xref linkend="ch-system-sysvinit"/></para></listitem>
-<listitem><para>missing : <xref linkend="ch-system-automake"/></para></listitem>
-<listitem><para>mkdir : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>mke2fs : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>mkfifo : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>mkfs : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>mkfs.bfs : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>mkfs.cramfs : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>mkfs.ext2 : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>mkfs.ext3 : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>mkfs.minix : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>mkinstalldirs : <xref linkend="ch-system-automake"/></para></listitem>
-<listitem><para>mklost+found : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>mknod : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>mkpasswd : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>mkswap : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>mktemp : <xref linkend="ch-system-lfs-utils"/></para></listitem>
-<listitem><para>mk_cmds : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>mmroff : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>modinfo : <xref linkend="ch-system-modutils"/></para></listitem>
-<listitem><para>modprobe : <xref linkend="ch-system-modutils"/></para></listitem>
-<listitem><para>more : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>mount : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>mountfs : <xref linkend="ch-system-lfs-bootscripts"/></para></listitem>
-<listitem><para>mountproc : <xref linkend="ch-system-lfs-bootscripts"/></para></listitem>
-<listitem><para>msgattrib : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>msgcat : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>msgcmp : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>msgcomm : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>msgconv : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>msgen : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>msgexec : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>msgfilter : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>msgfmt : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>msggrep : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>msginit : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>msgmerge : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>msgunfmt : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>msguniq : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>mtrace : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>mv : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>mve.awk : <xref linkend="ch-system-vim"/></para></listitem>
-<listitem><para>namei : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>nameif : <xref linkend="ch-system-net-tools"/></para></listitem>
-<listitem><para>neqn : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>netstat : <xref linkend="ch-system-net-tools"/></para></listitem>
-<listitem><para>network : <xref linkend="ch-system-lfs-bootscripts"/></para></listitem>
-<listitem><para>newgrp : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>newusers : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>ngettext : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>nice : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>nisdomainname : <xref linkend="ch-system-net-tools"/></para></listitem>
-<listitem><para>nl : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>nm : <xref linkend="ch-system-binutils"/></para></listitem>
-<listitem><para>nohup : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>nroff : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>nscd : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>nscd_nischeck : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>objcopy : <xref linkend="ch-system-binutils"/></para></listitem>
-<listitem><para>objdump : <xref linkend="ch-system-binutils"/></para></listitem>
-<listitem><para>od : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>oldps : <xref linkend="ch-system-procps"/></para></listitem>
-<listitem><para>openvt : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>parse.bash : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>parse.tcsh : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>passwd : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>paste : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>patch : <xref linkend="ch-system-patch"/></para></listitem>
-<listitem><para>pathchk : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>pcprofiledump : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>perl : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>perlbug : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>perlcc : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>perldoc : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>perlivp : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>pfbtops : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>pg : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>pgawk : <xref linkend="ch-system-gawk"/></para></listitem>
-<listitem><para>pgrep : <xref linkend="ch-system-procps"/></para></listitem>
-<listitem><para>pic : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>pic2graph : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>piconv : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>pidof : <xref linkend="ch-system-sysvinit"/></para></listitem>
-<listitem><para>ping : <xref linkend="ch-system-inetutils"/></para></listitem>
-<listitem><para>pinky : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>pivot_root : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>pkill : <xref linkend="ch-system-procps"/></para></listitem>
-<listitem><para>pl2pm : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>plipconfig : <xref linkend="ch-system-net-tools"/></para></listitem>
-<listitem><para>pltags.pl : <xref linkend="ch-system-vim"/></para></listitem>
-<listitem><para>pmap : <xref linkend="ch-system-procps"/></para></listitem>
-<listitem><para>pod2html : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>pod2latex : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>pod2man : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>pod2text : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>pod2usage : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>podchecker : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>podselect : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>post-grohtml : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>poweroff : <xref linkend="ch-system-sysvinit"/></para></listitem>
-<listitem><para>pr : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>pre-grohtml : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>printenv : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>printf : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>procinfo : <xref linkend="ch-system-procinfo"/></para></listitem>
-<listitem><para>project-id : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>ps : <xref linkend="ch-system-procps"/></para></listitem>
-<listitem><para>psed : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>psfaddtable : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>psfgettable : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>psfstriptable : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>psfxtable : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>pstree : <xref linkend="ch-system-psmisc"/></para></listitem>
-<listitem><para>pstree.x11 : <xref linkend="ch-system-psmisc"/></para></listitem>
-<listitem><para>pstruct : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>ptx : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>pt_chown : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>pwcat : <xref linkend="ch-system-gawk"/></para></listitem>
-<listitem><para>pwck : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>pwconv : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>pwd : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>pwunconv : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>py-compile : <xref linkend="ch-system-automake"/></para></listitem>
-<listitem><para>ramsize : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>ranlib : <xref linkend="ch-system-binutils"/></para></listitem>
-<listitem><para>rarp : <xref linkend="ch-system-net-tools"/></para></listitem>
-<listitem><para>raw : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>rc : <xref linkend="ch-system-lfs-bootscripts"/></para></listitem>
-<listitem><para>rcp : <xref linkend="ch-system-inetutils"/></para></listitem>
-<listitem><para>rdev : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>re : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>readelf : <xref linkend="ch-system-binutils"/></para></listitem>
-<listitem><para>readlink : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>readprofile : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>reboot : <xref linkend="ch-system-lfs-bootscripts"/></para></listitem>
-<listitem><para>reboot : <xref linkend="ch-system-sysvinit"/></para></listitem>
-<listitem><para>red : <xref linkend="ch-system-ed"/></para></listitem>
-<listitem><para>ref : <xref linkend="ch-system-vim"/></para></listitem>
-<listitem><para>refer : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>rename : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>renice : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>reset : <xref linkend="ch-system-ncurses"/></para></listitem>
-<listitem><para>resize2fs : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>resizecons : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>rev : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>rlogin : <xref linkend="ch-system-inetutils"/></para></listitem>
-<listitem><para>rm : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>rmdir : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>rmmod : <xref linkend="ch-system-modutils"/></para></listitem>
-<listitem><para>rmt : <xref linkend="ch-system-tar"/></para></listitem>
-<listitem><para>rootflags : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>route : <xref linkend="ch-system-net-tools"/></para></listitem>
-<listitem><para>rpcgen : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>rpcinfo : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>rsh : <xref linkend="ch-system-inetutils"/></para></listitem>
-<listitem><para>runlevel : <xref linkend="ch-system-sysvinit"/></para></listitem>
-<listitem><para>rview : <xref linkend="ch-system-vim"/></para></listitem>
-<listitem><para>rvim : <xref linkend="ch-system-vim"/></para></listitem>
-<listitem><para>s2p : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>script : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>sdiff : <xref linkend="ch-system-diffutils"/></para></listitem>
-<listitem><para>sed : <xref linkend="ch-system-sed"/></para></listitem>
-<listitem><para>sendsignals : <xref linkend="ch-system-lfs-bootscripts"/></para></listitem>
-<listitem><para>seq : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>setclock : <xref linkend="ch-system-lfs-bootscripts"/></para></listitem>
-<listitem><para>setfdprm : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>setfont : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>setkeycodes : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>setleds : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>setlogcons : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>setmetamode : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>setsid : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>setterm : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>setvesablank : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>sfdisk : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>sg : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>sh : <xref linkend="ch-system-bash"/></para></listitem>
-<listitem><para>sha1sum : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>showconsolefont : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>showkey : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>shred : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>shtags.pl : <xref linkend="ch-system-vim"/></para></listitem>
-<listitem><para>shutdown : <xref linkend="ch-system-sysvinit"/></para></listitem>
-<listitem><para>size : <xref linkend="ch-system-binutils"/></para></listitem>
-<listitem><para>skill : <xref linkend="ch-system-procps"/></para></listitem>
-<listitem><para>slattach : <xref linkend="ch-system-net-tools"/></para></listitem>
-<listitem><para>sleep : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>sln : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>snice : <xref linkend="ch-system-procps"/></para></listitem>
-<listitem><para>socklist : <xref linkend="ch-system-procinfo"/></para></listitem>
-<listitem><para>soelim : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>sort : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>splain : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>split : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>sprof : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>stat : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>strings : <xref linkend="ch-system-binutils"/></para></listitem>
-<listitem><para>strip : <xref linkend="ch-system-binutils"/></para></listitem>
-<listitem><para>stty : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>su : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>sulogin : <xref linkend="ch-system-sysvinit"/></para></listitem>
-<listitem><para>sum : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>swap : <xref linkend="ch-system-lfs-bootscripts"/></para></listitem>
-<listitem><para>swapoff : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>swapon : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>symlink-tree : <xref linkend="ch-system-automake"/></para></listitem>
-<listitem><para>sync : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>sysctl : <xref linkend="ch-system-procps"/></para></listitem>
-<listitem><para>sysklogd : <xref linkend="ch-system-lfs-bootscripts"/></para></listitem>
-<listitem><para>syslogd : <xref linkend="ch-system-sysklogd"/></para></listitem>
-<listitem><para>tac : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>tack : <xref linkend="ch-system-ncurses"/></para></listitem>
-<listitem><para>tail : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>talk : <xref linkend="ch-system-inetutils"/></para></listitem>
-<listitem><para>tar : <xref linkend="ch-system-tar"/></para></listitem>
-<listitem><para>tbl : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>tcltags : <xref linkend="ch-system-vim"/></para></listitem>
-<listitem><para>team-address : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>tee : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>telinit : <xref linkend="ch-system-sysvinit"/></para></listitem>
-<listitem><para>telnet : <xref linkend="ch-system-inetutils"/></para></listitem>
-<listitem><para>tempfile : <xref linkend="ch-system-lfs-utils"/></para></listitem>
-<listitem><para>template : <xref linkend="ch-system-lfs-bootscripts"/></para></listitem>
-<listitem><para>test : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>test.bash : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>test.tcsh : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>texi2dvi : <xref linkend="ch-system-texinfo"/></para></listitem>
-<listitem><para>texindex : <xref linkend="ch-system-texinfo"/></para></listitem>
-<listitem><para>tfmtodit : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>tftp : <xref linkend="ch-system-inetutils"/></para></listitem>
-<listitem><para>tic : <xref linkend="ch-system-ncurses"/></para></listitem>
-<listitem><para>tload : <xref linkend="ch-system-procps"/></para></listitem>
-<listitem><para>toe : <xref linkend="ch-system-ncurses"/></para></listitem>
-<listitem><para>top : <xref linkend="ch-system-procps"/></para></listitem>
-<listitem><para>touch : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>tput : <xref linkend="ch-system-ncurses"/></para></listitem>
-<listitem><para>tr : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>trigger : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>troff : <xref linkend="ch-system-groff"/></para></listitem>
-<listitem><para>true : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>tset : <xref linkend="ch-system-ncurses"/></para></listitem>
-<listitem><para>tsort : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>tty : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>tune2fs : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>tunelp : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>tzselect : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>ul : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>umount : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>uname : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>uncompress : <xref linkend="ch-system-gzip"/></para></listitem>
-<listitem><para>unexpand : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>unicode_start : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>unicode_stop : <xref linkend="ch-system-kbd"/></para></listitem>
-<listitem><para>uniq : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>unlink : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>updatedb : <xref linkend="ch-system-findutils"/></para></listitem>
-<listitem><para>uptime : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>uptime : <xref linkend="ch-system-procps"/></para></listitem>
-<listitem><para>urlget : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>user-email : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>useradd : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>userdel : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>usermod : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>users : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>utmpdump : <xref linkend="ch-system-sysvinit"/></para></listitem>
-<listitem><para>uuidgen : <xref linkend="ch-system-e2fsprogs"/></para></listitem>
-<listitem><para>vdir : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>vi : <xref linkend="ch-system-vim"/></para></listitem>
-<listitem><para>vidmode : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>view : <xref linkend="ch-system-vim"/></para></listitem>
-<listitem><para>vigr : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>vim : <xref linkend="ch-system-vim"/></para></listitem>
-<listitem><para>vim132 : <xref linkend="ch-system-vim"/></para></listitem>
-<listitem><para>vim2html.pl : <xref linkend="ch-system-vim"/></para></listitem>
-<listitem><para>vimdiff : <xref linkend="ch-system-vim"/></para></listitem>
-<listitem><para>vimm : <xref linkend="ch-system-vim"/></para></listitem>
-<listitem><para>vimspell.sh : <xref linkend="ch-system-vim"/></para></listitem>
-<listitem><para>vimtutor : <xref linkend="ch-system-vim"/></para></listitem>
-<listitem><para>vipw : <xref linkend="ch-system-shadow"/></para></listitem>
-<listitem><para>vmstat : <xref linkend="ch-system-procps"/></para></listitem>
-<listitem><para>w : <xref linkend="ch-system-procps"/></para></listitem>
-<listitem><para>wall : <xref linkend="ch-system-sysvinit"/></para></listitem>
-<listitem><para>watch : <xref linkend="ch-system-procps"/></para></listitem>
-<listitem><para>wc : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>whatis : <xref linkend="ch-system-man"/></para></listitem>
-<listitem><para>whereis : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>who : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>whoami : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>write : <xref linkend="ch-system-util-linux"/></para></listitem>
-<listitem><para>xargs : <xref linkend="ch-system-findutils"/></para></listitem>
-<listitem><para>xgettext : <xref linkend="ch-system-gettext"/></para></listitem>
-<listitem><para>xsubpp : <xref linkend="ch-system-perl"/></para></listitem>
-<listitem><para>xtrace : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>xxd : <xref linkend="ch-system-vim"/></para></listitem>
-<listitem><para>yacc : <xref linkend="ch-system-bison"/></para></listitem>
-<listitem><para>yes : <xref linkend="ch-system-coreutils"/></para></listitem>
-<listitem><para>ylwrap : <xref linkend="ch-system-automake"/></para></listitem>
-<listitem><para>ypdomainname : <xref linkend="ch-system-net-tools"/></para></listitem>
-<listitem><para>zcat : <xref linkend="ch-system-gzip"/></para></listitem>
-<listitem><para>zcmp : <xref linkend="ch-system-gzip"/></para></listitem>
-<listitem><para>zdiff : <xref linkend="ch-system-gzip"/></para></listitem>
-<listitem><para>zdump : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>zegrep : <xref linkend="ch-system-gzip"/></para></listitem>
-<listitem><para>zfgrep : <xref linkend="ch-system-gzip"/></para></listitem>
-<listitem><para>zforce : <xref linkend="ch-system-gzip"/></para></listitem>
-<listitem><para>zgrep : <xref linkend="ch-system-gzip"/></para></listitem>
-<listitem><para>zic : <xref linkend="ch-system-glibc"/></para></listitem>
-<listitem><para>zless : <xref linkend="ch-system-gzip"/></para></listitem>
-<listitem><para>zmore : <xref linkend="ch-system-gzip"/></para></listitem>
-<listitem><para>znew : <xref linkend="ch-system-gzip"/></para></listitem>
-<listitem><para>zsoelim : <xref linkend="ch-system-groff"/></para></listitem>
-
-</itemizedlist>
-
-</appendix>
diff --git a/chapter01/contactinfo.xml b/chapter01/administrativa.xml
index 0d8351e43..9046c9217 100644
--- a/chapter01/contactinfo.xml
+++ b/chapter01/administrativa.xml
@@ -1,6 +1,11 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-scatter-administrativa">
<title>Resources</title>
-<?dbhtml filename="resources.html" dir="chapter01"?>
+<?dbhtml filename="resources.html"?>
<sect2 id="ch-scatter-faq">
@@ -27,7 +32,7 @@ support channel is named #LFS-support.</para>
</sect2>
-<sect2 id="ch-scatter-maillists">
+<sect2 id="ch-scatter-maillists" xreflabel="Chapter 1 - Mailing lists">
<title>Mailing lists</title>
<para>The <emphasis>linuxfromscratch.org</emphasis> server is hosting a number
@@ -35,8 +40,7 @@ of mailing lists used for the development of the LFS project. These lists
include, among others, the main development and support lists.</para>
<para>For information on which lists are available, how to subscribe to them,
-their archive locations, and so on, visit <ulink
-url="&lfs-root;mail.html"/>.</para>
+their archive locations, and so on, visit <ulink url="&lfs-root;mail.html"/>.</para>
</sect2>
@@ -46,7 +50,7 @@ url="&lfs-root;mail.html"/>.</para>
<para>All the mailing lists hosted at <emphasis>linuxfromscratch.org</emphasis>
are also accessible via the NNTP server. All messages posted to a mailing list
-are copied to the correspondent newsgroup, and vice versa.</para>
+are copied to the corresponding newsgroup, and vice versa.</para>
<para>The news server can be reached at
<emphasis>news.linuxfromscratch.org</emphasis>.</para>
@@ -95,4 +99,3 @@ lists (see above).</para>
</sect1>
-
diff --git a/chapter01/askforhelp.xml b/chapter01/askforhelp.xml
index b04a8161b..747a74b92 100644
--- a/chapter01/askforhelp.xml
+++ b/chapter01/askforhelp.xml
@@ -1,9 +1,14 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="prepare-askforhelp">
<title>How to ask for help</title>
-<?dbhtml filename="askforhelp.html" dir="chapter01"?>
+<?dbhtml filename="askforhelp.html"?>
<para>If you run into a problem while working through this book, you should
-first check the FAQ at <ulink url="&faq-root;"/> -- most likely your question
+first check the FAQ at <ulink url="&faq-root;"/> -- often your question
is already answered there. If it is not, you should try to find the source of
the problem. The following hint might give you some ideas for your
troubleshooting: <ulink url="&hints-root;errors.txt"/>.</para>
@@ -22,7 +27,7 @@ essential things to include in your request are:</para>
<itemizedlist>
<listitem><para>the version of the book you are using (being &version;),</para></listitem>
<listitem><para>the host distribution and version you are using to create
-LFS from,</para></listitem>
+LFS,</para></listitem>
<listitem><para>the package or section giving you problems,</para></listitem>
<listitem><para>the exact error message or symptom you are receiving,</para></listitem>
<listitem><para>whether you have deviated from the book at all.</para></listitem>
@@ -51,7 +56,7 @@ help.</para>
<para>To help us find the cause of the problem, both screen output and
the contents of various files are useful. The screen output from both
the ./configure script and the make run can be useful. Don't blindly
-include the whole thing but on the other hand, don't include too little.
+include the whole thing but, on the other hand, don't include too little.
As an example, here is some screen output from make:</para>
<screen>gcc -DALIASPATH=\"/mnt/lfs/usr/share/locale:.\"
@@ -82,8 +87,8 @@ above, is what should be included to be helpful, because it includes the
command that was executed and the command's error message(s).</para>
<para>An excellent article on asking for help on the Internet in general
-has been written by Eric S. Raymond. It is available online at <ulink
-url="http://catb.org/~esr/faqs/smart-questions.html"/>.
+has been written by Eric S. Raymond. It is available online at
+<ulink url="http://catb.org/~esr/faqs/smart-questions.html"/>.
Read and follow the hints in that document and you are much more likely
to get a response to start with and also to get the help you actually
need.</para>
@@ -104,4 +109,3 @@ about them, then usually there is no need to be concerned.</para>
</sect1>
-
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index 744056af0..d152c2a3e 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -1,12 +1,17 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-scatter-changelog">
<title>Changelog</title>
-<?dbhtml filename="changelog.html" dir="chapter01"?>
+<?dbhtml filename="changelog.html"?>
<para>This is version &version; of the Linux From Scratch book, dated
&releasedate;. If this book is more than two months old, a newer and better
version is probably already available. To find out, please check one of the
mirrors via <ulink url="&lfs-root;"/>.</para>
-
+
<para>Below is a list of changes made since the previous release of the book,
first a summary, then a detailed log.</para>
@@ -14,37 +19,78 @@ first a summary, then a detailed log.</para>
<listitem><para>Upgraded to:</para>
<itemizedlist>
+<listitem><para>autoconf-2.59</para></listitem>
+<listitem><para>automake-1.8.4</para></listitem>
+<listitem><para>coreutils-5.2.1</para></listitem>
+<listitem><para>e2fsprogs-1.35</para></listitem>
+<listitem><para>expect-5.41.0</para></listitem>
+<listitem><para>file-4.09</para></listitem>
+<listitem><para>gcc-3.3.3</para></listitem>
+<listitem><para>gettext-0.14.1</para></listitem>
+<listitem><para>grub-0.94</para></listitem>
+<listitem><para>kbd-1.12</para></listitem>
<listitem><para>less-382</para></listitem>
-<listitem><para>lfs-utils-0.5</para></listitem>
-<listitem><para>linux-2.4.25</para></listitem>
+<listitem><para>lfs-bootscripts-2.0.4</para></listitem>
+<listitem><para>libtool-2.5.6</para></listitem>
+<listitem><para>linux-2.4.26</para></listitem>
<listitem><para>man-pages-1.66</para></listitem>
+<listitem><para>modutils-2.4.27</para></listitem>
<listitem><para>ncurses-5.4</para></listitem>
-<listitem><para>procps-3.2.0</para></listitem>
+<listitem><para>perl-5.8.4</para></listitem>
+<listitem><para>procps-3.2.1</para></listitem>
+<listitem><para>psmisc-21.4</para></listitem>
+<listitem><para>sed-4.0.9</para></listitem>
+<listitem><para>shadow-4.0.4.1</para></listitem>
+<listitem><para>tar-1.13.94</para></listitem>
+<listitem><para>tcl-8.4.6</para></listitem>
+<listitem><para>texinfo-4.7</para></listitem>
+<listitem><para>util-linux-2.12a</para></listitem>
</itemizedlist>
</listitem>
<listitem><para>Added:</para>
<itemizedlist>
+<listitem><para>iana-etc-1.00</para></listitem>
+<listitem><para>inetutils-1.4.2-no_server_man_pages-1.patch</para></listitem>
<listitem><para>make_devices-1.2</para></listitem>
+<listitem><para>mktemp-1.5 + mktemp-1.5-add-tempfile.patch</para></listitem>
</itemizedlist>
</listitem>
<listitem><para>Removed:</para>
<itemizedlist>
+<listitem><para>gcc-3.3.1-suppress-libiberty.patch</para></listitem>
+<listitem><para>lfs-utils-0.5</para></listitem>
<listitem><para>MAKEDEV-1.7</para></listitem>
+<listitem><para>man-1.5m2-manpath.patch</para></listitem>
+<listitem><para>man-1.5m2-pager.patch</para></listitem>
<listitem><para>ncurses-5.3-etip-2.patch</para></listitem>
+<listitem><para>ncurses-5.3-vsscanf.patch</para></listitem>
+<listitem><para>perl-5.8.0-libc-3.patch</para></listitem>
+<listitem><para>procps-3.1.11-locale-fix.patch</para></listitem>
+<listitem><para>shadow-4.0.3-newgrp-fix.patch</para></listitem>
+<listitem><para>zlib-1.1.4-vsnprintf.patch</para></listitem>
</itemizedlist>
</listitem>
-<listitem><para>March 21st, 2004 [jeremy]: Chapter 6 - Grub - Removed the sed
-used with grub-0.93 for gcc 3.3 compliance, as it's not necessary with
-0.94</para></listitem>
+<listitem><para>May 2nd, 2004 [matt]: Quoted chroot commands in chapter 6 (bug
+#818).</para></listitem>
+<listitem><para>May 2nd, 2004 [matt]: Removed description of the now
+non-existent part IV from the structure section in the prologue.</para>
+</listitem>
+<listitem><para>May 1st, 2004 [jeremy]: Added creation of the /media and /srv
+directories, as well as 2 directories under /media for floppy and cdrom, as per
+FHS - fixes bugzilla bug #785 and #819.</para></listitem>
+
+<listitem><para>April 14th, 2004 [jeremy]: Updated to lfs-bootscripts-2.0.3, no
+textual changes needed</para></listitem>
-<listitem><para>March 9th, 2004 [alex]: Chapter 6 - Removed --login from the
-chroot commands.</para></listitem>
+<listitem><para>March 24th, 2004 [jeremy]: Chapter 7 - Updated to the new
+lfs-bootscripts-2.0.2, and all necessary changes to the bootscript
+configuration</para></listitem>
-<listitem><para>March 6th, 2004 [alex]: Rotated the contents of chapters 2, 3
-and 4.</para></listitem>
+<listitem><para>March 21st, 2004 [winkie]: Chapter 6 - Replaced Lfs-Utils
+with Iana-Etc and Mktemp.</para></listitem>
<listitem><para>February 27th, 2004 [jeremy]: Upgraded to
Procps-3.2.0.</para></listitem>
@@ -71,7 +117,7 @@ system from chapter 9 to the end of chapter 6.</para></listitem>
E2fsprogs: Clarified the prerequisites for running the tests.</para></listitem>
<listitem><para>February 19th, 2004 [alex]: Chapter 5 - Stripping: Removed
-an unnecessary "{,share/}" from the documentation's <command>rm</command>
+an unnecessary <quote>{,share/}</quote> from the documentation's <command>rm</command>
command.</para></listitem>
<listitem><para>February 14th, 2004 [jeremy]: Chapter 6 - Upgraded to
@@ -91,7 +137,7 @@ installation section to chapter 7.</para></listitem>
Man-pages-1.66.</para></listitem>
<listitem><para>February 7th, 2004 [alex]: Chapter 1 - Moved the Conventions
-and Acknowledgements sections to the Preface.</para></listitem>
+and Acknowledgments sections to the Preface.</para></listitem>
<listitem><para>February 7th, 2004 [alex]: Chapter 6 - Creating devices:
replaced the MAKEDEV script with the make_devices script. Contributed by
@@ -110,4 +156,3 @@ added a little arch script for Perl.</para></listitem>
<para>Release of version 5.1-pre1 on February 1st, 2004.</para>
</sect1>
-
diff --git a/chapter01/chapter01.xml b/chapter01/chapter01.xml
index 0782d3e5c..0698615df 100644
--- a/chapter01/chapter01.xml
+++ b/chapter01/chapter01.xml
@@ -1,10 +1,21 @@
-<chapter id="chapter01" xreflabel="Chapter 1">
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<chapter id="chapter-intro" xreflabel="Chapter 1">
+<?dbhtml dir="chapter01"?>
<title>Introduction</title>
-<?dbhtml filename="chapter01.html" dir="chapter01"?>
+<?dbhtml filename="chapter01.html"?>
-&c1-how;
-&c1-changelog;
-&c1-resources;
-&c1-askforhelp;
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="how.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="changelog.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="administrativa.xml"/>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="askforhelp.xml"/>
</chapter>
diff --git a/chapter01/how.xml b/chapter01/how.xml
index 18bbfc3fc..1181abb3e 100644
--- a/chapter01/how.xml
+++ b/chapter01/how.xml
@@ -1,6 +1,11 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-scatter-how">
<title>How things are going to be done</title>
-<?dbhtml filename="how.html" dir="chapter01"?>
+<?dbhtml filename="how.html"?>
<para>You are going to build your LFS system by using a previously installed
Linux distribution (such as Debian, Mandrake, Red Hat, or SuSE). This existing
@@ -9,57 +14,62 @@ programs like a compiler, linker and shell to build the new system. Normally
all the required tools are available if you selected <quote>development</quote>
as one of the options when you installed your distribution.</para>
-<para>In <xref linkend="chapter-making-space"/> you will first create a new
+<para>In <xref linkend="chapter-partitioning"/> you will first create a new Linux native
partition and file system, the place where your new LFS system will be compiled
-and installed. Then in <xref linkend="chapter-getting-materials"/> you download
-all the packages and patches needed to build an LFS system, and store them on
-the new file system. In <xref linkend="chapter-preparation"/> you set up a good
+and installed. Then in <xref linkend="chapter-getting-materials"/> you download all the
+packages and patches needed to build an LFS system, and store them on the new
+file system. In <xref linkend="chapter-final-preps"/> you set up a good
environment to work in.</para>
-<para><xref linkend="chapter-temporary-tools"/> then discusses the installation
-of a number of packages that form the basic development suite used to build the
-actual system in <xref linkend="chapter-building-system"/>.</para>
+<para><xref linkend="chapter-temporary-tools"/> then discusses the installation of a number
+of packages that will form the basic development suite (or <emphasis>toolchain</emphasis>) which is
+used to build the actual system in <xref linkend="chapter-building-system"/>. Some of these
+packages are needed to resolve circular dependencies -- for example, to compile
+a compiler you need a compiler.</para>
-<para>The first thing to be done in <xref linkend="chapter-temporary-tools"/>
-is build a first pass of the <emphasis>toolchain</emphasis>, consisting of
-Binutils and GCC. The programs from these packages will be linked statically in
-order for them to be usable independently of the host system (thus making it
-in theory possible to skip the second passes). The second thing to do is build
-Glibc, the C library. Glibc will be compiled by the just-built toolchain
-programs. The third thing to do is build a second pass of the toolchain, this
-time linking it dynamically against the newly built Glibc. The remaining <xref
-linkend="chapter-temporary-tools"/> packages are all built using this second
-pass toolchain and are dynamically linked against the new host-independent
-Glibc. When this is done, the LFS installation process will no longer depend on
-the host distribution, with the exception of the running kernel.</para>
+<para>The first thing to be done in <xref linkend="chapter-temporary-tools"/> is build a
+first pass of the toolchain, made up of Binutils and GCC. The programs from
+these packages will be linked statically in order for them to be usable
+independently of the host system. The second thing to do is build Glibc, the
+C library. Glibc will be compiled by the toolchain programs just built in
+the first pass. The third thing to do is build a second pass of the toolchain.
+This time the toolchain will be dynamically linked against the newly built
+Glibc. The remaining <xref linkend="chapter-temporary-tools"/> packages are all built using
+this second pass toolchain and dynamically linked against the new
+host-independent Glibc. When this is done, the LFS installation process will no
+longer depend on the host distribution, with the exception of the running
+kernel.</para>
<para>You may be thinking that <quote>this seems like a lot of work, just to
get away from my host distribution</quote>. Well, a full technical explanation
-is provided at the start of <xref linkend="chapter-temporary-tools"/>,
-including some notes on the differences between statically and dynamically
-linked programs.</para>
+is provided at the start of <xref linkend="chapter-temporary-tools"/>, including some notes
+on the differences between statically and dynamically linked programs.</para>
-<para>In <xref linkend="chapter-building-system"/> your real LFS system will be
-built. The <command>chroot</command> (change root) program is used to enter a
-virtual environment and start a new shell whose root directory will be set to
-the LFS partition. This is very similar to rebooting and instructing the kernel
-to mount the LFS partition as the root partition. The reason that you don't
-actually reboot, but instead chroot, is that creating a bootable system
-requires additional work which isn't necessary just yet. But the major
-advantage is that chrooting allows you to continue using the host while LFS is
-being built. While waiting for package compilation to complete, you can simply
-switch to a different VC (Virtual Console) or X desktop and continue using the
-computer as you normally would.</para>
+<para>In <xref linkend="chapter-building-system"/> your real LFS system will be built. The
+chroot (change root) program is used to enter a virtual environment and start
+a new shell whose root directory will be set to the LFS partition. This is very
+similar to rebooting and instructing the kernel to mount the LFS partition as
+the root partition. The reason that you don't actually reboot, but instead
+chroot, is that creating a bootable system requires additional work which isn't
+necessary just yet. But the major advantage is that <quote>chrooting</quote> allows you to
+continue using the host while LFS is being built. While waiting for package
+compilation to complete, you can simply switch to a different VC (Virtual
+Console) or X desktop and continue using the computer as you normally
+would.</para>
<para>To finish the installation, the bootscripts are set up in
<xref linkend="chapter-bootscripts"/>, the kernel and bootloader are set up in
-<xref linkend="chapter-mixture"/>, and <xref linkend="chapter-finalizing"/>
-contains some pointers to help you after you finish the book. Then, finally,
-you're ready to reboot your computer into your new LFS system.</para>
+<xref linkend="chapter-bootable"/>, and <xref linkend="chapter-finalizing"/> contains some
+pointers to help you after you finish the book. Then, finally, you're ready to
+reboot your computer into your new LFS system.</para>
-<para>This is the process in a nutshell. Detailed information on all the steps
-taken is given in the chapters and sections as you progress through them. If
-something isn't completely clear now, don't worry, everything will fall into
-place soon.</para>
+<para>This is the process in a nutshell. Detailed information on the steps you
+will take are discussed in the chapters and package descriptions as you
+progress through them. If something isn't completely clear now, don't worry,
+everything will fall into place soon.</para>
+
+<para>Please read <xref linkend="chapter-final-preps"/> carefully as it explains
+ a few important things you should be aware of before you begin to work through
+<xref linkend="chapter-temporary-tools"/> and beyond.</para>
</sect1>
diff --git a/chapter02/chapter02.xml b/chapter02/chapter02.xml
index e1e6e74ec..29d349029 100644
--- a/chapter02/chapter02.xml
+++ b/chapter02/chapter02.xml
@@ -1,135 +1,24 @@
-<chapter id="chapter-making-space" xreflabel="Chapter 2">
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<chapter id="chapter-partitioning" xreflabel="Chapter 2">
+<?dbhtml dir="chapter02"?>
<title>Preparing a new partition</title>
-<?dbhtml filename="chapter02.html" dir="chapter02"?>
+<?dbhtml filename="chapter02.html"?>
-<sect1 id="space-introduction">
-<title>Introduction</title>
-<?dbhtml filename="introduction.html" dir="chapter02"?>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/>
-<para>In this chapter the partition which will host the LFS system is
-prepared. We will create the partition itself, make a file system on it,
-and mount it.</para>
-</sect1>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingpartition.xml"/>
-<sect1 id="space-creatingpartition">
-<title>Creating a new partition</title>
-<?dbhtml filename="creatingpartition.html" dir="chapter02"?>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingfilesystem.xml"/>
-<para>In order to build our new Linux system, we will need some space:
-an empty disk partition. If you don't have a free partition, and no room
-on any of your hard disks to make one, then you could build LFS on the
-same partition as the one on which your current distribution is installed.
-This procedure is not recommended for your first LFS install, but if you
-are short on disk space, and you feel brave, take a look at the hint at
-<ulink url="&hints-root;lfs_next_to_existing_systems.txt"/>.</para>
-<para>For a minimal system you will need a partition of around 1.2 GB.
-This is enough to store all the source tarballs and compile all the packages.
-But if you intend to use the LFS system as your primary Linux system, you
-will probably want to install additional software, and will need more space
-than this, probably around 2 or 3 GB.</para>
-
-<para>As we almost never have enough RAM in our box, it is a good idea to
-use a small disk partition as swap space -- this space is used by the kernel
-to store seldom-used data to make room in memory for more urgent stuff.
-The swap partition for your LFS system can be the same one as for your host
-system, so you won't have to create another if your host system already uses
-a swap partition.</para>
-
-<para>Start a disk partitioning program such as <command>cfdisk</command>
-or <command>fdisk</command> with an argument naming the hard disk upon
-which the new partition must be created -- for example
-<filename>/dev/hda</filename> for the primary IDE disk. Create a Linux native
-partition and a swap partition, if needed. Please refer to the man pages of
-<command>cfdisk</command> or <command>fdisk</command> if you don't yet
-know how to use the programs.</para>
-
-<para>Remember the designation of your new partition -- something like
-<filename>hda5</filename>. This book will refer to it as the LFS partition.
-If you (now) also have a swap partition, remember its designation too. These
-names will later be needed for the <filename>/etc/fstab</filename> file.</para>
-
-</sect1>
-
-
-<sect1 id="space-creatingfilesystem">
-<title>Creating a file system on the new partition</title>
-<?dbhtml filename="creatingfilesystem.html" dir="chapter02"?>
-
-<para>Now that we have a blank partition, we can create a file system on it.
-Most widely used in the Linux world is the second extended file system (ext2),
-but with the high-capacity hard disks of today the so-called journaling
-file systems are becoming increasingly popular. Here we will create an ext2
-file system, but build instructions for other file systems can be found at
-<ulink url="&blfs-root;view/stable/postlfs/filesystems.html"/>.</para>
-
-<para>To create an ext2 file system on the LFS partition run the following:</para>
-
-<screen><userinput>mke2fs /dev/xxx</userinput></screen>
-
-<para>Replace <filename>xxx</filename> with the name of the LFS partition
-(something like <filename>hda5</filename>).</para>
-
-<para>If you created a (new) swap partition you need to initialize it as a
-swap partition too (also known as formatting, like you did above with
-<command>mke2fs</command>) by running:</para>
-
-<screen><userinput>mkswap /dev/yyy</userinput></screen>
-
-<para>Replace <filename>yyy</filename> with the name of the swap
-partition.</para>
-
-</sect1>
-
-
-<sect1 id="space-mounting">
-<title>Mounting the new partition</title>
-<?dbhtml filename="mounting.html" dir="chapter02"?>
-
-<para>Now that we've created a file system, we want to be able to access
-the partition. For that, we need to mount it, and have to choose a mount
-point. In this book we assume that the file system is mounted under
-<filename>/mnt/lfs</filename>, but it doesn't matter what directory
-you choose.</para>
-
-<para>Choose a mount point and assign it to the LFS environment variable
-by running:</para>
-
-<screen><userinput>export LFS=/mnt/lfs</userinput></screen>
-
-<para>Now create the mount point and mount the LFS file system by running:</para>
-
-<screen><userinput>mkdir -p $LFS
-mount /dev/xxx $LFS</userinput></screen>
-
-<para>Replace <filename>xxx</filename> with the designation of the LFS
-partition.</para>
-
-<para>If you have decided to use multiple partitions for LFS (say one for
-<filename>/</filename> and another for <filename>/usr</filename>), mount
-them like this:</para>
-
-<screen><userinput>mkdir -p $LFS
-mount /dev/xxx $LFS
-mkdir $LFS/usr
-mount /dev/yyy $LFS/usr</userinput></screen>
-
-<para>Of course, replace <filename>xxx</filename> and <filename>yyy</filename>
-with the appropriate partition names.</para>
-
-<para>You should also ensure that this new partition is not mounted with
-permissions that are too restrictive (such as the nosuid, nodev or noatime
-options). You can run the <command>mount</command> command without any
-parameters to see with what options the LFS partition is mounted. If
-you see nosuid, nodev or noatime, you will need to remount it.</para>
-
-<para>Now that we've made ourselves a place to work in, we're ready to download
-the packages.</para>
-
-</sect1>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="mounting.xml"/>
</chapter>
diff --git a/chapter02/creatingfilesystem.xml b/chapter02/creatingfilesystem.xml
new file mode 100644
index 000000000..3745679b8
--- /dev/null
+++ b/chapter02/creatingfilesystem.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="space-creatingfilesystem">
+<title>Creating a file system on the new partition</title>
+<?dbhtml filename="creatingfilesystem.html"?>
+
+<para>Now that we have a blank partition, we can create a file system on it.
+Most widely used in the Linux world is the second extended file system (ext2),
+but with the high-capacity hard disks of today the so-called journaling file
+systems are becoming increasingly popular. Here we will create an ext2 file
+system, but build instructions for other file systems can be found at
+<ulink url="&blfs-root;view/stable/postlfs/filesystems.html"/>.</para>
+
+<para>To create an ext2 file system on the LFS partition run the following:</para>
+
+<screen><userinput>mke2fs /dev/xxx</userinput></screen>
+
+<para>Replace <filename>xxx</filename> with the name of the LFS partition
+(something like <filename>hda5</filename>).</para>
+
+<para>If you created a (new) swap partition you need to initialize it as a
+swap partition too (also known as formatting, like you did above with
+<userinput>mke2fs</userinput>) by running:</para>
+
+<screen><userinput>mkswap /dev/yyy</userinput></screen>
+
+<para>Replace <filename>yyy</filename> with the name of the swap
+partition.</para>
+
+</sect1>
diff --git a/chapter02/creatingpartition.xml b/chapter02/creatingpartition.xml
new file mode 100644
index 000000000..fd317876e
--- /dev/null
+++ b/chapter02/creatingpartition.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="space-creatingpartition">
+<title>Creating a new partition</title>
+<?dbhtml filename="creatingpartition.html"?>
+
+<para>In order to build our new Linux system, we will need some space:
+an empty disk partition. If you don't have a free partition, and no room
+on any of your hard disks to make one, then you could build LFS on the
+same partition as the one on which your current distribution is installed.
+This procedure is not recommended for your first LFS install, but if you
+are short on disk space, and you feel brave, take a look at the hint at
+<ulink url="&hints-root;lfs_next_to_existing_systems.txt"/>.</para>
+
+<para>For a minimal system you will need a partition of around 1.3 GB.
+This is enough to store all the source tarballs and compile all the packages.
+But if you intend to use the LFS system as your primary Linux system, you
+will probably want to install additional software, and will need more space
+than this, probably around 2 or 3 GB.</para>
+
+<para>As we almost never have enough RAM in our box, it is a good idea to
+use a small disk partition as swap space -- this space is used by the kernel
+to store seldom-used data to make room in memory for more urgent stuff.
+The swap partition for your LFS system can be the same one as for your host
+system, so you won't have to create another if your host system already uses
+a swap partition.</para>
+
+<para>Start a disk partitioning program such as <userinput>cfdisk</userinput>
+or <userinput>fdisk</userinput> with an argument naming the hard disk upon
+which the new partition must be created -- for example
+<filename>/dev/hda</filename> for the primary IDE disk. Create a Linux native
+partition and a swap partition, if needed. Please refer to the man pages of
+<userinput>cfdisk</userinput> or <userinput>fdisk</userinput> if you don't yet
+know how to use the programs.</para>
+
+<para>Remember the designation of your new partition -- something like
+<filename>hda5</filename>. This book will refer to it as the LFS partition.
+If you (now) also have a swap partition, remember its designation too. These
+names will later be needed for the <filename>/etc/fstab</filename> file.</para>
+
+</sect1>
diff --git a/chapter02/introduction.xml b/chapter02/introduction.xml
new file mode 100644
index 000000000..f1609dab9
--- /dev/null
+++ b/chapter02/introduction.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="space-introduction">
+<title>Introduction</title>
+<?dbhtml filename="introduction.html"?>
+
+<para>In this chapter the partition which will host the LFS system is
+prepared. We will create the partition itself, make a file system on it,
+and mount it.</para>
+
+</sect1>
diff --git a/chapter02/mounting.xml b/chapter02/mounting.xml
new file mode 100644
index 000000000..610ccf652
--- /dev/null
+++ b/chapter02/mounting.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="space-mounting">
+<title>Mounting the new partition</title>
+<?dbhtml filename="mounting.html"?>
+
+<para>Now that we've created a file system, we want to be able to access
+the partition. For that, we need to mount it, and have to choose a mount
+point. In this book we assume that the file system is mounted under
+<filename>/mnt/lfs</filename>, but it doesn't matter what directory
+you choose.</para>
+
+<para>Choose a mount point and assign it to the LFS environment variable
+by running:</para>
+
+<screen><userinput>export LFS=/mnt/lfs</userinput></screen>
+
+<para>Now create the mount point and mount the LFS file system by running:</para>
+
+<screen><userinput>mkdir -p $LFS
+mount /dev/xxx $LFS</userinput></screen>
+
+<para>Replace <filename>xxx</filename> with the designation of the LFS
+partition.</para>
+
+<para>If you have decided to use multiple partitions for LFS (say one for
+<filename>/</filename> and another for <filename>/usr</filename>), mount
+them like this:</para>
+
+<screen><userinput>mkdir -p $LFS
+mount /dev/xxx $LFS
+mkdir $LFS/usr
+mount /dev/yyy $LFS/usr</userinput></screen>
+
+<para>Of course, replace <filename>xxx</filename> and <filename>yyy</filename>
+with the appropriate partition names.</para>
+
+<para>You should also ensure that this new partition is not mounted with
+permissions that are too restrictive (such as the nosuid, nodev or noatime
+options). You can run the <command>mount</command> command without any
+parameters to see with what options the LFS partition is mounted. If
+you see nosuid, nodev or noatime, you will need to remount it.</para>
+
+<para>Now that we've made ourselves a place to work in, we're ready to download
+the packages.</para>
+
+</sect1>
diff --git a/chapter03/chapter03.xml b/chapter03/chapter03.xml
index da14e970a..574d2db16 100644
--- a/chapter03/chapter03.xml
+++ b/chapter03/chapter03.xml
@@ -1,326 +1,20 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<chapter id="chapter-getting-materials" xreflabel="Chapter 3">
+<?dbhtml dir="chapter03"?>
<title>The materials: packages and patches</title>
-<?dbhtml filename="chapter03.html" dir="chapter03"?>
+<?dbhtml filename="chapter03.html"?>
-<sect1 id="materials-introduction">
-<title>Introduction</title>
-<?dbhtml filename="introduction.html" dir="chapter03"?>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/>
-<para>Below is a list of packages you need to download for building a basic
-Linux system. The listed version numbers correspond to versions of the
-software that are <emphasis>known</emphasis> to work, and this book is
-based upon them. Unless you are an experienced LFS builder, we highly
-recommend not to try out newer versions, as the build commands for one
-version may not work with a newer version. Also, there is often a good
-reason for not using the latest version due to known problems that haven't
-been worked around yet.</para>
-<para>All the URLs, when possible, refer to the project's page at
-<ulink url="http://www.freshmeat.net/"/>. The Freshmeat
-pages will give you easy access to the official download sites as well as
-project websites, mailing lists, FAQs, changelogs and more.</para>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="packages.xml"/>
-<para>We can't guarantee that these download locations are always available.
-In case a download location has changed since this book was published, please
-try to google for the package. Should you remain unsuccessful with this, you
-can consult the book's errata page at <ulink url="&lfs-root;lfs/print/"/>
-or, better yet, try one of the alternative means of downloading listed on
-<ulink url="&lfs-root;lfs/packages.html"/>.</para>
-<para>You'll need to store all the downloaded packages and patches somewhere
-that is conveniently available throughout the entire build. You'll also need a
-working directory in which to unpack the sources and build them. A scheme that
-works well is to use <filename>$LFS/sources</filename> as the place to store
-the tarballs and patches, <emphasis>and</emphasis> as a working directory.
-This way everything you need will be located on the LFS partition and available
-during all stages of the building process.</para>
-
-<para>So you may want to execute, as <emphasis>root</emphasis>, the following
-command before starting your download session:</para>
-
-<screen><userinput>mkdir $LFS/sources</userinput></screen>
-
-<para>And make this directory writable (and sticky) for your normal user -- as
-you won't do the downloading as <emphasis>root</emphasis>, we guess:</para>
-
-<screen><userinput>chmod a+wt $LFS/sources</userinput></screen>
-
-<!--
-<para>For your convenience the top of the list contains a link to a file
-you can use with the <ulink url="http://wget.sunsite.dk">wget</ulink>
-program. Using this file and the <command>wget</command> program will
-make it easy to download all the files at once, rather than downloading each
-and every individual file manually.</para>
--->
-
-</sect1>
-
-
-<sect1 id="materials-packages">
-<title>All the packages</title>
-<?dbhtml filename="packages.html" dir="chapter03"?>
-
-<para>Download or otherwise obtain the following packages:</para>
-
-<literallayout>
-Autoconf (&autoconf-version;) - &autoconf-size;:
-<ulink url="http://freshmeat.net/projects/autoconf/"/>
-
-Automake (&automake-version;) - &automake-size;:
-<ulink url="http://freshmeat.net/projects/automake/"/>
-
-Bash (&bash-version;) - &bash-size;:
-<ulink url="http://freshmeat.net/projects/gnubash/"/>
-
-Binutils (&binutils-version;) - &binutils-size;:
-<ulink url="http://freshmeat.net/projects/binutils/"/>
-
-Bison (&bison-version;) - &bison-size;:
-<ulink url="http://freshmeat.net/projects/bison/"/>
-
-Bzip2 (&bzip2-version;) - &bzip2-size;:
-<ulink url="http://freshmeat.net/projects/bzip2/"/>
-
-Coreutils (&coreutils-version;) - &coreutils-size;:
-<ulink url="http://freshmeat.net/projects/coreutils/"/>
-
-DejaGnu (&dejagnu-version;) - &dejagnu-size;:
-<ulink url="http://freshmeat.net/projects/dejagnu/"/>
-
-Diffutils (&diffutils-version;) - &diffutils-size;:
-<ulink url="http://freshmeat.net/projects/diffutils/"/>
-
-E2fsprogs (&e2fsprogs-version;) - &e2fsprogs-size;:
-<ulink url="http://freshmeat.net/projects/e2fsprogs/"/>
-
-Ed (&ed-version;) - &ed-size;:
-<ulink url="http://freshmeat.net/projects/ed/"/>
-
-Expect (&expect-version;) - &expect-size;:
-<ulink url="http://freshmeat.net/projects/expect/"/>
-
-File (&file-version;) - &file-size;: -- <emphasis>(see Note 1 below)</emphasis>
-<ulink url="http://freshmeat.net/projects/file/"/>
-
-Findutils (&findutils-version;) - &findutils-size;:
-<ulink url="http://freshmeat.net/projects/findutils/"/>
-
-Flex (&flex-version;) - &flex-size;:
-<ulink url="ftp://ftp.gnu.org/gnu/non-gnu/flex/"/>
-
-Gawk (&gawk-version;) - &gawk-size;:
-<ulink url="http://freshmeat.net/projects/gnuawk/"/>
-
-GCC-core (&gcc-version;) - &gcc-core-size;:
-<ulink url="http://freshmeat.net/projects/gcc/"/>
-GCC-g++ (&gcc-version;) - &gcc-gpp-size;:
-<ulink url="http://freshmeat.net/projects/gcc/"/>
-GCC-testsuite (&gcc-version;) - &gcc-testsuite-size;:
-<ulink url="http://freshmeat.net/projects/gcc/"/>
-
-GCC-2 (&gcc-2953-version;) - &gcc-2953-size;:
-<ulink url="http://freshmeat.net/projects/gcc/"/>
-
-Gettext (&gettext-version;) - &gettext-size;:
-<ulink url="http://freshmeat.net/projects/gettext/"/>
-
-Glibc (&glibc-version;) - &glibc-size;: -- <emphasis>(see Note 2 below)</emphasis>
-<ulink url="http://freshmeat.net/projects/glibc/"/>
-
-Grep (&grep-version;) - &grep-size;:
-<ulink url="http://freshmeat.net/projects/grep/"/>
-
-Groff (&groff-version;) - &groff-size;:
-<ulink url="http://freshmeat.net/projects/groff/"/>
-
-Grub (&grub-version;) - &grub-size;:
-<ulink url="ftp://alpha.gnu.org/pub/gnu/grub/"/>
-
-Gzip (&gzip-version;) - &gzip-size;:
-<ulink url="ftp://alpha.gnu.org/gnu/gzip/"/>
-
-Inetutils (&inetutils-version;) - &inetutils-size;:
-<ulink url="http://freshmeat.net/projects/inetutils/"/>
-
-Kbd (&kbd-version;) - &kbd-size;:
-<ulink url="http://freshmeat.net/projects/kbd/"/>
-
-Less (&less-version;) - &less-size;:
-<ulink url="http://freshmeat.net/projects/less/"/>
-
-LFS-Bootscripts (&bootscripts-version;) - &bootscripts-size;:
-<ulink url="&http-down;lfs-bootscripts-&bootscripts-version;.tar.bz2"/>
-
-Lfs-Utils (&lfs-utils-version;) - &lfs-utils-size;:
-<ulink url="&lfs-root;~winkie/downloads/lfs-utils/"/>
-
-Libtool (&libtool-version;) - &libtool-size;:
-<ulink url="http://freshmeat.net/projects/libtool/"/>
-
-Linux (&kernel-version;) - &kernel-size;:
-<ulink url="http://freshmeat.net/projects/linux/"/>
-
-M4 (&m4-version;) - &m4-size;:
-<ulink url="http://freshmeat.net/projects/gnum4/"/>
-
-Make (&make-version;) - &make-size;:
-<ulink url="http://freshmeat.net/projects/gnumake/"/>
-
-Make_devices (&makedev-version;) - &makedev-size;:
-<ulink url="&lfs-root;~alex/make_devices-&makedev-version;.bz2"/>
-
-Man (&man-version;) - &man-size;:
-<ulink url="http://freshmeat.net/projects/man/"/>
-
-Man-pages (&man-pages-version;) - &man-pages-size;:
-<ulink url="http://freshmeat.net/projects/man-pages/"/>
-
-Modutils (&modutils-version;) - &modutils-size;:
-<ulink url="http://freshmeat.net/projects/modutils/"/>
-
-Ncurses (&ncurses-version;) - &ncurses-size;:
-<ulink url="http://freshmeat.net/projects/ncurses/"/>
-
-Net-tools (&net-tools-version;) - &net-tools-size;:
-<ulink url="http://freshmeat.net/projects/net-tools/"/>
-
-Patch (&patch-version;) - &patch-size;:
-<ulink url="http://freshmeat.net/projects/patch/"/>
-
-Perl (&perl-version;) - &perl-size;:
-<ulink url="http://freshmeat.net/projects/perl/"/>
-
-Procinfo (&procinfo-version;) - &procinfo-size;:
-<ulink url="http://freshmeat.net/projects/procinfo/"/>
-
-Procps (&procps-version;) - &procps-size;:
-<ulink url="http://freshmeat.net/projects/procps/"/>
-
-Psmisc (&psmisc-version;) - &psmisc-size;:
-<ulink url="http://freshmeat.net/projects/psmisc/"/>
-
-Sed (&sed-version;) - &sed-size;:
-<ulink url="http://freshmeat.net/projects/sed/"/>
-
-Shadow (&shadow-version;) - &shadow-size;:
-<ulink url="http://freshmeat.net/projects/shadow/"/>
-
-Sysklogd (&sysklogd-version;) - &sysklogd-size;:
-<ulink url="http://freshmeat.net/projects/sysklogd/"/>
-
-Sysvinit (&sysvinit-version;) - &sysvinit-size;:
-<ulink url="http://freshmeat.net/projects/sysvinit/"/>
-
-Tar (&tar-version;) - &tar-size;:
-<ulink url="ftp://alpha.gnu.org/gnu/tar/"/>
-
-Tcl (&tcl-version;) - &tcl-size;:
-<ulink url="http://freshmeat.net/projects/tcltk/"/>
-
-Texinfo (&texinfo-version;) - &texinfo-size;:
-<ulink url="http://freshmeat.net/projects/texinfo/"/>
-
-Util-linux (&util-linux-version;) - &util-linux-size;:
-<ulink url="http://freshmeat.net/projects/util-linux/"/>
-
-Vim (&vim-version;) - &vim-size;:
-<ulink url="http://freshmeat.net/projects/vim/"/>
-
-Zlib (&zlib-version;) - &zlib-size;:
-<ulink url="http://freshmeat.net/projects/zlib/"/>
-
-Total size of these packages: &all-size-mb;
-</literallayout>
-
-<note><para>1) File (&file-version;) may not be available by the time you read
-this. The site admins of the master download location are known to occasionally
-remove old versions when new ones are released. Please refer to the
-<xref linkend="ch-system-file"/> section for an alternate download
-location.</para></note>
-
-<note><para>2) As of this writing, the Glibc maintainers have decided in their
-wisdom not to make available new release tarballs for download. The only way to
-obtain the current Glibc release from pristine upstream sources is to pull it
-from the Glibc CVS repository. The following commands will download the current
-release and make a tarball from it:</para>
-
-<screen><userinput>cvs -z 9 -d :pserver:anoncvs@sources.redhat.com:/cvs/glibc \
-&nbsp;&nbsp;&nbsp;&nbsp;export -d &glibc-dir; -D "2003-12-02 UTC" libc
-tar jcvf &glibc-package; &glibc-dir;</userinput></screen>
-
-<para>Alternatively, we've made our own tarball available which you can
-download courtesy of the generous LFS mirror sites. Please refer to the
-<xref linkend="ch-tools-glibc"/> section for the download links.</para></note>
-
-</sect1>
-
-
-<sect1 id="materials-patches">
-<title>Needed patches</title>
-<?dbhtml filename="patches.html" dir="chapter03"?>
-
-<para>Besides all those packages, you'll also need several patches. These
-correct tiny mistakes in the packages that should be fixed by the maintainer,
-or just make some small modifications to bend things our way. You'll need the
-following:</para>
-
-<literallayout>
-Bash Patch - &bash-patch-size;:
-<ulink url="&patches-root;&bash-patch;"/>
-
-Bison Attribute Patch - &bison-patch-size;:
-<ulink url="&patches-root;&bison-patch;"/>
-
-Coreutils Hostname Patch - &coreutils-hostname-patch-size;:
-<ulink url="&patches-root;&coreutils-hostname-patch;"/>
-Coreutils Posixver Patch - &coreutils-posixver-patch-size;:
-<ulink url="&patches-root;&coreutils-posixver-patch;"/>
-Coreutils Uname Patch - &coreutils-uname-patch-size;:
-<ulink url="&patches-root;&coreutils-uname-patch;"/>
-
-Ed Mkstemp Patch - &ed-patch-size;:
-<ulink url="&patches-root;&ed-patch;"/>
-
-Expect Spawn Patch - &expect-patch-size;:
-<ulink url="&patches-root;&expect-patch;"/>
-
-GCC No-Fixincludes Patch - &gcc-nofixincludes-patch-size;:
-<ulink url="&patches-root;&gcc-nofixincludes-patch;"/>
-GCC Specs Patch - &gcc-specs-patch-size;:
-<ulink url="&patches-root;&gcc-specs-patch;"/>
-
-GCC-2 Patch - &gcc-2953-patch-size;:
-<ulink url="&patches-root;&gcc-2953-patch;"/>
-GCC-2 No-Fixincludes Patch - &gcc-2953-no-fixinc-patch-size;:
-<ulink url="&patches-root;&gcc-2953-no-fixinc-patch;"/>
-GCC-2 Return-Type Patch - &gcc-2953-returntype-fix-patch-size;:
-<ulink url="&patches-root;&gcc-2953-returntype-fix-patch;"/>
-
-Inetutils No-Server-Man-Pages Patch - &inetutils-no-server-man-pages-patch-size;:
-<ulink url="&patches-root;&inetutils-no-server-man-pages-patch;"/>
-
-Kbd More-Programs Patch - &kbd-patch-size;:
-<ulink url="&patches-root;&kbd-patch;"/>
-
-Man 80-Columns Patch - &man-80cols-patch-size;:
-<ulink url="&patches-root;&man-80cols-patch;"/>
-
-Net-tools Mii-Tool-Gcc33 Patch - &net-tools-mii-patch-size;:
-<ulink url="&patches-root;&net-tools-mii-patch;"/>
-
-Perl Libc Patch - &perl-libc-patch-size;:
-<ulink url="&patches-root;&perl-libc-patch;"/>
-</literallayout>
-
-<para>In addition to the above required patches, there exist a number of
-optional ones created by the LFS community. Most of these solve slight
-problems, or enable some functionality that's not enabled by default.
-Feel free to examine the patches database, located at <ulink
-url="&lfs-root;patches/"/>, and pick any additional patches you wish to
-use.</para>
-
-</sect1>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="patches.xml"/>
</chapter>
-
diff --git a/chapter03/introduction.xml b/chapter03/introduction.xml
new file mode 100644
index 000000000..031d05c6e
--- /dev/null
+++ b/chapter03/introduction.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="materials-introduction">
+<title>Introduction</title>
+<?dbhtml filename="introduction.html"?>
+
+<para>Below is a list of packages you need to download for building a basic
+Linux system. The listed version numbers correspond to versions of the
+software that are <emphasis>known</emphasis> to work, and this book is
+based upon them. Unless you are an experienced LFS builder, we highly
+recommend not to try out newer versions, as the build commands for one
+version may not work with a newer version. Also, there is often a good
+reason for not using the latest version due to known problems that haven't
+been worked around yet.</para>
+
+<para>All the URLs, when possible, refer to the project's page at
+<ulink url="http://www.freshmeat.net/"/>. The Freshmeat
+pages will give you easy access to the official download sites as well as
+project websites, mailing lists, FAQs, changelogs and more.</para>
+
+<para>We can't guarantee that these download locations are always available.
+In case a download location has changed since this book was published, please
+try to google for the package. Should you remain unsuccessful with this, you
+can consult the book's errata page at <ulink url="&lfs-root;lfs/print/"/>
+or, better yet, try one of the alternative means of downloading listed on
+<ulink url="&lfs-root;lfs/packages.html"/>.</para>
+
+<para>You'll need to store all the downloaded packages and patches somewhere
+that is conveniently available throughout the entire build. You'll also need a
+working directory in which to unpack the sources and build them. A scheme that
+works well is to use <filename>$LFS/sources</filename> as the place to store
+the tarballs and patches, <emphasis>and</emphasis> as a working directory.
+This way everything you need will be located on the LFS partition and available
+during all stages of the building process.</para>
+
+<para>So you may want to execute, as <emphasis>root</emphasis>, the following
+command before starting your download session:</para>
+
+<screen><userinput>mkdir $LFS/sources</userinput></screen>
+
+<para>And make this directory writable (and sticky) for your normal user -- as
+you won't do the downloading as <emphasis>root</emphasis>, we guess:</para>
+
+<screen><userinput>chmod a+wt $LFS/sources</userinput></screen>
+
+<!--
+<para>For your convenience the top of the list contains a link to a file
+you can use with the <ulink url="http://wget.sunsite.dk">wget</ulink>
+program. Using this file and the <command>wget</command> program will
+make it easy to download all the files at once, rather than downloading each
+and every individual file manually.</para>
+-->
+
+</sect1>
diff --git a/chapter03/packages.xml b/chapter03/packages.xml
new file mode 100644
index 000000000..aa11f6fcb
--- /dev/null
+++ b/chapter03/packages.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="materials-packages">
+<title>All the packages</title>
+<?dbhtml filename="packages.html"?>
+
+<para>Download or otherwise obtain the following packages:</para>
+
+<literallayout>
+Autoconf (&autoconf-version;) - 903 KB:
+<ulink url="&freshmeat;autoconf/"/>
+
+Automake (&automake-version;) - 644 KB:
+<ulink url="&freshmeat;automake/"/>
+
+Bash (&bash-version;) - 1,910 KB:
+<ulink url="&freshmeat;gnubash/"/>
+
+Binutils (&binutils-version;) - 10,666 KB:
+<ulink url="&freshmeat;binutils/"/>
+
+Bison (&bison-version;) - 796 KB:
+<ulink url="&freshmeat;bison/"/>
+
+Bzip2 (&bzip2-version;) - 650 KB:
+<ulink url="&freshmeat;bzip2/"/>
+
+Coreutils (&coreutils-version;) - 3,860 KB:
+<ulink url="&freshmeat;coreutils/"/>
+
+DejaGnu (&dejagnu-version;) - 1,055 KB:
+<ulink url="&freshmeat;dejagnu/"/>
+
+Diffutils (&diffutils-version;) - 762 KB:
+<ulink url="&freshmeat;diffutils/"/>
+
+E2fsprogs (&e2fsprogs-version;) - 3,003 KB:
+<ulink url="&freshmeat;e2fsprogs/"/>
+
+Ed (&ed-version;) - 182 KB:
+<ulink url="&freshmeat;ed/"/>
+
+Expect (&expect-version;) - 510 KB:
+<ulink url="&freshmeat;expect/"/>
+
+File (&file-version;) - 356 KB: -- <emphasis>(see Note 1 below)</emphasis>
+<ulink url="&freshmeat;file/"/>
+
+Findutils (&findutils-version;) - 760 KB:
+<ulink url="&freshmeat;findutils/"/>
+
+Flex (&flex-version;) - 372 KB:
+<ulink url="ftp://ftp.gnu.org/gnu/non-gnu/flex/"/>
+
+Gawk (&gawk-version;) - 1,596 KB:
+<ulink url="&freshmeat;gnuawk/"/>
+
+GCC (&gcc-2953-version;) - 9,618 KB:
+<ulink url="&freshmeat;gcc/"/>
+
+GCC-core (&gcc-version;) - 11,283KB:
+<ulink url="&freshmeat;gcc/"/>
+
+GCC-g++ (&gcc-version;) - 2,026 KB:
+<ulink url="&freshmeat;gcc/"/>
+
+GCC-testsuite (&gcc-version;) - 1,051 KB:
+<ulink url="&freshmeat;gcc/"/>
+
+Gettext (&gettext-version;) - 6,397 KB:
+<ulink url="&freshmeat;gettext/"/>
+
+Glibc (&glibc-version;) - 13,101 KB: -- <emphasis>(see Note 2 below)</emphasis>
+<ulink url="&freshmeat;glibc/"/>
+
+Grep (&grep-version;) - 545 KB:
+<ulink url="&freshmeat;grep/"/>
+
+Groff (&groff-version;) - 2,360 KB:
+<ulink url="&freshmeat;groff/"/>
+
+Grub (&grub-version;) - 902 KB:
+<ulink url="ftp://alpha.gnu.org/pub/gnu/grub/"/>
+
+Gzip (&gzip-version;) - 324 KB:
+<ulink url="ftp://alpha.gnu.org/gnu/gzip/"/>
+
+Iana-Etc (&iana-etc-version;) - 161 KB:
+<ulink url="&freshmeat;iana-etc/"/>
+
+Inetutils (&inetutils-version;) - 1,019 KB:
+<ulink url="&freshmeat;inetutils/"/>
+
+Kbd (&kbd-version;) - 617 KB:
+<ulink url="&freshmeat;kbd/"/>
+
+Less (&less-version;) - 259 KB:
+<ulink url="&freshmeat;less/"/>
+
+LFS-Bootscripts (&bootscripts-version;) - 32 KB:
+<ulink url="&http-down;"/>
+
+Libtool (&libtool-version;) - 2,602 KB:
+<ulink url="&freshmeat;libtool/"/>
+
+Linux (&linux-version;) - 30,051 KB:
+<ulink url="&freshmeat;linux/"/>
+
+M4 (&m4-version;) - 310 KB:
+<ulink url="&freshmeat;gnum4/"/>
+
+Make (&make-version;) - 899 KB:
+<ulink url="&freshmeat;gnumake/"/>
+
+Make_devices (&makedev-version;) - 20 KB:
+<ulink url="&lfs-root;~alex/make_devices-1.2.bz2"/>
+
+Man (&man-version;) - 196 KB:
+<ulink url="&freshmeat;man/"/>
+
+Man-pages (&man-pages-version;) - 1,582 KB:
+<ulink url="&freshmeat;man-pages/"/>
+
+Mktemp (&mktemp-version;) - 69 KB:
+<ulink url="&freshmeat;mktemp/"/>
+
+Modutils (&modutils-version;) - 229 KB:
+<ulink url="&freshmeat;modutils/"/>
+
+Ncurses (&ncurses-version;) - 2,019 KB:
+<ulink url="&freshmeat;ncurses/"/>
+
+Net-tools (&net-tools-version;) - 194 KB:
+<ulink url="&freshmeat;net-tools/"/>
+
+Patch (&patch-version;) - 182 KB:
+<ulink url="&freshmeat;patch/"/>
+
+Perl (&perl-version;) - 9,373 KB:
+<ulink url="&freshmeat;perl/"/>
+
+Procinfo (&procinfo-version;) - 24 KB:
+<ulink url="&freshmeat;procinfo/"/>
+
+Procps (&procps-version;) - 260 KB:
+<ulink url="&freshmeat;procps/"/>
+
+Psmisc (&psmisc-version;) - 375 KB:
+<ulink url="&freshmeat;psmisc/"/>
+
+Sed (&sed-version;) - 751 KB:
+<ulink url="&freshmeat;sed/"/>
+
+Shadow (&shadow-version;) - 795 KB:
+<ulink url="&freshmeat;shadow/"/>
+
+Sysklogd (&sysklogd-version;) - 80 KB:
+<ulink url="&freshmeat;sysklogd/"/>
+
+Sysvinit (&sysvinit-version;) - 91 KB:
+<ulink url="&freshmeat;sysvinit/"/>
+
+Tar (&tar-version;) - 1,025 KB:
+<ulink url="ftp://alpha.gnu.org/gnu/tar/"/>
+
+Tcl (&tcl-version;) - 3,363 KB:
+<ulink url="&freshmeat;tcltk/"/>
+
+Texinfo (&texinfo-version;) - 1,385 KB:
+<ulink url="&freshmeat;texinfo/"/>
+
+Util-linux (&util-linux-version;) - 1,814 KB:
+<ulink url="&freshmeat;util-linux/"/>
+
+Vim (&vim-version;) - 3,193 KB:
+<ulink url="&freshmeat;vim/"/>
+
+Zlib (&zlib-version;) - 277 KB:
+<ulink url="&freshmeat;zlib/"/>
+
+Total size of these packages: 134 MB
+</literallayout>
+
+<note><para>1) File (&file-version;) may not be available by the time you read
+this. The site administrators of the master download location are known to occasionally
+remove old versions when new ones are released. An alternative download location
+that may have older versions available is <ulink
+url="ftp://gaosu.rave.org/pub/linux/lfs/"/>.</para></note>
+
+<note><para>2) As of this writing, the Glibc maintainers have decided in their
+wisdom not to make available new release tarballs for download. The only way to
+obtain the current Glibc release from pristine upstream sources is to pull it
+from the Glibc CVS (Concurrent Versioning System) repository. The following commands will download the current
+release and make a tarball from it:</para>
+
+<screen><userinput>cvs -z 9 -d :pserver:anoncvs@sources.redhat.com:/cvs/glibc \
+ export -d glibc-2.3.3-20031202 -D "2003-12-02 UTC" libc
+tar jcvf glibc-2.3.3-20031202.tar.bz2 glibc-2.3.3-20031202</userinput></screen>
+
+<para>Alternatively, we've made our own tarball available which you can
+download courtesy of the generous LFS mirror sites.</para>
+
+<literallayout><ulink url="ftp://gaosu.rave.org/pub/linux/lfs/packages/conglomeration/&glibc-version;.tar.bz2"/>
+<ulink url="http://lfs.mirror.intermedia.com.sg/packages/glibc/&glibc-version;.tar.bz2"/>
+<ulink url="ftp://lfs.mirror.intermedia.com.sg/pub/lfs/glibc/&glibc-version;.tar.bz2"/>
+<ulink url="http://dl.lfs.fredan.org/&glibc-version;.tar.bz2"/>
+<ulink url="http://packages.lfs-es.org/&glibc-version;.tar.bz2"/>
+<ulink url="http://mirror.averse.net/lfs-packages/&glibc-version;.tar.bz2"/>
+<ulink url="ftp://mirror.averse.net/pub/lfs-packages/&glibc-version;.tar.bz2"/>
+<ulink url="ftp://ftp.lfs-matrix.de/lfs/packages/conglomeration/&glibc-version;.tar.bz2"/></literallayout>
+</note>
+
+</sect1>
diff --git a/chapter03/patches.xml b/chapter03/patches.xml
new file mode 100644
index 000000000..2c72ca029
--- /dev/null
+++ b/chapter03/patches.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="materials-patches">
+<title>Needed patches</title>
+<?dbhtml filename="patches.html"?>
+
+<para>Besides all those packages, you'll also need several patches. These
+correct tiny mistakes in the packages that should be fixed by the maintainer,
+or just make some small modifications to bend things our way. You'll need the
+following:</para>
+
+<literallayout>
+Bash Patch - 7 KB:
+<ulink url="&patches-root;bash-&bash-version;-2.patch"/>
+
+Bison Attribute Patch - 2 KB:
+<ulink url="&patches-root;bison-&bison-version;-attribute.patch"/>
+
+Coreutils Hostname Patch - 1 KB:
+<ulink url="&patches-root;coreutils-&coreutils-version;-hostname-1.patch"/>
+
+Coreutils Uname Patch - 1 KB:
+<ulink url="&patches-root;coreutils-&coreutils-version;-uname-1.patch"/>
+
+Ed Mkstemp Patch - 1 KB:
+<ulink url="&patches-root;ed-&ed-version;-mkstemp.patch"/>
+
+Expect Spawn Patch - 6 KB:
+<ulink url="&patches-root;expect-&expect-version;-spawn-1.patch"/>
+
+GCC No-Fixincludes Patch - 1 KB:
+<ulink url="&patches-root;gcc-&gcc-version;-no_fixincludes-1.patch"/>
+
+GCC Specs Patch - 11 KB:
+<ulink url="&patches-root;gcc-&gcc-version;-specs-1.patch"/>
+
+GCC-2 Patch - 16 KB:
+<ulink url="&patches-root;gcc-&gcc-2953-version;-2.patch"/>
+
+GCC-2 No-Fixincludes Patch - 1 KB:
+<ulink url="&patches-root;gcc-&gcc-2953-version;-no-fixinc.patch"/>
+
+GCC-2 Return-Type Patch - 1 KB:
+<ulink url="&patches-root;gcc-&gcc-2953-version;-returntype-fix.patch"/>
+
+Inetutils No-Server-Man-Pages Patch - 4 KB:
+<ulink url="&patches-root;inetutils-&inetutils-version;-no_server_man_pages-1.patch"/>
+
+Kbd More-Programs Patch - 1 KB:
+<ulink url="&patches-root;kbd-&kbd-version;-more-programs-1.patch"/>
+
+Man 80-Columns Patch - 1 KB:
+<ulink url="&patches-root;man-&man-version;-80cols.patch"/>
+
+Mktemp Tempfile Patch - 3 KB:
+<ulink url="&patches-root;mktemp-&mktemp-version;-add-tempfile.patch"/>
+
+Net-tools Mii-Tool-Gcc33 Patch - 2 KB:
+<ulink url="&patches-root;net-tools-&net-tools-version;-miitool-gcc33-1.patch"/>
+
+Perl Libc Patch - 1 KB:
+<ulink url="&patches-root;perl-&perl-version;-libc-1.patch"/>
+</literallayout>
+
+<para>In addition to the above required patches, there exist a number of
+optional ones created by the LFS community. Most of these solve slight
+problems, or enable some functionality that's not enabled by default.
+Feel free to examine the patches database, located at <ulink url="&lfs-root;patches/"/>,
+and pick any additional patches you wish to use.</para>
+
+</sect1>
diff --git a/chapter04/aboutlfs.xml b/chapter04/aboutlfs.xml
new file mode 100644
index 000000000..fa39b8873
--- /dev/null
+++ b/chapter04/aboutlfs.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="prepare-aboutlfs">
+<title>About $LFS</title>
+<?dbhtml filename="aboutlfs.html"?>
+
+<para>Throughout this book the environment variable LFS will be used several
+times. It is paramount that this variable is always defined. It should be set
+to the mount point you chose for your LFS partition. Check that your LFS
+variable is set up properly with:</para>
+
+<screen><userinput>echo $LFS</userinput></screen>
+
+<para>Make sure the output shows the path to your LFS partition's mount
+point, which is <filename class="directory">/mnt/lfs</filename> if you
+followed our example. If the output is wrong, you can always set the variable
+with:</para>
+
+<screen><userinput>export LFS=/mnt/lfs</userinput></screen>
+
+<para>Having this variable set means that if you are told to run a command like
+<userinput>mkdir $LFS/tools</userinput>, you can type it literally. Your shell
+will replace "$LFS" with "/mnt/lfs" (or whatever you set the variable to) when
+it processes the command line.</para>
+
+<para>Don't forget to check that <quote>$LFS</quote> is set whenever you leave and
+reenter the environment (as when doing an <quote>su</quote> to root or another user).
+</para>
+
+</sect1>
diff --git a/chapter04/aboutsbus.xml b/chapter04/aboutsbus.xml
new file mode 100644
index 000000000..6c4113584
--- /dev/null
+++ b/chapter04/aboutsbus.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="prepare-aboutsbus">
+<title>About SBUs</title>
+<?dbhtml filename="aboutsbus.html"?>
+
+<para>Most people would like to know beforehand approximately how long it
+takes to compile and install each package. But "Linux from Scratch" is built
+on so many different systems, it is not possible to give actual times that are
+anywhere near accurate: the biggest package (Glibc) won't take more than
+twenty minutes on the fastest systems, but will take something like three days
+on the slowest -- no kidding. So instead of giving actual times, we've come up
+with the idea of using the <emphasis>Static Binutils Unit</emphasis>
+(abbreviated to <emphasis>SBU</emphasis>).</para>
+
+<para>It works like this: the first package you compile in this book is the
+statically linked Binutils in <xref linkend="chapter-temporary-tools"/>, and the time it
+takes to compile this package is what we call the <quote>Static Binutils
+Unit</quote> or <quote>SBU</quote>. All other compile times will be expressed
+relative to this time.</para>
+
+<para>For example, consider a particular package whose compilation time is 4.5
+SBUs. This means that if on your system it took 10 minutes to compile and
+install the static Binutils, then you know it will take
+<emphasis>approximately</emphasis> 45 minutes to build this package.
+Fortunately, most build times are much shorter than the one of Binutils.</para>
+
+<para>Note that if the system compiler on your host is GCC-2 based, the SBUs
+listed may end up being somewhat understated. This is because the SBU is based
+on the very first package, compiled with the old GCC, while the rest of the
+system is compiled with the newer GCC-3.3.2 which is known to be
+approximately 30% slower.</para>
+
+<para>Also note that SBUs don't work well for SMP-based machines. But if you're
+so lucky as to have multiple processors, chances are that your system is so fast
+that you won't mind.</para>
+
+<para>If you wish to see actual timings for specific machines, have a look at
+<ulink url="&lfs-root;~bdubbs/"/>.</para>
+
+</sect1>
diff --git a/chapter04/abouttestsuites.xml b/chapter04/abouttestsuites.xml
new file mode 100644
index 000000000..9fea71799
--- /dev/null
+++ b/chapter04/abouttestsuites.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="prepare-abouttestsuites">
+<title>About the test suites</title>
+<?dbhtml filename="abouttestsuites.html"?>
+
+<para>Most packages provide a test suite. Running the test suite for a newly
+built package is generally a good idea, as it can provide a nice sanity check
+that everything compiled correctly. A test suite that passes its set of checks
+usually proves that the package is functioning as the developer intended. It
+does not, however, guarantee that the package is totally bug free.</para>
+
+<para>Some test suites are more important than others. For example, the test
+suites for the core toolchain packages -- GCC, Binutils, and Glibc -- are of
+the utmost importance due to their central role in a properly functioning
+system. But be warned, the test suites for GCC and Glibc can take a very long
+time to complete, especially on slower hardware.</para>
+
+<note><para>Experience has shown us that there is little to be gained from running
+the test suites in <xref linkend="chapter-temporary-tools"/>. There can be no
+escaping the fact that the host system always exerts some influence on the
+tests in that chapter, often causing weird and inexplicable failures. Not only
+that, the tools built in <xref linkend="chapter-temporary-tools"/> are
+temporary and eventually discarded. For the average reader of this book we
+recommend <emphasis>not</emphasis> to run the test suites in
+<xref linkend="chapter-temporary-tools"/>. The instructions for running those test
+suites are still provided for the benefit of testers and developers, but they
+are strictly optional for everyone else.</para></note>
+
+<para>A common problem when running the test suites for Binutils and GCC is
+running out of pseudo terminals (PTYs for short). The symptom is a very high
+number of failing tests. This can happen for several reasons, but the most
+likely cause is that the host system doesn't have the
+<emphasis>devpts</emphasis> file system set up correctly. We'll discuss this in
+more detail later on in <xref linkend="chapter-temporary-tools"/>.</para>
+
+<para>Sometimes package test suites will give false failures. You can
+consult the LFS Wiki at <ulink url="&wiki-root;"/> to verify that these
+failures are normal. This applies to all tests throughout the book.</para>
+
+</sect1>
diff --git a/chapter04/addinguser.xml b/chapter04/addinguser.xml
new file mode 100644
index 000000000..5763b04c5
--- /dev/null
+++ b/chapter04/addinguser.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-tools-addinguser">
+<title>Adding the user lfs</title>
+<?dbhtml filename="addinguser.html"?>
+
+<para>When logged in as <emphasis>root</emphasis>, making a single mistake
+can damage or even wreck your system. Therefore we recommend that you
+build the packages in this chapter as an unprivileged user. You could
+of course use your own user name, but to make it easier to set up a clean
+work environment we'll create a new user <emphasis>lfs</emphasis> and
+use this one during the installation process. As <emphasis>root</emphasis>,
+issue the following command to add the new user:</para>
+
+<screen><userinput>useradd -s /bin/bash -m -k /dev/null lfs</userinput></screen>
+
+<para>The meaning of the switches:</para>
+
+<itemizedlist>
+<listitem><para><userinput>-s /bin/bash</userinput>: This makes
+<userinput>bash</userinput> the default shell for user
+<emphasis>lfs</emphasis>.</para></listitem>
+
+<listitem><para><userinput>-m</userinput>: This creates a home
+directory for <emphasis>lfs</emphasis>.</para></listitem>
+
+<listitem><para><userinput>-k /dev/null</userinput>: This parameter
+prevents possible copying of files from a skeleton directory (default
+is <filename>/etc/skel</filename>) by changing the input location to
+the special null device.</para></listitem>
+</itemizedlist>
+
+<para>If you want to be able to log in as <emphasis>lfs</emphasis>, then give
+<emphasis>lfs</emphasis> a password:</para>
+
+<screen><userinput>passwd lfs</userinput></screen>
+
+<para>and grant <emphasis>lfs</emphasis> full access to
+<filename class="directory">$LFS/tools</filename> by making
+<emphasis>lfs</emphasis> the directory owner:</para>
+
+<screen><userinput>chown lfs $LFS/tools</userinput></screen>
+
+<para>If you made a separate working directory as suggested, give user
+<emphasis>lfs</emphasis> ownership of this directory too:</para>
+
+<screen><userinput>chown lfs $LFS/sources</userinput></screen>
+
+<para>Next, login as user <emphasis>lfs</emphasis>. This can be done via a
+virtual console, through a display manager, or with the following substitute
+user command:</para>
+
+<screen><userinput>su - lfs</userinput></screen>
+
+<para>The <quote><command>-</command></quote> instructs <command>su</command> to
+start a <emphasis>login</emphasis> shell.</para>
+
+</sect1>
diff --git a/chapter04/chapter04.xml b/chapter04/chapter04.xml
index 07d13156e..e676549b7 100644
--- a/chapter04/chapter04.xml
+++ b/chapter04/chapter04.xml
@@ -1,284 +1,19 @@
-<chapter id="chapter-preparation" xreflabel="Chapter 4">
-<title>Last preparations</title>
-<?dbhtml filename="chapter04.html" dir="chapter04"?>
-
-
-<sect1 id="prepare-aboutlfs">
-<title>About $LFS</title>
-<?dbhtml filename="aboutlfs.html" dir="chapter04"?>
-
-<para>Throughout this book the environment variable LFS will be used several
-times. It is paramount that this variable is always defined. It should be set
-to the mount point you chose for your LFS partition. Check that your LFS
-variable is set up properly with:</para>
-
-<screen><userinput>echo $LFS</userinput></screen>
-
-<para>Make sure the output shows the path to your LFS partition's mount
-point, which is <filename class="directory">/mnt/lfs</filename> if you
-followed our example. If the output is wrong, you can always set the variable
-with:</para>
-
-<screen><userinput>export LFS=/mnt/lfs</userinput></screen>
-
-<para>Having this variable set means that if you are told to run a command like
-<userinput>mkdir $LFS/tools</userinput>, you can type it literally. Your shell
-will replace "$LFS" with "/mnt/lfs" (or whatever you set the variable to) when
-it processes the command line.</para>
-
-</sect1>
-
-
-<sect1 id="prepare-creatingtoolsdir">
-<title>Creating the $LFS/tools directory</title>
-<?dbhtml filename="creatingtoolsdir.html" dir="chapter05"?>
-
-<para>All programs compiled in this chapter will be installed under <filename
-class="directory">$LFS/tools</filename> to keep them separate from the
-programs compiled in the next chapter. The programs compiled here are only
-temporary tools and won't be a part of the final LFS system and by keeping them
-in a separate directory, we can later easily throw them away.</para>
-
-<para>Later on you might wish to search through the binaries of your system to
-see what files they make use of or link against. To make this searching easier
-you may want to choose a unique name for the directory in which the temporary
-tools are stored. Instead of the simple "tools" you could use something like
-"tools-for-lfs". However, you'll need to be careful to adjust all references to
-"tools" throughout the book -- including those in any patches, notably the
-GCC Specs Patch.</para>
-
-<para>Create the required directory by running the following:</para>
-
-<screen><userinput>mkdir $LFS/tools</userinput></screen>
-
-<para>The next step is to create a <filename>/tools</filename> symlink on
-your host system. It will point to the directory we just created on the LFS
-partition:</para>
-
-<screen><userinput>ln -s $LFS/tools /</userinput></screen>
-
-<note><para>The above command is correct. The <command>ln</command> command
-has a few syntactic variations, so be sure to check the info page before
-reporting what you may think is an error.</para></note>
-
-<para>The created symlink enables us to compile our toolchain so that it always
-refers to <filename>/tools</filename>, meaning that the compiler, assembler
-and linker will work both in this chapter (when we are still using some tools
-from the host) <emphasis>and</emphasis> in the next (when we are chrooted to
-the LFS partition).</para>
-
-</sect1>
-
-
-<sect1 id="prepar-addinguser">
-<title>Adding the user lfs</title>
-<?dbhtml filename="addinguser.html" dir="chapter05"?>
-
-<para>When logged in as <emphasis>root</emphasis>, making a single mistake
-can damage or even wreck your system. Therefore we recommend that you
-build the packages in this chapter as an unprivileged user. You could
-of course use your own user name, but to make it easier to set up a clean
-work environment we'll create a new user <emphasis>lfs</emphasis> and
-use this one during the installation process. As <emphasis>root</emphasis>,
-issue the following command to add the new user:</para>
-
-<screen><userinput>useradd -s /bin/bash -m -k /dev/null lfs</userinput></screen>
-
-<para>The meaning of the switches:</para>
-
-<itemizedlist>
-<listitem><para><userinput>-s /bin/bash</userinput>: This makes
-<userinput>bash</userinput> the default shell for user
-<emphasis>lfs</emphasis>.</para></listitem>
-
-<listitem><para><userinput>-m -k /dev/null</userinput>: These create a home
-directory for <emphasis>lfs</emphasis>, while preventing the files from a
-possible <filename>/etc/skel</filename> being copied into it.</para></listitem>
-</itemizedlist>
-
-<para>If you want to be able to log in as <emphasis>lfs</emphasis>, then give
-this new user a password:</para>
-
-<screen><userinput>passwd lfs</userinput></screen>
-
-<para>Now grant this new user <emphasis>lfs</emphasis> full access to
-<filename class="directory">$LFS/tools</filename> by giving it ownership
-of the directory:</para>
-
-<screen><userinput>chown lfs $LFS/tools</userinput></screen>
-
-<para>If you made a separate working directory as suggested, give user
-<emphasis>lfs</emphasis> ownership of this directory too:</para>
-
-<screen><userinput>chown lfs $LFS/sources</userinput></screen>
-
-<para>Next, login as user <emphasis>lfs</emphasis>. This can be done via a
-virtual console, through a display manager, or with the following substitute
-user command:</para>
-
-<screen><userinput>su - lfs</userinput></screen>
-
-<para>The "<command>-</command>" instructs <command>su</command> to start a
-<emphasis>login</emphasis> shell.</para>
-
-</sect1>
-
-
-<sect1 id="prepare-settingenvironment">
-<title>Setting up the environment</title>
-<?dbhtml filename="settingenvironment.html" dir="chapter05"?>
-
-<para>We're going to set up a good working environment by creating two new
-startup files for the <command>bash</command> shell. While logged in as
-user <emphasis>lfs</emphasis>, issue the following command to create a new
-<filename>.bash_profile</filename>:</para>
-
-<screen><userinput>cat &gt; ~/.bash_profile &lt;&lt; "EOF"</userinput>
-exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
-<userinput>EOF</userinput></screen>
-
-<para>Normally, when you log on as user <emphasis>lfs</emphasis>,
-the initial shell is a <emphasis>login</emphasis> shell which reads the
-<filename>/etc/profile</filename> of your host (probably containing some
-settings of environment variables) and then <filename>.bash_profile</filename>.
-The <command>exec env -i ... /bin/bash</command> command in the latter file
-replaces the running shell with a new one with a completely empty environment,
-except for the HOME, TERM and PS1 variables. This ensures that no unwanted and
-potentially hazardous environment variables from the host system leak into our
-build environment. The technique used here is a little strange, but it achieves
-the goal of enforcing a clean environment.</para>
-
-<para>The new instance of the shell is a <emphasis>non-login</emphasis> shell,
-which doesn't read the <filename>/etc/profile</filename> or
-<filename>.bash_profile</filename> files, but reads the
-<filename>.bashrc</filename> file instead. Create this latter file now:</para>
-
-<screen><userinput>cat &gt; ~/.bashrc &lt;&lt; "EOF"</userinput>
-set +h
-umask 022
-LFS=/mnt/lfs
-LC_ALL=POSIX
-PATH=/tools/bin:/bin:/usr/bin
-export LFS LC_ALL PATH
-<userinput>EOF</userinput></screen>
-
-<para>The <command>set +h</command> command turns off
-<command>bash</command>'s hash function. Normally hashing is a useful
-feature: <command>bash</command> uses a hash table to remember the
-full pathnames of executable files to avoid searching the PATH time and time
-again to find the same executable. However, we'd like the new tools to be
-used as soon as they are installed. By switching off the hash function, our
-"interactive" commands (<command>make</command>,
-<command>patch</command>, <command>sed</command>,
-<command>cp</command> and so forth) will always use
-the newest available version during the build process.</para>
-
-<para>Setting the user file-creation mask to 022 ensures that newly created
-files and directories are only writable for their owner, but readable and
-executable for anyone.</para>
-
-<para>The LFS variable should of course be set to the mount point you
-chose.</para>
-
-<para>The LC_ALL variable controls the localization of certain programs,
-making their messages follow the conventions of a specified country. If your
-host system uses a version of Glibc older than 2.2.4,
-having LC_ALL set to something other than "POSIX" or "C" during this chapter
-may cause trouble if you exit the chroot environment and wish to return later.
-By setting LC_ALL to "POSIX" (or "C", the two are equivalent) we ensure that
-everything will work as expected in the chroot environment.</para>
-
-<para>We prepend <filename>/tools/bin</filename> to the standard PATH so
-that, as we move along through this chapter, the tools we build will get used
-during the rest of the building process.</para>
-
-<para>Finally, to have our environment fully prepared for building the
-temporary tools, source the just-created profile:</para>
-
-<screen><userinput>source ~/.bash_profile</userinput></screen>
-
-</sect1>
-
-
-<sect1 id="prepare-aboutsbus">
-<title>About SBUs</title>
-<?dbhtml filename="aboutsbus.html" dir="chapter04"?>
-
-<para>Most people would like to know beforehand how long it approximately
-takes to compile and install each package. But "Linux from Scratch" is built
-on so many different systems, it is not possible to give actual times that are
-anywhere near accurate: the biggest package (Glibc) won't take more than
-twenty minutes on the fastest systems, but will take something like three days
-on the slowest -- no kidding. So instead of giving actual times, we've come up
-with the idea of using the <emphasis>Static Binutils Unit</emphasis>
-(abbreviated to <emphasis>SBU</emphasis>).</para>
-
-<para>It works like this: the first package you compile in this book is the
-statically linked Binutils in <xref linkend="chapter-temporary-tools"/>, and the time it
-takes to compile this package is what we call the "Static Binutils Unit" or
-"SBU". All other compile times will be expressed relative to this time.</para>
-
-<para>For example, the time it takes to build the static version of GCC is
-&gcc-time-tools-pass1;s. This means that if on your system it took 10 minutes
-to compile and install the static Binutils, then you know it will take
-approximately 45 minutes to build the static GCC. Fortunately, most build times
-are much shorter than the one of Binutils.</para>
-
-<para>Note that if the system compiler on your host is GCC-2 based, the SBUs
-listed may end up being somewhat understated. This is because the SBU is based
-on the very first package, compiled with the old GCC, while the rest of the
-system is compiled with the newer GCC-&gcc-version; which is known to be
-approximately 30% slower.</para>
-
-<para>Also note that SBUs don't work well for SMP-based machines. But if you're
-so lucky as to have multiple processors, chances are that your system is so fast
-that you won't mind.</para>
-
-<para>If you wish to see actual timings for specific machines, have a look at
-<ulink url="&lfs-root;~bdubbs/"/>.</para>
-
-</sect1>
-
-
-<sect1 id="prepare-abouttestsuites">
-<title>About the test suites</title>
-<?dbhtml filename="abouttestsuites.html" dir="chapter04"?>
-
-<para>Most packages provide a test suite. Running the test suite for a newly
-built package is generally a good idea, as it can provide a nice sanity check
-that everything compiled correctly. A test suite that passes its set of checks
-usually proves that the package is functioning as the developer intended. It
-does not, however, guarantee that the package is totally bug free.</para>
-
-<para>Some test suites are more important than others. For example, the test
-suites for the core toolchain packages -- GCC, Binutils, and Glibc -- are of
-the utmost importance due to their central role in a properly functioning
-system. But be warned, the test suites for GCC and Glibc can take a very long
-time to complete, especially on slower hardware.</para>
-
-<note><para>Experience has shown us that there is little to be gained from running
-the test suites in <xref linkend="chapter-temporary-tools"/>. There can be no
-escaping the fact that the host system always exerts some influence on the
-tests in that chapter, often causing weird and inexplicable failures. Not only
-that, the tools built in <xref linkend="chapter-temporary-tools"/> are
-temporary and eventually discarded. For the average reader of this book we
-recommend <emphasis>not</emphasis> to run the test suites in <xref
-linkend="chapter-temporary-tools"/>. The instructions for running those test
-suites are still provided for the benefit of testers and developers, but they
-are strictly optional for everyone else.</para></note>
-
-<para>A common problem when running the test suites for Binutils and GCC is
-running out of pseudo terminals (PTYs for short). The symptom is a very high
-number of failing tests. This can happen for several reasons, but the most
-likely cause is that the host system doesn't have the
-<emphasis>devpts</emphasis> file system set up correctly. We'll discuss this in
-more detail later on in <xref linkend="chapter-temporary-tools"/>.</para>
-
-<para>Sometimes package test suites will give false failures. You can
-consult the LFS Wiki at <ulink url="&wiki-root;"/> to verify that these
-failures are normal. This applies to all tests throughout the book.</para>
-
-</sect1>
-
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<chapter id="chapter-final-preps" xreflabel="Chapter 4">
+<?dbhtml dir="chapter04"?>
+<title>Final Preparations</title>
+<?dbhtml filename="chapter04.html"?>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="aboutlfs.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingtoolsdir.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="addinguser.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="settingenviron.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="aboutsbus.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="abouttestsuites.xml"/>
</chapter>
diff --git a/chapter04/creatingtoolsdir.xml b/chapter04/creatingtoolsdir.xml
new file mode 100644
index 000000000..7dbc9a2fb
--- /dev/null
+++ b/chapter04/creatingtoolsdir.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-tools-creatingtoolsdir">
+<title>Creating the $LFS/tools directory</title>
+<?dbhtml filename="creatingtoolsdir.html"?>
+
+<para>All programs compiled in this chapter will be installed under <filename
+class="directory">$LFS/tools</filename> to keep them separate from the
+programs compiled in the next chapter. The programs compiled here are only
+temporary tools and won't be a part of the final LFS system and by keeping them
+in a separate directory, we can later easily throw them away. This also
+helps prevent them from ending up in your host's production directories
+(easy to do in Chapter 5), which could be a very bad thing.</para>
+
+<para>Later on you might wish to search through the binaries of your system to
+see what files they make use of or link against. To make this searching easier
+you may want to choose a unique name for the directory in which the temporary
+tools are stored. Instead of the simple <quote>tools</quote> you could use
+something like <quote>tools-for-lfs</quote>. However, you'll need to be careful
+to adjust all references to <quote>tools</quote> throughout the book --
+including those in any patches, notably the GCC Specs Patch.</para>
+
+<para>Create the required directory by running the following:</para>
+
+<screen><userinput>mkdir $LFS/tools</userinput></screen>
+
+<para>The next step is to create a <filename>/tools</filename> symlink on
+your <emphasis>host</emphasis> system. It will point to the directory we just created on the LFS
+partition:</para>
+
+<screen><userinput>ln -s $LFS/tools /</userinput></screen>
+
+<note><para>The above command is correct. The <command>ln</command> command
+has a few syntactic variations, so be sure to check the info page before
+reporting what you may think is an error.</para></note>
+
+<para>The created symlink enables us to compile our toolchain so that it always
+refers to <filename>/tools</filename>, meaning that the compiler, assembler
+and linker will work both in this chapter (when we are still using some tools
+from the host) <emphasis>and</emphasis> in the next (when we are <quote>chrooted</quote> to
+the LFS partition).</para>
+
+</sect1>
diff --git a/chapter04/settingenviron.xml b/chapter04/settingenviron.xml
new file mode 100644
index 000000000..79bc3225b
--- /dev/null
+++ b/chapter04/settingenviron.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-tools-settingenviron">
+<title>Setting up the environment</title>
+<?dbhtml filename="settingenvironment.html"?>
+
+<para>We're going to set up a good working environment by creating two new
+startup files for the <command>bash</command> shell. While logged in as
+user <emphasis>lfs</emphasis>, issue the following command to create a new
+<filename>.bash_profile</filename>:</para>
+
+<screen><userinput>cat &gt; ~/.bash_profile &lt;&lt; "EOF"</userinput>
+exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
+<userinput>EOF</userinput></screen>
+
+<para>Normally, when you log on as user <emphasis>lfs</emphasis>,
+the initial shell is a <emphasis>login</emphasis> shell which reads the
+<filename>/etc/profile</filename> of your host (probably containing some
+settings of environment variables) and then <filename>.bash_profile</filename>.
+The <command>exec env -i ... /bin/bash</command> command in the latter file
+replaces the running shell with a new one with a completely empty environment,
+except for the HOME, TERM and PS1 variables. This ensures that no unwanted and
+potentially hazardous environment variables from the host system leak into our
+build environment. The technique used here is a little strange, but it achieves
+the goal of enforcing a clean environment.</para>
+
+<para>The new instance of the shell is a <emphasis>non-login</emphasis> shell,
+which doesn't read the <filename>/etc/profile</filename> or
+<filename>.bash_profile</filename> files, but reads the
+<filename>.bashrc</filename> file instead. Create this latter file now:</para>
+
+<screen><userinput>cat &gt; ~/.bashrc &lt;&lt; "EOF"</userinput>
+set +h
+umask 022
+LFS=/mnt/lfs
+LC_ALL=POSIX
+PATH=/tools/bin:/bin:/usr/bin
+export LFS LC_ALL PATH
+<userinput>EOF</userinput></screen>
+
+<para>The <command>set +h</command> command turns off
+<command>bash</command>'s hash function. Normally hashing is a useful
+feature: <command>bash</command> uses a hash table to remember the
+full pathnames of executable files to avoid searching the PATH time and time
+again to find the same executable. However, we'd like the new tools to be
+used as soon as they are installed. By switching off the hash function, our
+<quote>interactive</quote> commands (<command>make</command>,
+<command>patch</command>, <command>sed</command>,
+<command>cp</command> and so forth) will always use
+the newest available version during the build process.</para>
+
+<para>Setting the user file-creation mask to 022 ensures that newly created
+files and directories are only writable for their owner, but readable and
+executable for anyone.</para>
+
+<para>The LFS variable should of course be set to the mount point you
+chose.</para>
+
+<para>The LC_ALL variable controls the localization of certain programs,
+making their messages follow the conventions of a specified country. If your
+host system uses a version of Glibc older than 2.2.4,
+having LC_ALL set to something other than <quote>POSIX</quote> or
+<quote>C</quote> during this chapter may cause trouble if you exit the chroot
+environment and wish to return later. By setting LC_ALL to <quote>POSIX</quote>
+(or <quote>C</quote>, the two are equivalent) we ensure that
+everything will work as expected in the chroot environment.</para>
+
+<para>We prepend <filename>/tools/bin</filename> to the standard PATH so
+that, as we move along through this chapter, the tools we build will get used
+during the rest of the building process.</para>
+
+<para>Finally, to have our environment fully prepared for building the
+temporary tools, source the just-created profile:</para>
+
+<screen><userinput>source ~/.bash_profile</userinput></screen>
+
+</sect1>
diff --git a/chapter05/adjusting.xml b/chapter05/adjusting.xml
new file mode 100644
index 000000000..b18b6f132
--- /dev/null
+++ b/chapter05/adjusting.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-tools-adjusting">
+<title>Adjusting the toolchain</title>
+<?dbhtml filename="adjusting.html"?>
+
+<para>Now that the temporary C libraries have been installed, we want all
+the tools compiled in the rest of this chapter to be linked against these
+libraries. To accomplish this, we need to adjust the linker and the compiler's
+specs file. Some people would say that it is <emphasis><quote>black magic juju
+below this line</quote></emphasis>, but it is really very simple.</para>
+
+<para>First install the adjusted linker (adjusted at the end of the first pass
+of Binutils) by running the following command from within
+the <filename class="directory">binutils-build</filename> directory:</para>
+
+<screen><userinput>make -C ld install</userinput></screen>
+
+<para>From this point onwards everything will link <emphasis>only</emphasis>
+against the libraries in <filename>/tools/lib</filename>.</para>
+
+<note><para>If you somehow missed the earlier warning to retain the Binutils
+source and build directories from the first pass or otherwise accidentally
+deleted them or just don't have access to them, don't worry, all is not lost.
+Just ignore the above command. The result is a small chance of the subsequent
+testing programs linking against libraries on the host. This is not ideal, but
+it's not a major problem. The situation is corrected when we install the
+second pass of Binutils a bit further on.</para></note>
+
+<para>Now that the adjusted linker is installed, you have to
+<emphasis>remove</emphasis> the Binutils build and source directories.</para>
+
+<para>The next thing to do is to amend our GCC specs file so that it points
+to the new dynamic linker. A simple sed will accomplish this:</para>
+
+<!-- Ampersands are needed to allow cut and paste -->
+
+<screen><userinput>SPECFILE=/tools/lib/gcc-lib/*/*/specs &amp;&amp;
+sed -e 's@ /lib/ld-linux.so.2@ /tools/lib/ld-linux.so.2@g' \
+ $SPECFILE &gt; tempspecfile &amp;&amp;
+mv -f tempspecfile $SPECFILE &amp;&amp;
+unset SPECFILE</userinput></screen>
+
+<para>We recommend that you cut-and-paste the above rather than try and type it
+all in. Or you can edit the specs file by hand if you want to: just replace the
+occurrence of <quote>/lib/ld-linux.so.2</quote> with
+<quote>/tools/lib/ld-linux.so.2</quote>. Be sure to visually inspect the specs
+file to verify the intended change was actually made.</para>
+
+<important><para>If you are working on a platform where the name of the dynamic
+linker is something other than <filename>ld-linux.so.2</filename>, you
+<emphasis>must</emphasis> replace <filename>ld-linux.so.2</filename> with the
+name of your platform's dynamic linker in the above commands. Refer back to
+<xref linkend="ch-tools-toolchaintechnotes"/> if necessary.</para></important>
+
+<para>Lastly, there is a possibility that some include files from the host
+system have found their way into GCC's private include dir. This can happen
+because of GCC's <quote>fixincludes</quote> process which runs as part of the
+GCC build. We'll explain more about this further on in this chapter. For now,
+run the following commands to eliminate this possibility:</para>
+
+<screen><userinput>rm -f /tools/lib/gcc-lib/*/*/include/{pthread.h,bits/sigthread.h}</userinput></screen>
+
+
+<caution><para>It is imperative at this point to stop and ensure that the basic
+functions (compiling and linking) of the new toolchain are working as expected.
+For this we are going to perform a simple sanity check:</para>
+
+<screen><userinput>echo 'main(){}' &gt; dummy.c
+cc dummy.c
+readelf -l a.out | grep ': /tools'</userinput></screen>
+
+<para>If everything is working correctly, there should be no errors, and the
+output of the last command will be (allowing for platform specific differences
+in dynamic linker name):</para>
+
+<blockquote><screen>[Requesting program interpreter: /tools/lib/ld-linux.so.2]</screen></blockquote>
+
+<para>Note especially that <filename class="directory">/tools/lib</filename>
+appears as the prefix of our dynamic linker.</para>
+
+<para>If you did not receive the output
+as shown above, or received no output at all, then something is seriously wrong.
+You will need to investigate and retrace your steps to find out where the
+problem is and correct it. There is no point in continuing until this is done.
+First, redo the sanity check using <command>gcc</command> instead of
+<command>cc</command>. If this works it means the
+<filename class="symlink">/tools/bin/cc</filename> symlink is missing. Revisit
+<xref linkend="ch-tools-gcc-pass1"/> and fix the symlink. Second, ensure your PATH
+is correct. You can check this by running <userinput>echo $PATH</userinput> and
+verifying that <filename class="directory">/tools/bin</filename> is at the head
+of the list. If the PATH is wrong it could mean you're not logged in as user
+<emphasis>lfs</emphasis> or something went wrong back in
+<xref linkend="ch-tools-settingenviron"/>. Third, something may have gone wrong with
+the specs file amendment above. In this case redo the specs file amendment
+ensuring to cut-and-paste the commands as was recommended.</para>
+
+<para>Once you are satisfied that all is well, clean up the test files:</para>
+
+<screen><userinput>rm dummy.c a.out</userinput></screen>
+</caution>
+
+
+</sect1>
diff --git a/chapter05/bash.xml b/chapter05/bash.xml
index 45e12e64e..a2ec5683e 100644
--- a/chapter05/bash.xml
+++ b/chapter05/bash.xml
@@ -1,14 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-bash">
-<title>Installing Bash-&bash-version;</title>
-<?dbhtml filename="bash.html" dir="chapter05"?>
+<title>Bash-&bash-version;</title>
+<?dbhtml filename="bash.html"?>
-<screen>&buildtime; &bash-time-tools;
-&diskspace; &bash-compsize-tools;</screen>
+<indexterm zone="ch-tools-bash">
+<primary sortas="a-Bash">Bash</primary>
+<secondary>tools</secondary></indexterm>
-&aa-bash-down;
-&aa-bash-dep;
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/bash.xml" xpointer="xpointer(/sect1/para[1])"/>
+
+<screen>&buildtime; 1.2 SBU
+&diskspace; 27 MB</screen>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/bash.xml" xpointer="xpointer(/sect1/para[2])"/>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Bash</title>
@@ -16,7 +25,7 @@
<para>Bash contains several known bugs. Fix these with the following
patch:</para>
-<screen><userinput>patch -Np1 -i ../&bash-patch;</userinput></screen>
+<screen><userinput>patch -Np1 -i ../bash-&bash-version;-2.patch</userinput></screen>
<para>Now prepare Bash for compilation:</para>
@@ -40,9 +49,8 @@ for a shell:</para>
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para>
+<sect2><title> </title><para> </para>
<para>The details on this package are found in <xref linkend="contents-bash"/>.</para>
-<para>&nbsp;</para></sect2>
+<para> </para></sect2>
</sect1>
-
diff --git a/chapter05/binutils-pass1.xml b/chapter05/binutils-pass1.xml
index 13eac6710..3b362c533 100644
--- a/chapter05/binutils-pass1.xml
+++ b/chapter05/binutils-pass1.xml
@@ -1,14 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-binutils-pass1">
-<title>Installing Binutils-&binutils-version; - Pass 1</title>
-<?dbhtml filename="binutils-pass1.html" dir="chapter05"?>
+<title>Binutils-&binutils-version; - Pass 1</title>
+<?dbhtml filename="binutils-pass1.html"?>
-<screen>&buildtime; &binutils-time-tools-pass1;
-&diskspace; &binutils-compsize-tools-pass1;</screen>
+<indexterm zone="ch-tools-binutils-pass1">
+<primary sortas="a-Binutils">Binutils</primary>
+<secondary>tools, pass 1</secondary></indexterm>
-&aa-binutils-down;
-&aa-binutils-dep;
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/binutils.xml" xpointer="xpointer(/sect1/para[1])"/>
+
+<screen>&buildtime; 1.0 SBU
+&diskspace; 194 MB</screen>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/binutils.xml" xpointer="xpointer(/sect1/para[2])"/>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Binutils</title>
@@ -21,7 +30,7 @@ assembler to determine which of their own features to enable.</para>
optimization flags (including the <emphasis>-march</emphasis> and
<emphasis>-mcpu</emphasis> options). Therefore, if you have defined any
environment variables that override default optimizations, such as CFLAGS and
-CXXFLAGS, we recommend unsetting them when building Binutils.</para>
+CXXFLAGS, we recommend un-setting them when building Binutils.</para>
<para>The Binutils documentation recommends building Binutils outside of the
source directory in a dedicated build directory:</para>
@@ -31,14 +40,14 @@ cd ../binutils-build</userinput></screen>
<note><para>If you want the SBU values listed in the rest of the book to be of
any use, you will have to measure the time it takes to build this package --
-from the configuration upto and including the first install. To achieve this
+from the configuration up to and including the first install. To achieve this
easily, you could wrap the four commands in a <command>time</command> command
like this: <userinput>time { ./configure ... &amp;&amp; ... &amp;&amp; ...
&amp;&amp; make install; }</userinput>.</para></note>
<para>Now prepare Binutils for compilation:</para>
-<screen><userinput>../&binutils-dir;/configure --prefix=/tools --disable-nls</userinput></screen>
+<screen><userinput>../binutils-&binutils-version;/configure --prefix=/tools --disable-nls</userinput></screen>
<para>The meaning of the configure options:</para>
@@ -79,11 +88,11 @@ yet in place. And there would be little point in running the tests anyhow,
since the programs from this first pass will soon be replaced by those from the
second.</para>
-<para>And install the package:</para>
+<para>Now install the package:</para>
<screen><userinput>make install</userinput></screen>
-<para>Now prepare the linker for the "Adjusting" phase later on:</para>
+<para>Now prepare the linker for the <quote>Adjusting</quote> phase later on:</para>
<screen><userinput>make -C ld clean
make -C ld LDFLAGS="-all-static" LIB_PATH=/tools/lib</userinput></screen>
@@ -92,8 +101,7 @@ make -C ld LDFLAGS="-all-static" LIB_PATH=/tools/lib</userinput></screen>
<itemizedlist>
<listitem><para><userinput>-C ld clean</userinput>: This tells the make program
-to remove all the compiled files in the <filename
-class="directory">ld</filename> subdirectory.</para></listitem>
+to remove all the compiled files in the <filename class="directory">ld</filename> subdirectory.</para></listitem>
<listitem><para><userinput>-C ld LDFLAGS="-all-static"
LIB_PATH=/tools/lib</userinput>: This option rebuilds everything in the
@@ -104,21 +112,16 @@ specifies the linker's default library search path. You will see how this
preparation is used later on in the chapter.</para></listitem>
</itemizedlist>
-<!-- HACK - Force some whitespace to appease tidy -->
-<literallayout></literallayout>
<warning><para><emphasis>Do not yet remove</emphasis> the Binutils build and
source directories. You will need them again in their current state a bit
further on in this chapter.</para></warning>
-<!-- HACK - Force some whitespace to appease tidy -->
-<literallayout></literallayout>
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para>
+<sect2><title> </title><para> </para>
<para>The details on this package are found in <xref linkend="contents-binutils"/>.</para>
-<para>&nbsp;</para></sect2>
+<para> </para></sect2>
</sect1>
-
diff --git a/chapter05/binutils-pass2.xml b/chapter05/binutils-pass2.xml
index 2ccd0bf68..32c749b77 100644
--- a/chapter05/binutils-pass2.xml
+++ b/chapter05/binutils-pass2.xml
@@ -1,14 +1,19 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-binutils-pass2">
-<title>Installing Binutils-&binutils-version; - Pass 2</title>
-<?dbhtml filename="binutils-pass2.html" dir="chapter05"?>
+<title>Binutils-&binutils-version; - Pass 2</title>
+<?dbhtml filename="binutils-pass2.html"?>
-<screen>&buildtime; &binutils-time-tools-pass2;
-&diskspace; &binutils-compsize-tools-pass2;</screen>
+<indexterm zone="ch-tools-binutils-pass2">
+<primary sortas="a-Binutils">Binutils</primary>
+<secondary>tools, pass 2</secondary></indexterm>
-&aa-binutils-down;
-&aa-binutils-dep;
+<screen>&buildtime; 1.5 SBU
+&diskspace; 108 MB</screen>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Re-installation of Binutils</title>
@@ -20,8 +25,8 @@ cd ../binutils-build</userinput></screen>
<para>Now prepare Binutils for compilation:</para>
-<screen><userinput>../&binutils-dir;/configure --prefix=/tools \
-&nbsp;&nbsp;&nbsp;&nbsp;--enable-shared --with-lib-path=/tools/lib</userinput></screen>
+<screen><userinput>../binutils-&binutils-version;/configure --prefix=/tools \
+ --enable-shared --with-lib-path=/tools/lib</userinput></screen>
<para>The meaning of the new configure option:</para>
@@ -64,21 +69,16 @@ chapter:</para>
<screen><userinput>make -C ld clean
make -C ld LIB_PATH=/usr/lib:/lib</userinput></screen>
-<!-- HACK - Force some whitespace to appease tidy -->
-<literallayout></literallayout>
<warning><para><emphasis>Do not yet remove</emphasis> the Binutils source and
build directories. You will need these directories again in the next chapter
in the state they are in now.</para></warning>
-<!-- HACK - Force some whitespace to appease tidy -->
-<literallayout></literallayout>
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para>
+<sect2><title> </title><para> </para>
<para>The details on this package are found in <xref linkend="contents-binutils"/>.</para>
-<para>&nbsp;</para></sect2>
+<para> </para></sect2>
</sect1>
-
diff --git a/chapter05/bzip2.xml b/chapter05/bzip2.xml
index 72cc0310c..11b45b599 100644
--- a/chapter05/bzip2.xml
+++ b/chapter05/bzip2.xml
@@ -1,14 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-bzip2">
-<title>Installing Bzip2-&bzip2-version;</title>
-<?dbhtml filename="bzip2.html" dir="chapter05"?>
+<title>Bzip2-&bzip2-version;</title>
+<?dbhtml filename="bzip2.html"?>
-<screen>&buildtime; &bzip2-time-tools;
-&diskspace; &bzip2-compsize-tools;</screen>
+<indexterm zone="ch-tools-bzip2">
+<primary sortas="a-Bzip2">Bzip2</primary>
+<secondary>tools</secondary></indexterm>
-&aa-bzip2-down;
-&aa-bzip2-dep;
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/bzip2.xml" xpointer="xpointer(/sect1/para[1])"/>
+
+<screen>&buildtime; 0.1 SBU
+&diskspace; 2.5 MB</screen>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/bzip2.xml" xpointer="xpointer(/sect1/para[2])"/>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Bzip2</title>
@@ -20,9 +29,8 @@ script. Compile and install it with a straightforward:</para>
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para>
+<sect2><title> </title><para> </para>
<para>The details on this package are found in <xref linkend="contents-bzip2"/>.</para>
-<para>&nbsp;</para></sect2>
+<para> </para></sect2>
</sect1>
-
diff --git a/chapter05/chapter05.xml b/chapter05/chapter05.xml
index f8724b46b..9a939e00e 100644
--- a/chapter05/chapter05.xml
+++ b/chapter05/chapter05.xml
@@ -1,428 +1,42 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<chapter id="chapter-temporary-tools" xreflabel="Chapter 5">
+<?dbhtml dir="chapter05"?>
<title>Constructing a temporary system</title>
-<?dbhtml filename="chapter05.html" dir="chapter05"?>
-
-
-<sect1 id="ch-tools-introduction">
-<title>Introduction</title>
-<?dbhtml filename="introduction.html" dir="chapter05"?>
-
-<para>In this chapter we will compile and install a minimal
-Linux system. This system will contain just enough tools to be able
-to start constructing the final LFS system in the next chapter.</para>
-
-<para>The building of this minimal system is done in two steps: first we
-build a brand-new and host-independent toolchain (compiler, assembler,
-linker and libraries), and then use this to build all the other essential
-tools.</para>
-
-<para>The files compiled in this chapter will be installed under the
-<filename class="directory">$LFS/tools</filename> directory
-to keep them separate from the files installed in the next chapter.
-Since the packages compiled here are merely temporary, we don't want
-them to pollute the soon-to-be LFS system.</para>
-
-<para>Before issuing the build instructions for a package you are expected to
-have already unpacked it as user <emphasis>lfs</emphasis>, and to have
-performed a <userinput>cd</userinput> into the created directory. The build
-instructions assume that you are using the <command>bash</command>
-shell.</para>
-
-<para>Several of the packages are patched before compilation, but only when
-the patch is needed to circumvent a problem. Often the patch is needed in
-both this and the next chapter, but sometimes in only one of them. Therefore,
-don't worry when instructions for a downloaded patch seem to be missing. Also,
-when applying a patch, you'll occasionally see warning messages about
-<emphasis>offset</emphasis> or <emphasis>fuzz</emphasis>. These warnings are
-nothing to worry about, as the patch was still successfully applied.</para>
-
-<para>During the compilation of most packages you will see many warnings
-scroll by on your screen. These are normal and can safely be ignored. They are
-just what they say they are: warnings -- mostly about deprecated, but not
-invalid, use of the C or C++ syntax. It's just that C standards have changed
-rather often and some packages still use the older standard, which is not
-really a problem.</para>
-
-<para>After installing each package you should delete its source and build
-directories, <emphasis>unless</emphasis> told otherwise. Deleting the sources
-saves space, but also prevents misconfiguration when the same package is
-reinstalled further on. Only for three packages you will need to keep the
-source and build directories around for a while, so their contents can be used
-by later commands. Do not miss the reminders.</para>
-
-</sect1>
-
-
-<sect1 id="tools-technicalnotes">
-<title>Technical notes</title>
-<?dbhtml filename="technicalnotes.html" dir="chapter05"?>
-
-<para>This section attempts to explain some of the rationale and technical
-details behind the overall build method. It's not essential that you understand
-everything here immediately. Most of it will make sense once you have performed
-an actual build. Feel free to refer back here at any time.</para>
-
-<para>The overall goal of <xref linkend="chapter-temporary-tools"/> is to provide a sane,
-temporary environment that we can chroot into, and from which we can produce a
-clean, trouble-free build of the target LFS system in
-<xref linkend="chapter-building-system"/>. Along the way, we attempt to divorce ourselves
-from the host system as much as possible, and in so doing build a
-self-contained and self-hosted toolchain. It should be noted that the
-build process has been designed in such a way so as to minimize the risks for
-new readers and provide maximum educational value at the same time. In other
-words, more advanced techniques could be used to build the system.</para>
-
-<important>
-<para>Before continuing, you really should be aware of the name of your working
-platform, often also referred to as the <emphasis>target triplet</emphasis>. For
-many folks the target triplet will probably be
-<emphasis>i686-pc-linux-gnu</emphasis>. A simple way to determine your target
-triplet is to run the <filename>config.guess</filename> script that comes with
-the source for many packages. Unpack the Binutils sources and run the script:
-<userinput>./config.guess</userinput> and note the output.</para>
-
-<para>You'll also need to be aware of the name of your platform's
-<emphasis>dynamic linker</emphasis>, often also referred to as the
-<emphasis>dynamic loader</emphasis>, not to be confused with the standard linker
-<emphasis>ld</emphasis> that is part of Binutils. The dynamic linker is provided
-by Glibc and has the job of finding and loading the shared libraries needed by a
-program, preparing the program to run and then running it. For most folks the
-name of the dynamic linker will be <emphasis>ld-linux.so.2</emphasis>. On
-platforms that are less prevalent, the name might be
-<emphasis>ld.so.1</emphasis> and newer 64 bit platforms might even have
-something completely different. You should be able to determine the name
-of your platform's dynamic linker by looking in the
-<filename class="directory">/lib</filename> directory on your host system. A
-surefire way is to inspect a random binary from your host system by running:
-<userinput>readelf -l &lt;name of binary&gt; | grep interpreter</userinput>
-and noting the output. The authoritative reference covering all platforms is in
-the <filename>shlib-versions</filename> file in the root of the Glibc source
-tree.</para>
-</important>
-
-<para>Some key technical points of how the <xref linkend="chapter-temporary-tools"/> build
-method works:</para>
-
-<itemizedlist>
-<listitem><para>Similar in principle to cross compiling whereby tools installed
-into the same prefix work in cooperation and thus utilize a little GNU
-"magic".</para></listitem>
-
-<listitem><para>Careful manipulation of the standard linker's library search
-path to ensure programs are linked only against libraries we
-choose.</para></listitem>
-
-<listitem><para>Careful manipulation of <command>gcc</command>'s
-<emphasis>specs</emphasis> file to tell the compiler which target dynamic
-linker will be used.</para></listitem>
-</itemizedlist>
-
-<para>Binutils is installed first because both GCC and Glibc perform various
-feature tests on the assembler and linker during their respective runs of
-<command>./configure</command> to determine which software features to enable
-or disable. This is more important than one might first realize. An incorrectly
-configured GCC or Glibc can result in a subtly broken toolchain where the impact
-of such breakage might not show up until near the end of the build of a whole
-distribution. Thankfully, a test suite failure will usually alert us before too
-much time is wasted.</para>
-
-<para>Binutils installs its assembler and linker into two locations,
-<filename class="directory">/tools/bin</filename> and
-<filename class="directory">/tools/$TARGET_TRIPLET/bin</filename>. In reality,
-the tools in one location are hard linked to the other. An important facet of
-the linker is its library search order. Detailed information can be obtained
-from <command>ld</command> by passing it the <emphasis>--verbose</emphasis>
-flag. For example: <command>ld --verbose | grep SEARCH</command> will
-show you the current search paths and their order. You can see what files are
-actually linked by <command>ld</command> by compiling a dummy program and
-passing the <emphasis>--verbose</emphasis> switch to the linker. For example:
-<command>gcc dummy.c -Wl,--verbose 2>&amp;1 | grep succeeded</command>
-will show you all the files successfully opened during the linking.</para>
-
-<para>The next package installed is GCC and during its run of
-<command>./configure</command> you'll see, for example:</para>
-
-<blockquote><screen>checking what assembler to use... /tools/i686-pc-linux-gnu/bin/as
-checking what linker to use... /tools/i686-pc-linux-gnu/bin/ld</screen></blockquote>
-
-<para>This is important for the reasons mentioned above. It also demonstrates
-that GCC's configure script does not search the PATH directories to find which
-tools to use. However, during the actual operation of <command>gcc</command>
-itself, the same search paths are not necessarily used. You can find out which
-standard linker <command>gcc</command> will use by running:
-<command>gcc -print-prog-name=ld</command>.
-Detailed information can be obtained from <command>gcc</command> by passing
-it the <emphasis>-v</emphasis> flag while compiling a dummy program. For
-example: <command>gcc -v dummy.c</command> will show you detailed
-information about the preprocessor, compilation and assembly stages, including
-<command>gcc</command>'s include search paths and their order.</para>
-
-<para>The next package installed is Glibc. The most important considerations for
-building Glibc are the compiler, binary tools and kernel headers. The compiler
-is generally no problem as Glibc will always use the <command>gcc</command>
-found in a PATH directory. The binary tools and kernel headers can be a little
-more troublesome. Therefore we take no risks and use the available configure
-switches to enforce the correct selections. After the run of
-<command>./configure</command> you can check the contents of the
-<filename>config.make</filename> file in the
-<filename class="directory">glibc-build</filename> directory for all the
-important details. You'll note some interesting items like the use of
-<emphasis>CC="gcc -B/tools/bin/"</emphasis> to control which binary tools are
-used, and also the use of the <emphasis>-nostdinc</emphasis> and
-<emphasis>-isystem</emphasis> flags to control the compiler's include search
-path. These items help to highlight an important aspect of the Glibc package:
-it is very self-sufficient in terms of its build machinery and generally does
-not rely on toolchain defaults.</para>
-
-<para>After the Glibc installation, we make some adjustments to ensure that
-searching and linking take place only within our <filename>/tools</filename>
-prefix. We install an adjusted <command>ld</command>, which has a hard-wired
-search path limited to <filename class="directory">/tools/lib</filename>. Then
-we amend <command>gcc</command>'s specs file to point to our new dynamic
-linker in <filename class="directory">/tools/lib</filename>. This last step is
-<emphasis>vital</emphasis> to the whole process. As mentioned above, a
-hard-wired path to a dynamic linker is embedded into every ELF shared
-executable. You can inspect this by running:
-<command>readelf -l &lt;name of binary&gt; | grep interpreter</command>.
-By amending <command>gcc</command>'s specs file, we are ensuring that every
-program compiled from here through the end of this chapter will use our new
-dynamic linker in <filename class="directory">/tools/lib</filename>.</para>
-
-<para>The need to use the new dynamic linker is also the reason why we apply the
-Specs patch for the second pass of GCC. Failure to do so will result in the GCC
-programs themselves having the name of the dynamic linker from the host system's
-<filename class="directory">/lib</filename> directory embedded into them, which
-would defeat our goal of getting away from the host.</para>
-
-<para>During the second pass of Binutils, we are able to utilize the
-<emphasis>--with-lib-path</emphasis> configure switch to control
-<command>ld</command>'s library search path. From this point onwards, the
-core toolchain is self-contained and self-hosted. The remainder of the
-<xref linkend="chapter-temporary-tools"/> packages all build against the new Glibc in
-<filename class="directory">/tools</filename> and all is well.</para>
-
-<para>Upon entering the chroot environment in <xref linkend="chapter-building-system"/>, the
-first major package we install is Glibc, due to its self-sufficient nature that
-we mentioned above. Once this Glibc is installed into
-<filename class="directory">/usr</filename>, we perform a quick changeover of
-the toolchain defaults, then proceed for real in building the rest of the
-target LFS system.</para>
-
-</sect1>
-
-
-<sect1 id="tools-aboutlinking">
-<title>Notes on static linking</title>
-<?dbhtml filename="aboutlinking.html" dir="chapter05"?>
-
-<para>Most programs have to perform, beside their specific task, many rather
-common and sometimes trivial operations. These include allocating memory,
-searching directories, reading and writing files, string handling, pattern
-matching, arithmetic and many other tasks. Instead of obliging each program to
-reinvent the wheel, the GNU system provides all these basic functions in
-ready-made libraries. The major library on any Linux system is
-<emphasis>Glibc</emphasis>.</para>
-
-<para>There are two primary ways of linking the functions from a library to a
-program that uses them: statically or dynamically. When a program is linked
-statically, the code of the used functions is included in the executable,
-resulting in a rather bulky program. When a program is dynamically linked, what
-is included is a reference to the dynamic linker, the name of the library, and
-the name of the function, resulting in a much smaller executable. (A third way
-is to use the programming interface of the dynamic linker. See the
-<emphasis>dlopen</emphasis> man page for more information.)</para>
-
-<para>Dynamic linking is the default on Linux and has three major advantages
-over static linking. First, you need only one copy of the executable library
-code on your hard disk, instead of having many copies of the same code included
-into a whole bunch of programs -- thus saving disk space. Second, when several
-programs use the same library function at the same time, only one copy of the
-function's code is required in core -- thus saving memory space. Third, when a
-library function gets a bug fixed or is otherwise improved, you only need to
-recompile this one library, instead of having to recompile all the programs that
-make use of the improved function.</para>
-
-<para>If dynamic linking has several advantages, why then do we statically link
-the first two packages in this chapter? The reasons are threefold: historical,
-educational, and technical. Historical, because earlier versions of LFS
-statically linked every program in this chapter. Educational, because knowing
-the difference is useful. Technical, because we gain an element of independence
-from the host in doing so, meaning that those programs can be used
-independently of the host system. However, it's worth noting that an overall
-successful LFS build can still be achieved when the first two packages are
-built dynamically.</para>
-
-</sect1>
-
-
-&c5-binutils-pass1;
-&c5-gcc-pass1;
-&c5-kernelheaders;
-&c5-glibc;
-
-
-<sect1 id="ch-tools-adjusting">
-<title>Adjusting the toolchain</title>
-<?dbhtml filename="adjusting.html" dir="chapter05"?>
-
-<para>Now that the temporary C libraries have been installed, we want all
-the tools compiled in the rest of this chapter to be linked against these
-libraries. To accomplish this, we need to adjust the linker and the compiler's
-specs file. Some people would say that it is <emphasis>"black magic juju below
-this line"</emphasis>, but it is really very simple.</para>
-
-<para>First install the adjusted linker (adjusted at the end of the first pass
-of Binutils) by running the following command from within
-the <filename class="directory">binutils-build</filename> directory:</para>
-
-<screen><userinput>make -C ld install</userinput></screen>
-
-<para>From this point onwards everything will link <emphasis>only</emphasis>
-against the libraries in <filename>/tools/lib</filename>.</para>
-
-<note><para>If you somehow missed the earlier warning to retain the Binutils
-source and build directories from the first pass or otherwise accidentally
-deleted them or just don't have access to them, don't worry, all is not lost.
-Just ignore the above command. The result is a small chance of the subsequent
-testing programs linking against libraries on the host. This is not ideal, but
-it's not a major problem. The situation is corrected when we install the
-second pass of Binutils a bit further on.</para></note>
-
-<para>Now that the adjusted linker is installed, you have to
-<emphasis>remove</emphasis> the Binutils build and source directories.</para>
-
-<para>The next thing to do is to amend our GCC specs file so that it points
-to the new dynamic linker. A simple sed will accomplish this:</para>
-
-<!-- Ampersands are needed to allow cut and paste -->
-
-<screen><userinput>SPECFILE=/tools/lib/gcc-lib/*/*/specs &amp;&amp;
-sed -e 's@ /lib/ld-linux.so.2@ /tools/lib/ld-linux.so.2@g' \
-&nbsp;&nbsp;&nbsp;&nbsp;$SPECFILE &gt; tempspecfile &amp;&amp;
-mv -f tempspecfile $SPECFILE &amp;&amp;
-unset SPECFILE</userinput></screen>
-
-<para>We recommend that you cut-and-paste the above rather than try and type it
-all in. Or you can edit the specs file by hand if you want to: just replace the
-occurrence of "/lib/ld-linux.so.2" with "/tools/lib/ld-linux.so.2". Be sure to
-visually inspect the specs file to verify the intended change was actually
-made.</para>
-
-<important><para>If you are working on a platform where the name of the dynamic
-linker is something other than <filename>ld-linux.so.2</filename>, you
-<emphasis>must</emphasis> substitute <filename>ld-linux.so.2</filename> with the
-name of your platform's dynamic linker in the above commands. Refer back to
-<xref linkend="tools-technicalnotes"/> if necessary.</para></important>
-
-<para>Lastly, there is a possibility that some include files from the host
-system have found their way into GCC's private include dir. This can happen
-because of GCC's "fixincludes" process which runs as part of the GCC build.
-We'll explain more about this further on in this chapter. For now, run the
-following commands to eliminate this possibility:</para>
-
-<screen><userinput>rm -f /tools/lib/gcc-lib/*/*/include/{pthread.h,bits/sigthread.h}</userinput></screen>
-
-<!-- HACK - Force some whitespace to appease tidy -->
-<literallayout></literallayout>
-
-<caution><para>It is imperative at this point to stop and ensure that the basic
-functions (compiling and linking) of the new toolchain are working as expected.
-For this we are going to perform a simple sanity check:</para>
-
-<screen><userinput>echo 'main(){}' &gt; dummy.c
-cc dummy.c
-readelf -l a.out | grep ': /tools'</userinput></screen>
-
-<para>If everything is working correctly, there should be no errors, and the
-output of the last command will be (allowing for platform specific differences
-in dynamic linker name):</para>
-
-<blockquote><screen>[Requesting program interpreter: /tools/lib/ld-linux.so.2]</screen></blockquote>
-
-<para>Note especially that <filename class="directory">/tools/lib</filename>
-appears as the prefix of our dynamic linker.</para>
-
-<para>If you did not receive the output
-as shown above, or received no output at all, then something is seriously wrong.
-You will need to investigate and retrace your steps to find out where the
-problem is and correct it. There is no point in continuing until this is done.
-First, redo the sanity check using <command>gcc</command> instead of
-<command>cc</command>. If this works it means the
-<filename class="symlink">/tools/bin/cc</filename> symlink is missing. Revisit
-<xref linkend="ch-tools-gcc-pass1"/> and fix the symlink. Second, ensure your PATH
-is correct. You can check this by running <userinput>echo $PATH</userinput> and
-verifying that <filename class="directory">/tools/bin</filename> is at the head
-of the list. If the PATH is wrong it could mean you're not logged in as user
-<emphasis>lfs</emphasis> or something went wrong back in <xref
-linkend="prepare-settingenvironment"/>. Third, something may have gone wrong
-with the specs file amendment above. In this case redo the specs file amendment
-ensuring to cut-and-paste the commands as was recommended.</para>
-
-<para>Once you are satisfied that all is well, clean up the test files:</para>
-
-<screen><userinput>rm dummy.c a.out</userinput></screen>
-</caution>
-
-<!-- HACK - Force some whitespace to appease tidy -->
-<literallayout></literallayout>
-
-</sect1>
-
-
-&c5-tcl;
-&c5-expect;
-&c5-dejagnu;
-&c5-gcc-pass2;
-&c5-binutils-pass2;
-
-&c5-gawk;
-&c5-coreutils;
-&c5-bzip2;
-&c5-gzip;
-&c5-diffutils;
-&c5-findutils;
-&c5-make;
-&c5-grep;
-&c5-sed;
-&c5-gettext;
-&c5-ncurses;
-&c5-patch;
-&c5-tar;
-&c5-texinfo;
-&c5-bash;
-&c5-perl;
-
-
-<sect1 id="ch-tools-stripping">
-<title>Stripping</title>
-<?dbhtml filename="stripping.html" dir="chapter05"?>
-
-<para>The steps in this section are optional, but if your LFS partition is
-rather small, you will be glad to learn that you can remove some unnecessary
-things. The executables and libraries you have built so far contain about 130
-MB of unneeded debugging symbols. Remove those symbols with:</para>
-
-<screen><userinput>strip --strip-debug /tools/lib/*
-strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
-
-<para>The last of the above commands will skip some twenty files, reporting
-that it doesn't recognize their file format. Most of them are scripts instead
-of binaries.</para>
-
-<para>Take care <emphasis>not</emphasis> to use
-<emphasis>--strip-unneeded</emphasis> on the libraries -- the static ones
-would be destroyed and you would have to build the three toolchain packages
-all over again.</para>
-
-<para>To save another 30 MB, you can remove all the documentation:</para>
-
-<screen><userinput>rm -rf /tools/{doc,info,man}</userinput></screen>
-
-<para>You will now need to have at least 850 MB of free space on your LFS
-file system to be able to build and install Glibc in the next phase. If you can
-build and install Glibc, you can build and install the rest too.</para>
-
-</sect1>
+<?dbhtml filename="chapter05.html"?>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="toolchaintechnotes.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="binutils-pass1.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gcc-pass1.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kernel-headers.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="glibc.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="adjusting.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="tcl.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="expect.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="dejagnu.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gcc-pass2.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="binutils-pass2.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gawk.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="coreutils.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bzip2.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gzip.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="diffutils.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="findutils.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="make.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grep.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sed.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gettext.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ncurses.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="patch.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="tar.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="texinfo.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bash.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="util-linux.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="perl.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="stripping.xml"/>
</chapter>
-
diff --git a/chapter05/coreutils.xml b/chapter05/coreutils.xml
index 945a129bb..78833341f 100644
--- a/chapter05/coreutils.xml
+++ b/chapter05/coreutils.xml
@@ -1,38 +1,45 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-coreutils">
-<title>Installing Coreutils-&coreutils-version;</title>
-<?dbhtml filename="coreutils.html" dir="chapter05"?>
+<title>Coreutils-&coreutils-version;</title>
+<?dbhtml filename="coreutils.html"?>
-<screen>&buildtime; &coreutils-time-tools;
-&diskspace; &coreutils-compsize-tools;</screen>
+<indexterm zone="ch-tools-coreutils">
+<primary sortas="a-Coreutils">Coreutils</primary>
+<secondary>tools</secondary></indexterm>
-<literallayout>Official download location for Coreutils (&coreutils-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/coreutils/"/>
-And for the patch:
-<ulink url="&patches-root;&coreutils-posixver-patch;"/></literallayout>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/coreutils.xml" xpointer="xpointer(/sect1/para[1])"/>
-&aa-coreutils-dep;
+<screen>&buildtime; 0.9 SBU
+&diskspace; 69 MB</screen>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/coreutils.xml" xpointer="xpointer(/sect1/para[2])"/>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Coreutils</title>
-<para>This package has an issue when compiled against Glibc-&glibc-version;.
-Without the patch below, some of the Coreutils utilities (such as
+<para>Prepare Coreutils for compilation:</para>
+
+<screen><userinput>DEFAULT_POSIX2_VERSION=199209 ./configure --prefix=/tools</userinput></screen>
+
+<para>This package has an issue when compiled against versions of glibc
+later than 2.3.2. Some of the Coreutils utilities (such as
(<command>head</command>, <command>tail</command> and <command>sort</command>)
will reject their traditional syntax, a syntax that has been in use for
approximately 30 years. This old syntax is so pervasive that compatibility
-should be preserved until the many places where it is used can be updated. More
-details on this are provided in the comments inside the patch itself. Use of
-this patch is by no means compulsory, but not using it means you'll have to
-deal with the consequences yourself: patch the many packages that still use the
-old syntax. Therefore, better apply the patch:</para>
-
-<screen><userinput>patch -Np1 -i ../&coreutils-posixver-patch;</userinput></screen>
-
-<para>Now prepare Coreutils for compilation:</para>
-
-<screen><userinput>./configure --prefix=/tools</userinput></screen>
+should be preserved until the many places where it is used can be
+updated. Backwards compatibility is achieved by setting the
+DEFAULT_POSIX2_VERSION environment variable to &quot;199209&quot; in the above
+command. If you don&apos;t want coreutils to be backwards compatible
+with the traditional syntax, then simply omit setting the DEFAULT_POSIX2_VERSION
+environment variable. Realise though, that doing so will mean you&apos;ll have
+to deal with the consequences yourself: patch the many packages that still use
+the old syntax. We therefore recommend using the instructions exactly as given
+above.</para>
<para>Compile the package:</para>
@@ -50,9 +57,8 @@ platforms but generally are not a problem on Linux.)</para>
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para>
+<sect2><title> </title><para> </para>
<para>The details on this package are found in <xref linkend="contents-coreutils"/>.</para>
-<para>&nbsp;</para></sect2>
+<para> </para></sect2>
</sect1>
-
diff --git a/chapter05/dejagnu.xml b/chapter05/dejagnu.xml
index 31d4b7ab6..9a526f212 100644
--- a/chapter05/dejagnu.xml
+++ b/chapter05/dejagnu.xml
@@ -1,16 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-dejagnu" xreflabel="DejaGnu">
-<title>Installing DejaGnu-&dejagnu-version;</title>
-<?dbhtml filename="dejagnu.html" dir="chapter05"?>
+<title>DejaGnu-&dejagnu-version;</title>
+<?dbhtml filename="dejagnu.html"?>
+
+<indexterm zone="ch-tools-dejagnu"><primary sortas="a-DejaGnu">DejaGnu</primary></indexterm>
<para>The DejaGnu package contains a framework for testing other programs.</para>
-<screen>&buildtime; &dejagnu-time-tools;
-&diskspace; &dejagnu-compsize-tools;</screen>
+<screen>&buildtime; 0.1 SBU
+&diskspace; 8.6 MB</screen>
+
+<para>For its installation Dejagnu depends on: Bash, Binutils, Coreutils, Diffutils,
+GCC, Glibc, Grep, Make, Sed.</para>
-&aa-dejagnu-down;
-&aa-dejagnu-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of DejaGnu</title>
@@ -25,8 +32,21 @@
</sect2>
-&aa-dejagnu-shortdesc;
-&aa-dejagnu-desc;
-</sect1>
+<sect2 id="contents-dejagnu"><title>Contents of DejaGnu</title>
+
+<para><emphasis>Installed program</emphasis>: runtest</para>
+
+</sect2>
+
+<sect2><title>Short description</title>
+
+<indexterm zone="ch-tools-dejagnu runtest"><primary sortas="b-runtest">runtest</primary></indexterm>
+<para id="runtest"><command>runtest</command> is the wrapper script that finds the proper
+expect shell and then runs DejaGnu.</para>
+
+</sect2>
+
+
+</sect1>
diff --git a/chapter05/diffutils.xml b/chapter05/diffutils.xml
index 7debe4de9..16fee0334 100644
--- a/chapter05/diffutils.xml
+++ b/chapter05/diffutils.xml
@@ -1,14 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-diffutils">
-<title>Installing Diffutils-&diffutils-version;</title>
-<?dbhtml filename="diffutils.html" dir="chapter05"?>
+<title>Diffutils-&diffutils-version;</title>
+<?dbhtml filename="diffutils.html"?>
-<screen>&buildtime; &diffutils-time-tools;
-&diskspace; &diffutils-compsize-tools;</screen>
+<indexterm zone="ch-tools-diffutils">
+<primary sortas="a-Diffutils">Diffutils</primary>
+<secondary>tools</secondary></indexterm>
-&aa-diffutils-down;
-&aa-diffutils-dep;
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/diffutils.xml" xpointer="xpointer(/sect1/para[1])"/>
+
+<screen>&buildtime; 0.1 SBU
+&diskspace; 7.5 MB</screen>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/diffutils.xml" xpointer="xpointer(/sect1/para[2])"/>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Diffutils</title>
@@ -27,9 +36,8 @@
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para>
+<sect2><title> </title><para> </para>
<para>The details on this package are found in <xref linkend="contents-diffutils"/>.</para>
-<para>&nbsp;</para></sect2>
+<para> </para></sect2>
</sect1>
-
diff --git a/chapter05/expect.xml b/chapter05/expect.xml
index 752fcb977..24d1cbcac 100644
--- a/chapter05/expect.xml
+++ b/chapter05/expect.xml
@@ -1,17 +1,24 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-expect" xreflabel="Expect">
-<title>Installing Expect-&expect-version;</title>
-<?dbhtml filename="expect.html" dir="chapter05"?>
+<title>Expect-&expect-version;</title>
+<?dbhtml filename="expect.html"?>
+
+<indexterm zone="ch-tools-expect"><primary sortas="a-Expect">Expect</primary></indexterm>
<para>The Expect package contains a program for doing scripted dialogues with
other interactive programs.</para>
-<screen>&buildtime; &expect-time-tools;
-&diskspace; &expect-compsize-tools;</screen>
+<screen>&buildtime; 0.1 SBU
+&diskspace; 3.9 MB</screen>
+
+<para>Expect installation depends on: Bash, Binutils, Coreutils, Diffutils,
+GCC, Glibc, Grep, Make, Sed, Tcl.</para>
-&aa-expect-down;
-&aa-expect-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Expect</title>
@@ -19,7 +26,7 @@ other interactive programs.</para>
<para>First fix a bug that can result in bogus failures during the GCC test
suite run:</para>
-<screen><userinput>patch -Np1 -i ../&expect-patch;</userinput></screen>
+<screen><userinput>patch -Np1 -i ../expect-&expect-version;-spawn-1.patch</userinput></screen>
<para>Now prepare Expect for compilation:</para>
@@ -63,8 +70,23 @@ of the supplementary expect scripts which are not needed.</para></listitem>
</sect2>
-&aa-expect-shortdesc;
-&aa-expect-desc;
-</sect1>
+<sect2 id="contents-expect"><title>Contents of Expect</title>
+
+<para><emphasis>Installed program</emphasis>: expect</para>
+
+<para><emphasis>Installed library</emphasis>: libexpect&expect-version;.a</para>
+
+</sect2>
+
+<sect2><title>Short description</title>
+
+<indexterm zone="ch-tools-expect expect"><primary sortas="b-expect">expect</primary></indexterm>
+<para id="expect"><command>expect</command> <quote>talks</quote> to other interactive
+programs according to a script.</para>
+
+</sect2>
+
+
+</sect1>
diff --git a/chapter05/findutils.xml b/chapter05/findutils.xml
index 8d76082e7..544f5441d 100644
--- a/chapter05/findutils.xml
+++ b/chapter05/findutils.xml
@@ -1,14 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-findutils">
-<title>Installing Findutils-&findutils-version;</title>
-<?dbhtml filename="findutils.html" dir="chapter05"?>
+<title>Findutils-&findutils-version;</title>
+<?dbhtml filename="findutils.html"?>
-<screen>&buildtime; &findutils-time-tools;
-&diskspace; &findutils-compsize-tools;</screen>
+<indexterm zone="ch-tools-findutils">
+<primary sortas="a-Findutils">Findutils</primary>
+<secondary>tools</secondary></indexterm>
-&aa-findutils-down;
-&aa-findutils-dep;
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/findutils.xml" xpointer="xpointer(/sect1/para[1])"/>
+
+<screen>&buildtime; 0.2 SBU
+&diskspace; 7.6 MB</screen>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/findutils.xml" xpointer="xpointer(/sect1/para[2])"/>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Findutils</title>
@@ -30,9 +39,8 @@
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para>
+<sect2><title> </title><para> </para>
<para>The details on this package are found in <xref linkend="contents-findutils"/>.</para>
-<para>&nbsp;</para></sect2>
+<para> </para></sect2>
</sect1>
-
diff --git a/chapter05/gawk.xml b/chapter05/gawk.xml
index 62c84523b..a2a22c9a9 100644
--- a/chapter05/gawk.xml
+++ b/chapter05/gawk.xml
@@ -1,16 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-gawk">
-<title>Installing Gawk-&gawk-version;</title>
-<?dbhtml filename="gawk.html" dir="chapter05"?>
+<title>Gawk-&gawk-version;</title>
+<?dbhtml filename="gawk.html"?>
-<screen>&buildtime; &gawk-time-tools;
-&diskspace; &gawk-compsize-tools;</screen>
+<indexterm zone="ch-tools-gawk">
+<primary sortas="a-Gawk">Gawk</primary>
+<secondary>tools</secondary></indexterm>
-<literallayout>Official download location for Gawk (&gawk-version;):
-<ulink url="ftp://ftp.gnu.org/pub/gnu/gawk/"/></literallayout>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gawk.xml" xpointer="xpointer(/sect1/para[1])"/>
-&aa-gawk-dep;
+<screen>&buildtime; 0.2 SBU
+&diskspace; 17 MB</screen>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gawk.xml" xpointer="xpointer(/sect1/para[2])"/>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Gawk</title>
@@ -32,9 +39,8 @@
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para>
+<sect2><title> </title><para> </para>
<para>The details on this package are found in <xref linkend="contents-gawk"/>.</para>
-<para>&nbsp;</para></sect2>
+<para> </para></sect2>
</sect1>
-
diff --git a/chapter05/gcc-pass1.xml b/chapter05/gcc-pass1.xml
index 6cb01b4fa..68c429fb0 100644
--- a/chapter05/gcc-pass1.xml
+++ b/chapter05/gcc-pass1.xml
@@ -1,28 +1,35 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-gcc-pass1">
-<title>Installing GCC-&gcc-version; - Pass 1</title>
-<?dbhtml filename="gcc-pass1.html" dir="chapter05"?>
+<title>GCC-&gcc-version; - Pass 1</title>
+<?dbhtml filename="gcc-pass1.html"?>
-<screen>&buildtime; &gcc-time-tools-pass1;
-&diskspace; &gcc-compsize-tools-pass1;</screen>
+<indexterm zone="ch-tools-gcc-pass1">
+<primary sortas="a-GCC">GCC</primary>
+<secondary>tools, pass 1</secondary></indexterm>
-<literallayout>Official download location for GCC (&gcc-version;):
-<ulink url="ftp://ftp.gnu.org/pub/gnu/gcc/"/></literallayout>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gcc.xml" xpointer="xpointer(/sect1/para[1])"/>
-&aa-gcc-dep;
+<screen>&buildtime; 4.4 SBU
+&diskspace; 300 MB</screen>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gcc.xml" xpointer="xpointer(/sect1/para[2])"/>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of GCC</title>
<para>Unpack only the GCC-core tarball, as we won't be needing the C++ compiler
-nor the test suite at the moment.</para>
+nor the test suite here.</para>
<para>This package is known to behave badly when you change its default
optimization flags (including the <emphasis>-march</emphasis> and
<emphasis>-mcpu</emphasis> options). Therefore, if you have defined any
environment variables that override default optimizations, such as CFLAGS and
-CXXFLAGS, we recommend unsetting them when building GCC.</para>
+CXXFLAGS, we recommend un-setting them when building GCC.</para>
<para>The GCC documentation recommends building GCC outside of the source
directory in a dedicated build directory:</para>
@@ -32,10 +39,10 @@ cd ../gcc-build</userinput></screen>
<para>Prepare GCC for compilation:</para>
-<screen><userinput>../&gcc-dir;/configure --prefix=/tools \
-&nbsp;&nbsp;&nbsp;&nbsp;--with-local-prefix=/tools \
-&nbsp;&nbsp;&nbsp;&nbsp;--disable-nls --enable-shared \
-&nbsp;&nbsp;&nbsp;&nbsp;--enable-languages=c</userinput></screen>
+<screen><userinput>../gcc-&gcc-version;/configure --prefix=/tools \
+ --with-local-prefix=/tools \
+ --disable-nls --enable-shared \
+ --enable-languages=c</userinput></screen>
<para>The meaning of the configure options:</para>
@@ -44,7 +51,7 @@ cd ../gcc-build</userinput></screen>
purpose of this switch is to remove <filename>/usr/local/include</filename>
from <command>gcc</command>'s include search path. This is not absolutely
essential; however, we want to try to minimize the influence of the host
-system, thus making this a sensible thing to do.</para></listitem>
+system, so this a sensible thing to do.</para></listitem>
<listitem><para><userinput>--enable-shared</userinput>: This switch may
seem counter-intuitive at first. But using it allows the building of
@@ -83,7 +90,7 @@ test suite. But, as mentioned before, the test suite framework is not in place
yet. And there would be little point in running the tests anyhow, since the
programs from this first pass will soon be replaced.</para>
-<para>And install the package:</para>
+<para>Now install the package:</para>
<screen><userinput>make install</userinput></screen>
@@ -98,9 +105,8 @@ C compiler to install, as long as there's a symlink pointing to it:</para>
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para>
+<sect2><title> </title><para> </para>
<para>The details on this package are found in <xref linkend="contents-gcc"/>.</para>
-<para>&nbsp;</para></sect2>
+<para> </para></sect2>
</sect1>
-
diff --git a/chapter05/gcc-pass2.xml b/chapter05/gcc-pass2.xml
index da119311c..d89d82e82 100644
--- a/chapter05/gcc-pass2.xml
+++ b/chapter05/gcc-pass2.xml
@@ -1,14 +1,19 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-gcc-pass2">
-<title>Installing GCC-&gcc-version; - Pass 2</title>
-<?dbhtml filename="gcc-pass2.html" dir="chapter05"?>
+<title>GCC-&gcc-version; - Pass 2</title>
+<?dbhtml filename="gcc-pass2.html"?>
-<screen>&buildtime; &gcc-time-tools-pass2;
-&diskspace; &gcc-compsize-tools-pass2;</screen>
+<indexterm zone="ch-tools-gcc-pass2">
+<primary sortas="a-GCC">GCC</primary>
+<secondary>tools, pass 2</secondary></indexterm>
-&aa-gcc-down;
-&aa-gcc-dep;
+<screen>&buildtime; 11.0 SBU
+&diskspace; 274 MB</screen>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Re-installation of GCC</title>
@@ -37,24 +42,24 @@ working.</para>
<para>This time we will build both the C and the C++ compilers, so you'll have
to unpack both the core and the g++ tarballs (and testsuite too, if you want to
run the tests). Unpacking them in your working directory, they will all unfold
-into a single <filename>&gcc-dir;/</filename> subdirectory.</para>
+into a single <filename>gcc-&gcc-version;/</filename> subdirectory.</para>
<para>First correct a problem and make an essential adjustment:</para>
-<screen><userinput>patch -Np1 -i ../&gcc-nofixincludes-patch;
-patch -Np1 -i ../&gcc-specs-patch;</userinput></screen>
-
-<para>The first patch disables the GCC "fixincludes" script. We mentioned this
-briefly earlier, but a slightly more in-depth explanation of the fixincludes
-process is warranted here. Under normal circumstances, the GCC fixincludes
-script scans your system for header files that need to be fixed. It might find
-that some Glibc header files on your host system need to be fixed, fix them and
-put them in the GCC private include directory. Then, later on in
-<xref linkend="chapter-building-system"/>, after we've installed the newer Glibc, this
-private include directory would be searched before the system include
-directory, resulting in GCC finding the fixed headers from the host system,
-which would most likely not match the Glibc version actually used for the LFS
-system.</para>
+<screen><userinput>patch -Np1 -i ../gcc-&gcc-version;-no_fixincludes-1.patch
+patch -Np1 -i ../gcc-&gcc-version;-specs-1.patch</userinput></screen>
+
+<para>The first patch disables the GCC <quote>fixincludes</quote> script. We
+mentioned this briefly earlier, but a slightly more in-depth explanation of
+the fixincludes process is warranted here. Under normal circumstances, the GCC
+fixincludes script scans your system for header files that need to be fixed. It
+might find that some Glibc header files on your host system need to be fixed,
+fix them and put them in the GCC private include directory. Then, later on in
+<xref linkend="chapter-building-system"/>, after we've installed the newer
+Glibc, this private include directory would be searched before the system
+include directory, resulting in GCC finding the fixed headers from the host
+system, which would most likely not match the Glibc version actually used for
+the LFS system.</para>
<para>The second patch changes GCC's default location of the dynamic linker
(typically <filename>ld-linux.so.2</filename>). It also removes
@@ -77,11 +82,11 @@ variables that override the default optimization flags.</para>
<para>Now prepare GCC for compilation:</para>
-<screen><userinput>../&gcc-dir;/configure --prefix=/tools \
-&nbsp;&nbsp;&nbsp;&nbsp;--with-local-prefix=/tools \
-&nbsp;&nbsp;&nbsp;&nbsp;--enable-clocale=gnu --enable-shared \
-&nbsp;&nbsp;&nbsp;&nbsp;--enable-threads=posix --enable-__cxa_atexit \
-&nbsp;&nbsp;&nbsp;&nbsp;--enable-languages=c,c++</userinput></screen>
+<screen><userinput>../gcc-&gcc-version;/configure --prefix=/tools \
+ --with-local-prefix=/tools \
+ --enable-clocale=gnu --enable-shared \
+ --enable-threads=posix --enable-__cxa_atexit \
+ --enable-languages=c,c++</userinput></screen>
<para>The meaning of the new configure options:</para>
@@ -128,7 +133,7 @@ through to completion and not stop at the first failure. The GCC test suite is
very comprehensive and is almost guaranteed to generate a few failures. To get
a summary of the test suite results, run this:</para>
-<screen><userinput>../&gcc-dir;/contrib/test_summary</userinput></screen>
+<screen><userinput>../gcc-&gcc-version;/contrib/test_summary</userinput></screen>
<para>(For just the summaries, pipe the output through
<userinput>grep -A7 Summ</userinput>.)</para>
@@ -146,8 +151,8 @@ current GCC-&gcc-version; should look on i686-pc-linux-gnu, see
<para>The unexpected pass for g++ is due to the use of
<emphasis>--enable-__cxa_atexit</emphasis>. Apparently not all platforms
-supported by GCC have support for "__cxa_atexit" in their C libraries, so this
-test is not always expected to pass.</para>
+supported by GCC have support for <quote>__cxa_atexit</quote> in their C
+libraries, so this test is not always expected to pass.</para>
<para>The 24 unexpected passes for libstdc++ are due to the use of
<emphasis>--enable-clocale=gnu</emphasis>. This option, which is the correct
@@ -160,8 +165,10 @@ tests are not always expected to pass.</para>
<para>Having a few unexpected failures often cannot be avoided. The GCC
developers are usually aware of these, but haven't yet gotten around to fixing
-them. In short, unless your results are vastly different from those at the
-above URL, it is safe to continue.</para>
+them. One particular case in point is the filebuf_members test in the C++
+standard library testsuite. This test has been observed to fail in some
+situations, but succeeed in others. In short, unless your results are vastly
+different from those at the above URL, it is safe to continue.</para>
<para>And finally install the package:</para>
@@ -175,9 +182,8 @@ GCC Specs patch.</para></note>
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para>
+<sect2><title> </title><para> </para>
<para>The details on this package are found in <xref linkend="contents-gcc"/>.</para>
-<para>&nbsp;</para></sect2>
+<para> </para></sect2>
</sect1>
-
diff --git a/chapter05/gettext.xml b/chapter05/gettext.xml
index 880a597c1..cebff68f1 100644
--- a/chapter05/gettext.xml
+++ b/chapter05/gettext.xml
@@ -1,14 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-gettext">
-<title>Installing Gettext-&gettext-version;</title>
-<?dbhtml filename="gettext.html" dir="chapter05"?>
+<title>Gettext-&gettext-version;</title>
+<?dbhtml filename="gettext.html"?>
-<screen>&buildtime; &gettext-time-tools;
-&diskspace; &gettext-compsize-tools;</screen>
+<indexterm zone="ch-tools-gettext">
+<primary sortas="a-Gettext">Gettext</primary>
+<secondary>tools</secondary></indexterm>
-&aa-gettext-down;
-&aa-gettext-dep;
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gettext.xml" xpointer="xpointer(/sect1/para[1])"/>
+
+<screen>&buildtime; 0.5 SBU
+&diskspace; 55 MB</screen>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gettext.xml" xpointer="xpointer(/sect1/para[2])"/>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Gettext</title>
@@ -34,9 +43,8 @@ project).)</para>
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para>
+<sect2><title> </title><para> </para>
<para>The details on this package are found in <xref linkend="contents-gettext"/>.</para>
-<para>&nbsp;</para></sect2>
+<para> </para></sect2>
</sect1>
-
diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml
index 9eda176a6..22a338164 100644
--- a/chapter05/glibc.xml
+++ b/chapter05/glibc.xml
@@ -1,14 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-glibc">
-<title>Installing Glibc-&glibc-version;</title>
-<?dbhtml filename="glibc.html" dir="chapter05"?>
+<title>Glibc-&glibc-version;</title>
+<?dbhtml filename="glibc.html"?>
-<screen>&buildtime; &glibc-time-tools;
-&diskspace; &glibc-compsize-tools;</screen>
+<indexterm zone="ch-tools-glibc">
+<primary sortas="a-Glibc">Glibc</primary>
+<secondary>tools</secondary></indexterm>
-&aa-glibc-down;
-&aa-glibc-dep;
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/glibc.xml" xpointer="xpointer(/sect1/para[1])"/>
+
+<screen>&buildtime; 11.8 SBU
+&diskspace; 800 MB</screen>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/glibc.xml" xpointer="xpointer(/sect1/para[2])"/>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Glibc</title>
@@ -17,7 +26,7 @@
optimization flags (including the <emphasis>-march</emphasis> and
<emphasis>-mcpu</emphasis> options). Therefore, if you have defined any
environment variables that override default optimizations, such as CFLAGS and
-CXXFLAGS, we recommend unsetting them when building Glibc.</para>
+CXXFLAGS, we recommend un-setting them when building Glibc.</para>
<para>Basically, compiling Glibc in any other way than the book suggests
is putting the stability of your system at risk.</para>
@@ -30,16 +39,16 @@ cd ../glibc-build</userinput></screen>
<para>Next, prepare Glibc for compilation:</para>
-<screen><userinput>../&glibc-dir;/configure --prefix=/tools \
-&nbsp;&nbsp;&nbsp;&nbsp;--disable-profile --enable-add-ons=linuxthreads \
-&nbsp;&nbsp;&nbsp;&nbsp;--with-binutils=/tools/bin --with-headers=/tools/include \
-&nbsp;&nbsp;&nbsp;&nbsp;--without-gd --without-cvs</userinput></screen>
+<screen><userinput>../glibc-&glibc-version;-20031202/configure --prefix=/tools \
+ --disable-profile --enable-add-ons=linuxthreads \
+ --with-binutils=/tools/bin --with-headers=/tools/include \
+ --without-gd --without-cvs</userinput></screen>
<para>The meaning of the configure options:</para>
<itemizedlist>
-<listitem><para><userinput>--disable-profile</userinput>: This disables the
-building of the libraries with profiling information. Omit this option if you
+<listitem><para><userinput>--disable-profile</userinput>: This
+builds the libraries without profiling information. Omit this option if you
plan to do profiling on the temporary tools.</para></listitem>
<listitem><para><userinput>--enable-add-ons=linuxthreads</userinput>: This
@@ -52,8 +61,8 @@ these switches are not required. But they ensure nothing can go wrong with
regard to what kernel headers and Binutils programs get used during the
Glibc build.</para></listitem>
-<listitem><para><userinput>--without-gd</userinput>: This switch ensures
-that we don't build the <command>memusagestat</command> program, which
+<listitem><para><userinput>--without-gd</userinput>: This prevents
+the build of the <command>memusagestat</command> program, which
strangely enough insists on linking against the host's libraries (libgd,
libpng, libz, and so forth).</para></listitem>
@@ -141,8 +150,8 @@ touch /tools/etc/ld.so.conf</userinput></screen>
<para>Different countries and cultures have varying conventions for how to
communicate. These conventions range from very simple ones, such as the format
for representing dates and times, to very complex ones, such as the language
-spoken. The "internationalization" of GNU programs works by means of
-<emphasis>locales</emphasis>.</para>
+spoken. The <quote>internationalization</quote> of GNU programs works by means
+of <emphasis>locales</emphasis>.</para>
<note><para>If you are not running the test suites here in this chapter as per
our recommendation, there is little point in installing the locales now. We'll
@@ -177,9 +186,8 @@ localedef -i ja_JP -f EUC-JP ja_JP</userinput></screen>
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para>
+<sect2><title> </title><para> </para>
<para>The details on this package are found in <xref linkend="contents-glibc"/>.</para>
-<para>&nbsp;</para></sect2>
+<para> </para></sect2>
</sect1>
-
diff --git a/chapter05/grep.xml b/chapter05/grep.xml
index c40e7ed84..7e70d0e13 100644
--- a/chapter05/grep.xml
+++ b/chapter05/grep.xml
@@ -1,14 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-grep">
-<title>Installing Grep-&grep-version;</title>
-<?dbhtml filename="grep.html" dir="chapter05"?>
+<title>Grep-&grep-version;</title>
+<?dbhtml filename="grep.html"?>
-<screen>&buildtime; &grep-time-tools;
-&diskspace; &grep-compsize-tools;</screen>
+<indexterm zone="ch-tools-grep">
+<primary sortas="a-Grep">Grep</primary>
+<secondary>tools</secondary></indexterm>
-&aa-grep-down;
-&aa-grep-dep;
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/grep.xml" xpointer="xpointer(/sect1/para[1])"/>
+
+<screen>&buildtime; 0.1 SBU
+&diskspace; 5.8 MB</screen>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/grep.xml" xpointer="xpointer(/sect1/para[2])"/>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Grep</title>
@@ -16,7 +25,7 @@
<para>Prepare Grep for compilation:</para>
<screen><userinput>./configure --prefix=/tools \
-&nbsp;&nbsp;&nbsp;&nbsp;--disable-perl-regexp --with-included-regex</userinput></screen>
+ --disable-perl-regexp --with-included-regex</userinput></screen>
<para>The meaning of the configure options:</para>
@@ -43,9 +52,8 @@ use the code from Glibc, which is known to be slightly buggy.</para></listitem>
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para>
+<sect2><title> </title><para> </para>
<para>The details on this package are found in <xref linkend="contents-grep"/>.</para>
-<para>&nbsp;</para></sect2>
+<para> </para></sect2>
</sect1>
-
diff --git a/chapter05/gzip.xml b/chapter05/gzip.xml
index d6020d294..3618e3de4 100644
--- a/chapter05/gzip.xml
+++ b/chapter05/gzip.xml
@@ -1,14 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-gzip">
-<title>Installing Gzip-&gzip-version;</title>
-<?dbhtml filename="gzip.html" dir="chapter05"?>
+<title>Gzip-&gzip-version;</title>
+<?dbhtml filename="gzip.html"?>
-<screen>&buildtime; &gzip-time-tools;
-&diskspace; &gzip-compsize-tools;</screen>
+<indexterm zone="ch-tools-gzip">
+<primary sortas="a-Gzip">Gzip</primary>
+<secondary>tools</secondary></indexterm>
-&aa-gzip-down;
-&aa-gzip-dep;
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gzip.xml" xpointer="xpointer(/sect1/para[1])"/>
+
+<screen>&buildtime; 0.1 SBU
+&diskspace; 2.6 MB</screen>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gzip.xml" xpointer="xpointer(/sect1/para[2])"/>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Gzip</title>
@@ -27,9 +36,8 @@
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para>
+<sect2><title> </title><para> </para>
<para>The details on this package are found in <xref linkend="contents-gzip"/>.</para>
-<para>&nbsp;</para></sect2>
+<para> </para></sect2>
</sect1>
-
diff --git a/chapter05/introduction.xml b/chapter05/introduction.xml
new file mode 100644
index 000000000..78c883ecd
--- /dev/null
+++ b/chapter05/introduction.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-tools-introduction">
+<title>Introduction</title>
+<?dbhtml filename="introduction.html"?>
+
+<para>In this chapter we will compile and install a minimal
+Linux system. This system will contain just enough tools to be able
+to start constructing the final LFS system in the next chapter and allow
+a working environment with a little more user convenience than a minimum
+environment.</para>
+
+<para>The building of this minimal system is done in two steps: first we
+build a brand-new and host-independent toolchain (compiler, assembler,
+linker, libraries, and a few useful utilities), and then use this to build all the other essential
+tools.</para>
+
+<para>The files compiled in this chapter will be installed under the
+<filename class="directory">$LFS/tools</filename> directory
+to keep them separate from the files installed in the next chapter and your host's production directories.
+Since the packages compiled here are merely temporary, we don't want
+them to pollute the soon-to-be LFS system.</para>
+
+<para>Before issuing the build instructions for a package, you are expected to
+have already unpacked it (explained shortly) as user <emphasis>lfs</emphasis>,
+and to have performed a <userinput>cd</userinput> into the created directory.
+The build instructions assume that you are using the <command>bash</command>
+shell.</para>
+
+<para>Several of the packages are patched before compilation, but only when
+the patch is needed to circumvent a problem. Often the patch is needed in
+both this and the next chapter, but sometimes in only one of them. Therefore,
+don't worry when instructions for a downloaded patch seem to be missing. Also,
+when applying a patch, you'll occasionally see warning messages about
+<emphasis>offset</emphasis> or <emphasis>fuzz</emphasis>. These warnings are
+nothing to worry about, as the patch was still successfully applied.</para>
+
+<para>During the compilation of most packages you will see many warnings
+scroll by on your screen. These are normal and can safely be ignored. They are
+just what they say they are: warnings -- mostly about deprecated, but not
+invalid, use of the C or C++ syntax. It's just that C standards have changed
+rather often and some packages still use the older standard, which is not
+really a problem.</para>
+
+<para>After installing each package you should delete its source and build
+directories, <emphasis>unless</emphasis> told otherwise. Deleting the sources
+saves space, but also prevents mis-configuration when the same package is
+reinstalled further on. Only for three packages you will need to keep the
+source and build directories around for a while, so their contents can be used
+by later commands. Do not miss the reminders.</para>
+
+<para>Now first check that your LFS environment variable is set up
+properly:</para>
+
+<screen><userinput>echo $LFS</userinput></screen>
+
+<para>Make sure the output shows the path to your LFS partition's mount
+point, which is <filename class="directory">/mnt/lfs</filename> if you
+followed our example.</para>
+
+</sect1>
diff --git a/chapter05/kernelheaders.xml b/chapter05/kernel-headers.xml
index 48d4bfd1c..e825fe66d 100644
--- a/chapter05/kernelheaders.xml
+++ b/chapter05/kernel-headers.xml
@@ -1,11 +1,19 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-kernel-headers">
-<title>Installing Linux-&kernel-version; headers</title>
-<?dbhtml filename="kernel-headers.html" dir="chapter05"?>
+<title>Linux-&linux-version; headers</title>
+<?dbhtml filename="kernel-headers.html"?>
-<screen>&buildtime; &kernel-time-headers;
-&diskspace; &kernel-compsize-headers;</screen>
+<indexterm zone="ch-tools-kernel-headers">
+<primary sortas="a-Linux">Linux</primary>
+<secondary>tools, headers</secondary></indexterm>
+
+<screen>&buildtime; 0.1 SBU
+&diskspace; 186 MB</screen>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of the kernel headers</title>
@@ -21,7 +29,7 @@ place where <command>gcc</command> can later find them.</para>
<para>This ensures that the kernel tree is absolutely clean. The kernel team
recommends that this command be issued prior to <emphasis>each</emphasis>
kernel compilation. You shouldn't rely on the source tree being clean after
-untarring.</para>
+un-tarring.</para>
<para>Create the <filename>include/linux/version.h</filename> file:</para>
@@ -38,11 +46,10 @@ symlink:</para>
cp include/asm/* /tools/include/asm
cp -R include/asm-generic /tools/include</userinput></screen>
-<para>And finally install the cross-platform kernel header files:</para>
+<para>Finally, install the cross-platform kernel header files:</para>
<screen><userinput>cp -R include/linux /tools/include</userinput></screen>
</sect2>
</sect1>
-
diff --git a/chapter05/make.xml b/chapter05/make.xml
index fb34e27b1..7f6170d7b 100644
--- a/chapter05/make.xml
+++ b/chapter05/make.xml
@@ -1,14 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-make">
-<title>Installing Make-&make-version;</title>
-<?dbhtml filename="make.html" dir="chapter05"?>
+<title>Make-&make-version;</title>
+<?dbhtml filename="make.html"?>
-<screen>&buildtime; &make-time-tools;
-&diskspace; &make-compsize-tools;</screen>
+<indexterm zone="ch-tools-make">
+<primary sortas="a-Make">Make</primary>
+<secondary>tools</secondary></indexterm>
-&aa-make-down;
-&aa-make-dep;
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/make.xml" xpointer="xpointer(/sect1/para[1])"/>
+
+<screen>&buildtime; 0.2 SBU
+&diskspace; 8.8 MB</screen>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/make.xml" xpointer="xpointer(/sect1/para[2])"/>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Make</title>
@@ -30,9 +39,8 @@
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para>
+<sect2><title> </title><para> </para>
<para>The details on this package are found in <xref linkend="contents-make"/>.</para>
-<para>&nbsp;</para></sect2>
+<para> </para></sect2>
</sect1>
-
diff --git a/chapter05/ncurses.xml b/chapter05/ncurses.xml
index e274cc5c2..9ef4117a1 100644
--- a/chapter05/ncurses.xml
+++ b/chapter05/ncurses.xml
@@ -1,14 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-ncurses">
-<title>Installing Ncurses-&ncurses-version;</title>
-<?dbhtml filename="ncurses.html" dir="chapter05"?>
+<title>Ncurses-&ncurses-version;</title>
+<?dbhtml filename="ncurses.html"?>
-<screen>&buildtime; &ncurses-time-tools;
-&diskspace; &ncurses-compsize-tools;</screen>
+<indexterm zone="ch-tools-ncurses">
+<primary sortas="a-Ncurses">Ncurses</primary>
+<secondary>tools</secondary></indexterm>
-&aa-ncurses-down;
-&aa-ncurses-dep;
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/ncurses.xml" xpointer="xpointer(/sect1/para[1])"/>
+
+<screen>&buildtime; 0.7 SBU
+&diskspace; 26 MB</screen>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/ncurses.xml" xpointer="xpointer(/sect1/para[2])"/>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Ncurses</title>
@@ -16,7 +25,7 @@
<para>Prepare Ncurses for compilation:</para>
<screen><userinput>./configure --prefix=/tools --with-shared \
-&nbsp;&nbsp;&nbsp;&nbsp;--without-debug --without-ada --enable-overwrite</userinput></screen>
+ --without-debug --without-ada --enable-overwrite</userinput></screen>
<para>The meaning of the configure options:</para>
@@ -42,9 +51,8 @@ ensure that other packages can find the Ncurses headers successfully.</para>
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para>
+<sect2><title> </title><para> </para>
<para>The details on this package are found in <xref linkend="contents-ncurses"/>.</para>
-<para>&nbsp;</para></sect2>
+<para> </para></sect2>
</sect1>
-
diff --git a/chapter05/patch.xml b/chapter05/patch.xml
index 67ce2da5c..1cf788bff 100644
--- a/chapter05/patch.xml
+++ b/chapter05/patch.xml
@@ -1,19 +1,28 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-patch">
-<title>Installing Patch-&patch-version;</title>
-<?dbhtml filename="patch.html" dir="chapter05"?>
+<title>Patch-&patch-version;</title>
+<?dbhtml filename="patch.html"?>
-<screen>&buildtime; &patch-time-tools;
-&diskspace; &patch-compsize-tools;</screen>
+<indexterm zone="ch-tools-patch">
+<primary sortas="a-Patch">Patch</primary>
+<secondary>tools</secondary></indexterm>
-&aa-patch-down;
-&aa-patch-dep;
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/patch.xml" xpointer="xpointer(/sect1/para[1])"/>
+
+<screen>&buildtime; 0.1 SBU
+&diskspace; 1.9 MB</screen>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/patch.xml" xpointer="xpointer(/sect1/para[2])"/>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Patch</title>
-<para>Prepare Patch for compilation (setting the preprocessor flags to
+<para>Prepare Patch for compilation (the preprocessor flag
<emphasis>-D_GNU_SOURCE</emphasis> is only needed on the PowerPC platform, on
other architectures you can leave it out):</para>
@@ -29,9 +38,8 @@ other architectures you can leave it out):</para>
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para>
+<sect2><title> </title><para> </para>
<para>The details on this package are found in <xref linkend="contents-patch"/>.</para>
-<para>&nbsp;</para></sect2>
+<para> </para></sect2>
</sect1>
-
diff --git a/chapter05/perl.xml b/chapter05/perl.xml
index d6633ce75..556bb66ea 100644
--- a/chapter05/perl.xml
+++ b/chapter05/perl.xml
@@ -1,21 +1,30 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-perl">
-<title>Installing Perl-&perl-version;</title>
-<?dbhtml filename="perl.html" dir="chapter05"?>
+<title>Perl-&perl-version;</title>
+<?dbhtml filename="perl.html"?>
-<screen>&buildtime; &perl-time-tools;
-&diskspace; &perl-compsize-tools;</screen>
+<indexterm zone="ch-tools-perl">
+<primary sortas="a-Perl">Perl</primary>
+<secondary>tools</secondary></indexterm>
-&aa-perl-down;
-&aa-perl-dep;
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/perl.xml" xpointer="xpointer(/sect1/para[1])"/>
+
+<screen>&buildtime; 0.8 SBU
+&diskspace; 74 MB</screen>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/perl.xml" xpointer="xpointer(/sect1/para[2])"/>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Perl</title>
<para>First adapt some hard-wired paths to the C library:</para>
-<screen><userinput>patch -Np1 -i ../&perl-libc-patch;</userinput></screen>
+<screen><userinput>patch -Np1 -i ../perl-&perl-version;-libc-1.patch</userinput></screen>
<para>Perl insists on using the <command>arch</command> program to find out
the machine type. Create a little script to mimic this command:</para>
@@ -23,17 +32,17 @@ the machine type. Create a little script to mimic this command:</para>
<screen><userinput>echo "uname -m" &gt; /tools/bin/arch
chmod 755 /tools/bin/arch</userinput></screen>
-<para>Now prepare Perl for compilation (make sure you get the 'IO Fcntl'
+<para>Now prepare Perl for compilation (make sure you get the 'IO Fcntl POSIX'
right, they are all letters):</para>
-<screen><userinput>./configure.gnu --prefix=/tools -Dstatic_ext='IO Fcntl'</userinput></screen>
+<screen><userinput>./configure.gnu --prefix=/tools -Dstatic_ext='IO Fcntl POSIX'</userinput></screen>
<para>The meaning of the configure option:</para>
<itemizedlist>
-<listitem><para><userinput>-Dstatic_ext='IO Fcntl'</userinput>: This tells
-Perl to build the minimum set of static extensions needed for running the
-Coreutils test suite in the next chapter.</para></listitem>
+<listitem><para><userinput>-Dstatic_ext='IO Fcntl POSIX'</userinput>: This tells
+Perl to build the minimum set of static extensions needed for installing and
+testing the Coreutils package in the next chapter.</para></listitem>
</itemizedlist>
<para>Compile only the required tools:</para>
@@ -48,9 +57,8 @@ cp -R lib/* /tools/lib/perl5/&perl-version;</userinput></screen>
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para>
+<sect2><title> </title><para> </para>
<para>The details on this package are found in <xref linkend="contents-perl"/>.</para>
-<para>&nbsp;</para></sect2>
+<para> </para></sect2>
</sect1>
-
diff --git a/chapter05/sed.xml b/chapter05/sed.xml
index 0102760da..215ed3f94 100644
--- a/chapter05/sed.xml
+++ b/chapter05/sed.xml
@@ -1,14 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-sed">
-<title>Installing Sed-&sed-version;</title>
-<?dbhtml filename="sed.html" dir="chapter05"?>
+<title>Sed-&sed-version;</title>
+<?dbhtml filename="sed.html"?>
-<screen>&buildtime; &sed-time-tools;
-&diskspace; &sed-compsize-tools;</screen>
+<indexterm zone="ch-tools-sed">
+<primary sortas="a-Sed">Sed</primary>
+<secondary>tools</secondary></indexterm>
-&aa-sed-down;
-&aa-sed-dep;
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/sed.xml" xpointer="xpointer(/sect1/para[1])"/>
+
+<screen>&buildtime; 0.2 SBU
+&diskspace; 5.2 MB</screen>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/sed.xml" xpointer="xpointer(/sect1/para[2])"/>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Sed</title>
@@ -30,9 +39,8 @@
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para>
+<sect2><title> </title><para> </para>
<para>The details on this package are found in <xref linkend="contents-sed"/>.</para>
-<para>&nbsp;</para></sect2>
+<para> </para></sect2>
</sect1>
-
diff --git a/chapter05/stripping.xml b/chapter05/stripping.xml
new file mode 100644
index 000000000..d5fbd8280
--- /dev/null
+++ b/chapter05/stripping.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-tools-stripping">
+<title>Stripping</title>
+<?dbhtml filename="stripping.html"?>
+
+<para>The steps in this section are optional, but if your LFS partition is
+rather small, you will be glad to learn that you can remove some unnecessary
+things. The executables and libraries you have built so far contain about 130
+MB of unneeded debugging symbols. Remove those symbols with:</para>
+
+<screen><userinput>strip --strip-debug /tools/lib/*
+strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
+
+<para>The last of the above commands will skip some twenty files, reporting
+that it doesn't recognize their file format. Most of them are scripts instead
+of binaries.</para>
+
+<para>Take care <emphasis>not</emphasis> to use
+<emphasis>--strip-unneeded</emphasis> on the libraries -- the static ones
+would be destroyed and you would have to build the three toolchain packages
+all over again.</para>
+
+<para>To save another 30 MB, you can remove all the documentation:</para>
+
+<screen><userinput>rm -rf /tools/{doc,info,man}</userinput></screen>
+
+<para>You will now need to have at least 850 MB of free space on your LFS
+file system to be able to build and install Glibc in the next phase. If you can
+build and install Glibc, you can build and install the rest too.</para>
+
+</sect1>
diff --git a/chapter05/tar.xml b/chapter05/tar.xml
index 384a73d06..6368b2a73 100644
--- a/chapter05/tar.xml
+++ b/chapter05/tar.xml
@@ -1,14 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-tar">
-<title>Installing Tar-&tar-version;</title>
-<?dbhtml filename="tar.html" dir="chapter05"?>
+<title>Tar-&tar-version;</title>
+<?dbhtml filename="tar.html"?>
-<screen>&buildtime; &tar-time-tools;
-&diskspace; &tar-compsize-tools;</screen>
+<indexterm zone="ch-tools-tar">
+<primary sortas="a-Tar">Tar</primary>
+<secondary>tools</secondary></indexterm>
-&aa-tar-down;
-&aa-tar-dep;
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/tar.xml" xpointer="xpointer(/sect1/para[1])"/>
+
+<screen>&buildtime; 0.2 SBU
+&diskspace; 10 MB</screen>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/tar.xml" xpointer="xpointer(/sect1/para[2])"/>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Tar</title>
@@ -30,9 +39,8 @@
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para>
+<sect2><title> </title><para> </para>
<para>The details on this package are found in <xref linkend="contents-tar"/>.</para>
-<para>&nbsp;</para></sect2>
+<para> </para></sect2>
</sect1>
-
diff --git a/chapter05/tcl.xml b/chapter05/tcl.xml
index e8b066b93..4322835e7 100644
--- a/chapter05/tcl.xml
+++ b/chapter05/tcl.xml
@@ -1,26 +1,33 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-tcl" xreflabel="Tcl">
-<title>Installing Tcl-&tcl-version;</title>
-<?dbhtml filename="tcl.html" dir="chapter05"?>
+<title>Tcl-&tcl-version;</title>
+<?dbhtml filename="tcl.html"?>
+
+<indexterm zone="ch-tools-tcl"><primary sortas="a-Tcl">Tcl</primary></indexterm>
<para>The Tcl package contains the Tool Command Language.</para>
-<screen>&buildtime; &tcl-time-tools;
-&diskspace; &tcl-compsize-tools;</screen>
+<screen>&buildtime; 0.9 SBU
+&diskspace; 23 MB</screen>
+
+<para>Tcl installation depends on: Bash, Binutils, Coreutils, Diffutils,
+GCC, Glibc, Grep, Make, Sed.</para>
-&aa-tcl-down;
-&aa-tcl-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Tcl</title>
-<para>This package and the next two are only installed to be able to run the
+<para>This package and the next two are only installed to support running the
test suites for GCC and Binutils. Installing three packages just for testing
purposes may seem like overkill, but it is very reassuring, if not essential,
-to know that our most important tools are working properly. Even if you are
-not running the test suites here in this chapter as per our recommendation,
-these packages are still required for running the test suites in the next
+to know that our most important tools are working properly. Even if the
+the test suites are not run in this chapter (we recommend not running them),
+these packages are still required to run the test suites in the next
chapter.</para>
<para>Prepare Tcl for compilation:</para>
@@ -32,7 +39,7 @@ chapter.</para>
<screen><userinput>make</userinput></screen>
-<para>(If you insist on testing the results, then issue:
+<para>If you want to test the results, then issue:
<userinput>TZ=UTC make test</userinput>. However, the Tcl test suite is known
to experience failures under certain host conditions that are not fully
understood. Therefore, test suite failures here are not surprising, and are not
@@ -40,30 +47,44 @@ considered critical. The <emphasis>TZ=UTC</emphasis> parameter sets the time
zone to Coordinated Universal Time (UTC) also known as Greenwich Mean Time
(GMT), but only for the duration of the test suite run. This ensures the clock
tests are exercised correctly. More information on the TZ environment variable
-will be given later on in <xref linkend="chapter-bootscripts"/>.)</para>
+will be given later on in <xref linkend="chapter-bootscripts"/>.</para>
<para>Install the package:</para>
<screen><userinput>make install</userinput></screen>
-<!-- HACK - Force some whitespace to appease tidy -->
-<literallayout></literallayout>
<warning><para><emphasis>Do not remove</emphasis> the
<filename>tcl&tcl-version;</filename> source directory yet, as the next package
will need its internal headers.</para></warning>
-<!-- HACK - Force some whitespace to appease tidy -->
-<literallayout></literallayout>
-<para>And make a necessary symbolic link:</para>
+<para>Now make a necessary symbolic link:</para>
<screen><userinput>ln -s tclsh8.4 /tools/bin/tclsh</userinput></screen>
</sect2>
-&aa-tcl-shortdesc;
-&aa-tcl-desc;
-</sect1>
+<sect2 id="contents-tcl"><title>Contents of Tcl</title>
+
+<para><emphasis>Installed programs</emphasis>: tclsh (link to tclsh8.4),
+tclsh8.4</para>
+
+<para><emphasis>Installed library</emphasis>: libtcl8.4.so</para>
+
+</sect2>
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-tools-tcl tclsh8.4"><primary sortas="b-tclsh8.4">tclsh8.4</primary></indexterm>
+<para id="tclsh8.4"><command>tclsh8.4</command> is the Tcl command shell.</para>
+
+<indexterm zone="ch-tools-tcl libtcl8.4.so"><primary sortas="c-libtcl8.4.so">libtcl8.4.so</primary></indexterm>
+<para id="libtcl8.4.so"><command>libtcl8.4.so</command> is the Tcl library.</para>
+
+</sect2>
+
+
+</sect1>
diff --git a/chapter05/texinfo.xml b/chapter05/texinfo.xml
index eee6e2a55..1243b49e4 100644
--- a/chapter05/texinfo.xml
+++ b/chapter05/texinfo.xml
@@ -1,14 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-tools-texinfo">
-<title>Installing Texinfo-&texinfo-version;</title>
-<?dbhtml filename="texinfo.html" dir="chapter05"?>
+<title>Texinfo-&texinfo-version;</title>
+<?dbhtml filename="texinfo.html"?>
-<screen>&buildtime; &texinfo-time-tools;
-&diskspace; &texinfo-compsize-tools;</screen>
+<indexterm zone="ch-tools-texinfo">
+<primary sortas="a-Texinfo">Texinfo</primary>
+<secondary>tools</secondary></indexterm>
-&aa-texinfo-down;
-&aa-texinfo-dep;
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/texinfo.xml" xpointer="xpointer(/sect1/para[1])"/>
+
+<screen>&buildtime; 0.2 SBU
+&diskspace; 16 MB</screen>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/texinfo.xml" xpointer="xpointer(/sect1/para[2])"/>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Texinfo</title>
@@ -30,9 +39,8 @@
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para>
+<sect2><title> </title><para> </para>
<para>The details on this package are found in <xref linkend="contents-texinfo"/>.</para>
-<para>&nbsp;</para></sect2>
+<para> </para></sect2>
</sect1>
-
diff --git a/chapter05/toolchaintechnotes.xml b/chapter05/toolchaintechnotes.xml
new file mode 100644
index 000000000..d9ea431d6
--- /dev/null
+++ b/chapter05/toolchaintechnotes.xml
@@ -0,0 +1,203 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-tools-toolchaintechnotes">
+<title>Toolchain technical notes</title>
+<?dbhtml filename="toolchaintechnotes.html"?>
+
+<para>This section attempts to explain some of the rationale and technical
+details behind the overall build method. It's not essential that you understand
+everything here immediately. Most of it will make sense once you have performed
+an actual build. Feel free to refer back here at any time.</para>
+
+<para>The overall goal of <xref linkend="chapter-temporary-tools"/> is to provide a sane,
+temporary environment that we can chroot into, and from which we can produce a
+clean, trouble-free build of the target LFS system in
+<xref linkend="chapter-building-system"/>. Along the way, we attempt to divorce ourselves
+from the host system as much as possible, and in so doing build a
+self-contained and self-hosted toolchain. It should be noted that the
+build process has been designed to minimize the risks for
+new readers and provide maximum educational value at the same time. In other
+words, more advanced techniques could be used to build the system.</para>
+
+<important>
+<para>Before continuing, you really should be aware of the name of your working
+platform, often also referred to as the <emphasis>target triplet</emphasis>. For
+many folks the target triplet will probably be
+<emphasis>i686-pc-linux-gnu</emphasis>. A simple way to determine your target
+triplet is to run the <filename>config.guess</filename> script that comes with
+the source for many packages. Unpack the Binutils sources and run the script:
+<userinput>./config.guess</userinput> and note the output.</para>
+
+<para>You'll also need to be aware of the name of your platform's
+<emphasis>dynamic linker</emphasis>, often also referred to as the
+<emphasis>dynamic loader</emphasis>, not to be confused with the standard linker
+<emphasis>ld</emphasis> that is part of Binutils. The dynamic linker is provided
+by Glibc and has the job of finding and loading the shared libraries needed by a
+program, preparing the program to run and then running it. For most folks the
+name of the dynamic linker will be <emphasis>ld-linux.so.2</emphasis>. On
+platforms that are less prevalent, the name might be
+<emphasis>ld.so.1</emphasis> and newer 64 bit platforms might even have
+something completely different. You should be able to determine the name
+of your platform's dynamic linker by looking in the
+<filename class="directory">/lib</filename> directory on your host system. A
+sure-fire way is to inspect a random binary from your host system by running:
+<userinput>readelf -l &lt;name of binary&gt; | grep interpreter</userinput>
+and noting the output. The authoritative reference covering all platforms is in
+the <filename>shlib-versions</filename> file in the root of the Glibc source
+tree.</para>
+</important>
+
+<para>Some key technical points of how the <xref linkend="chapter-temporary-tools"/> build
+method works:</para>
+
+<itemizedlist>
+<listitem><para>Similar in principle to cross compiling whereby tools installed
+into the same prefix work in cooperation and thus utilize a little GNU
+<quote>magic</quote>.</para></listitem>
+
+<listitem><para>Careful manipulation of the standard linker's library search
+path to ensure programs are linked only against libraries we
+choose.</para></listitem>
+
+<listitem><para>Careful manipulation of <command>gcc</command>'s
+<emphasis>specs</emphasis> file to tell the compiler which target dynamic
+linker will be used.</para></listitem>
+</itemizedlist>
+
+<para>Binutils is installed first because the <command>./configure</command> runs of both GCC and Glibc perform various
+feature tests on the assembler and linker
+to determine which software features to enable
+or disable. This is more important than one might first realize. An incorrectly
+configured GCC or Glibc can result in a subtly broken toolchain where the impact
+of such breakage might not show up until near the end of the build of a whole
+distribution. Thankfully, a test suite failure will usually alert us before too
+much time is wasted.</para>
+
+<para>Binutils installs its assembler and linker into two locations,
+<filename class="directory">/tools/bin</filename> and
+<filename class="directory">/tools/$TARGET_TRIPLET/bin</filename>. In reality,
+the tools in one location are hard linked to the other. An important facet of
+the linker is its library search order. Detailed information can be obtained
+from <command>ld</command> by passing it the <emphasis>--verbose</emphasis>
+flag. For example: <command>ld --verbose | grep SEARCH</command> will
+show you the current search paths and their order. You can see what files are
+actually linked by <command>ld</command> by compiling a dummy program and
+passing the <emphasis>--verbose</emphasis> switch to the linker. For example:
+<command>gcc dummy.c -Wl,--verbose 2&gt;&amp;1 | grep succeeded</command>
+will show you all the files successfully opened during the linking.</para>
+
+<para>The next package installed is GCC and during its run of
+<command>./configure</command> you'll see, for example:</para>
+
+<blockquote><screen>checking what assembler to use... /tools/i686-pc-linux-gnu/bin/as
+checking what linker to use... /tools/i686-pc-linux-gnu/bin/ld</screen></blockquote>
+
+<para>This is important for the reasons mentioned above. It also demonstrates
+that GCC's configure script does not search the PATH directories to find which
+tools to use. However, during the actual operation of <command>gcc</command>
+itself, the same search paths are not necessarily used. You can find out which
+standard linker <command>gcc</command> will use by running:
+<command>gcc -print-prog-name=ld</command>.
+Detailed information can be obtained from <command>gcc</command> by passing
+it the <emphasis>-v</emphasis> flag while compiling a dummy program. For
+example: <command>gcc -v dummy.c</command> will show you detailed
+information about the preprocessor, compilation and assembly stages, including
+<command>gcc</command>'s include search paths and their order.</para>
+
+<para>The next package installed is Glibc. The most important considerations for
+building Glibc are the compiler, binary tools and kernel headers. The compiler
+is generally no problem as Glibc will always use the <command>gcc</command>
+found in a PATH directory. The binary tools and kernel headers can be a little
+more troublesome. Therefore we take no risks and use the available configure
+switches to enforce the correct selections. After the run of
+<command>./configure</command> you can check the contents of the
+<filename>config.make</filename> file in the
+<filename class="directory">glibc-build</filename> directory for all the
+important details. You'll note some interesting items like the use of
+<emphasis>CC="gcc -B/tools/bin/"</emphasis> to control which binary tools are
+used, and also the use of the <emphasis>-nostdinc</emphasis> and
+<emphasis>-isystem</emphasis> flags to control the compiler's include search
+path. These items help to highlight an important aspect of the Glibc package:
+it is very self-sufficient in terms of its build machinery and generally does
+not rely on toolchain defaults.</para>
+
+<para>After the Glibc installation, we make some adjustments to ensure that
+searching and linking take place only within our <filename>/tools</filename>
+prefix. We install an adjusted <command>ld</command>, which has a hard-wired
+search path limited to <filename class="directory">/tools/lib</filename>. Then
+we amend <command>gcc</command>'s specs file to point to our new dynamic
+linker in <filename class="directory">/tools/lib</filename>. This last step is
+<emphasis>vital</emphasis> to the whole process. As mentioned above, a
+hard-wired path to a dynamic linker is embedded into every ELF shared
+executable. You can inspect this by running:
+<command>readelf -l &lt;name of binary&gt; | grep interpreter</command>.
+By amending <command>gcc</command>'s specs file, we are ensuring that every
+program compiled from here through the end of this chapter will use our new
+dynamic linker in <filename class="directory">/tools/lib</filename>.</para>
+
+<para>The need to use the new dynamic linker is also the reason why we apply the
+Specs patch for the second pass of GCC. Failure to do so will result in the GCC
+programs themselves having the name of the dynamic linker from the host system's
+<filename class="directory">/lib</filename> directory embedded into them, which
+would defeat our goal of getting away from the host.</para>
+
+<para>During the second pass of Binutils, we are able to utilize the
+<emphasis>--with-lib-path</emphasis> configure switch to control
+<command>ld</command>'s library search path. From this point onwards, the
+core toolchain is self-contained and self-hosted. The remainder of the
+<xref linkend="chapter-temporary-tools"/> packages all build against the new Glibc in
+<filename class="directory">/tools</filename> and all is well.</para>
+
+<para>Upon entering the chroot environment in <xref linkend="chapter-building-system"/>, the
+first major package we install is Glibc, due to its self-sufficient nature that
+we mentioned above. Once this Glibc is installed into
+<filename class="directory">/usr</filename>, we perform a quick changeover of
+the toolchain defaults, then proceed for real in building the rest of the
+target LFS system.</para>
+
+<sect2>
+<title>Notes on static linking</title>
+
+<para>Most programs have to perform, beside their specific task, many rather
+common and sometimes trivial operations. These include allocating memory,
+searching directories, reading and writing files, string handling, pattern
+matching, arithmetic and many other tasks. Instead of obliging each program to
+reinvent the wheel, the GNU system provides all these basic functions in
+ready-made libraries. The major library on any Linux system is
+<emphasis>Glibc</emphasis>.</para>
+
+<para>There are two primary ways of linking the functions from a library to a
+program that uses them: statically or dynamically. When a program is linked
+statically, the code of the used functions is included in the executable,
+resulting in a rather bulky program. When a program is dynamically linked, what
+is included is a reference to the dynamic linker, the name of the library, and
+the name of the function, resulting in a much smaller executable. (A third way
+is to use the programming interface of the dynamic linker. See the
+<emphasis>dlopen</emphasis> man page for more information.)</para>
+
+<para>Dynamic linking is the default on Linux and has three major advantages
+over static linking. First, you need only one copy of the executable library
+code on your hard disk, instead of having many copies of the same code included
+into a whole bunch of programs -- thus saving disk space. Second, when several
+programs use the same library function at the same time, only one copy of the
+function's code is required in core -- thus saving memory space. Third, when a
+library function gets a bug fixed or is otherwise improved, you only need to
+recompile this one library, instead of having to recompile all the programs that
+make use of the improved function.</para>
+
+<para>If dynamic linking has several advantages, why then do we statically link
+the first two packages in this chapter? The reasons are threefold: historical,
+educational, and technical. Historical, because earlier versions of LFS
+statically linked every program in this chapter. Educational, because knowing
+the difference is useful. Technical, because we gain an element of independence
+from the host in doing so, meaning that those programs can be used
+independently of the host system. However, it's worth noting that an overall
+successful LFS build can still be achieved when the first two packages are
+built dynamically.</para>
+
+</sect2>
+
+</sect1>
diff --git a/chapter05/util-linux.xml b/chapter05/util-linux.xml
new file mode 100644
index 000000000..d5007d79a
--- /dev/null
+++ b/chapter05/util-linux.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-tools-util-linux">
+<title>Util-linux-&util-linux-version;</title>
+<?dbhtml filename="util-linux.html"?>
+
+<indexterm zone="ch-tools-util-linux">
+<primary sortas="a-Util-linux">Util-linux</primary>
+<secondary>tools</secondary></indexterm>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/util-linux.xml" xpointer="xpointer(/sect1/para[1])"/>
+
+<screen>&buildtime; 0.2 SBU
+&diskspace; 16 MB</screen>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/util-linux.xml" xpointer="xpointer(/sect1/para[2])"/>
+
+
+<sect2>
+<title>Installation of Util-linux</title>
+
+<para>Util-linux doesn't use the freshly installed headers and libraries
+from the /tools directory. This is fixed by altering the configure
+script:</para>
+
+<screen><userinput>cp configure configure.backup
+sed "s@/usr/include@/tools/include@g" configure.backup > configure</userinput></screen>
+
+<para>Prepare Util-linux for compilation:</para>
+
+<screen><userinput>./configure</userinput></screen>
+
+<para>Compile some support routines:</para>
+
+<screen><userinput>make -C lib</userinput></screen>
+
+<para>Since you'll only need a couple of the utilities contained in
+this package, build just those:</para>
+
+<screen><userinput>make -C mount mount umount
+make -C text-utils more</userinput></screen>
+
+<para>Now copy these programs to the temporary tools directory:</para>
+
+<screen><userinput>cp mount/{,u}mount text-utils/more /tools/bin</userinput></screen>
+
+</sect2>
+
+<sect2><title> </title><para> </para>
+<para>The details on this package are found in <xref linkend="contents-utillinux"/>.</para>
+<para> </para></sect2>
+</sect1>
diff --git a/chapter06/aboutdebug.xml b/chapter06/aboutdebug.xml
new file mode 100644
index 000000000..32798c78b
--- /dev/null
+++ b/chapter06/aboutdebug.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-system-aboutdebug">
+<title>About debugging symbols</title>
+<?dbhtml filename="aboutdebug.html"?>
+
+<para>Most programs and libraries are, by default, compiled with debugging
+symbols included (with <command>gcc</command>'s <emphasis>-g</emphasis>
+option). This means that, when debugging a program or library that was compiled
+with debugging information included, the debugger can give you not only memory
+addresses but also the names of the routines and variables.</para>
+
+<para>The inclusion of these debugging symbols, however, enlarges a program or
+library significantly. To get an idea of the amount of space these symbols
+occupy, have a look at the following:</para>
+
+<itemizedlist>
+
+<listitem><para>a bash binary
+with debugging symbols: 1200 KB</para></listitem>
+
+<listitem><para>a bash binary
+without debugging symbols: 480 KB</para></listitem>
+
+<listitem><para>Glibc and GCC files (/lib and /usr/lib)
+with debugging symbols: 87 MB</para></listitem>
+
+<listitem><para>Glibc and GCC files
+without debugging symbols: 16 MB</para></listitem>
+
+</itemizedlist>
+
+<para>Sizes may vary somewhat, depending on which compiler was used and which C
+library, but when comparing programs with and without debugging symbols the
+difference will generally be a factor between 2 and 5.</para>
+
+<para>As most people will probably never use a debugger on their system
+software, a lot of disk space can be regained by removing these symbols. For
+your convenience, the next section shows how to strip all debugging symbols
+from all programs and libraries. Information on other ways of optimizing your
+system can be found in the hint at <ulink url="&hints-root;optimization.txt"/>.</para>
+
+</sect1>
diff --git a/chapter06/autoconf.xml b/chapter06/autoconf.xml
index 7401d1ab3..07b6b5cbe 100644
--- a/chapter06/autoconf.xml
+++ b/chapter06/autoconf.xml
@@ -1,17 +1,24 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-autoconf" xreflabel="Autoconf">
-<title>Installing Autoconf-&autoconf-version;</title>
-<?dbhtml filename="autoconf.html" dir="chapter06"?>
+<title>Autoconf-&autoconf-version;</title>
+<?dbhtml filename="autoconf.html"?>
+
+<indexterm zone="ch-system-autoconf"><primary sortas="a-Autoconf">Autoconf</primary></indexterm>
<para>The Autoconf package contains programs for producing shell scripts that
can automatically configure source code.</para>
-<screen>&buildtime; &autoconf-time;
-&diskspace; &autoconf-compsize;</screen>
+<screen>&buildtime; 0.5 SBU
+&diskspace; 7.7 MB</screen>
+
+<para>Autoconf installation depends on: Bash, Coreutils, Diffutils, Grep,
+M4, Make, Perl, Sed.</para>
-&aa-autoconf-down;
-&aa-autoconf-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Autoconf</title>
@@ -23,17 +30,68 @@ can automatically configure source code.</para>
<screen><userinput>make</userinput></screen>
-<para>To have the results tested, issue:
+<para>To test the results, issue:
<userinput>make check</userinput>. This takes a long time, about 2 SBUs.</para>
-<para>And install the package:</para>
+<para>Install the package:</para>
<screen><userinput>make install</userinput></screen>
</sect2>
-&aa-autoconf-shortdesc;
-&aa-autoconf-desc;
-</sect1>
+<sect2 id="contents-autoconf"><title>Contents of Autoconf</title>
+
+<para><emphasis>Installed programs</emphasis>: autoconf, autoheader, autom4te,
+autoreconf, autoscan, autoupdate and ifnames</para>
+
+</sect2>
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-autoconf autoconf"><primary sortas="b-autoconf">autoconf</primary></indexterm>
+<para id="autoconf"><command>autoconf</command> is a tool for producing shell scripts
+that automatically configure software source code packages to adapt to many
+kinds of Unix-like systems. The configuration scripts it produces are
+independent -- running them does not require the autoconf program.</para>
+
+<indexterm zone="ch-system-autoconf autoheader"><primary sortas="b-autoheader">autoheader</primary></indexterm>
+<para id="autoheader"><command>autoheader</command> is a tool for creating template files
+of C #define statements for configure to use.</para>
+
+<indexterm zone="ch-system-autoconf autom4te"><primary sortas="b-autom4te">autom4te</primary></indexterm>
+<para id="autom4te"><command>autom4te</command> is a wrapper for the M4 macro
+processor.</para>
+<indexterm zone="ch-system-autoconf autoreconf"><primary sortas="b-autoreconf">autoreconf</primary></indexterm>
+<para id="autoreconf"><command>autoreconf</command> comes in handy when there are a lot
+of autoconf-generated configure scripts around. The program runs autoconf and
+autoheader repeatedly (where appropriate) to remake the autoconf configure
+scripts and configuration header templates in a given directory tree.</para>
+
+<indexterm zone="ch-system-autoconf autoscan"><primary sortas="b-autoscan">autoscan</primary></indexterm>
+<para id="autoscan"><command>autoscan</command> can help to create a
+<filename>configure.in</filename> file for a software package. It examines
+the source files in a directory tree, searching them for common portability
+problems and creates a <filename>configure.scan</filename> file that serves as
+as a preliminary <filename>configure.in</filename> for the package.</para>
+
+<indexterm zone="ch-system-autoconf autoupdate"><primary sortas="b-autoupdate">autoupdate</primary></indexterm>
+<para id="autoupdate"><command>autoupdate</command> modifies a
+<filename>configure.in</filename> file that still calls autoconf macros
+by their old names to use the current macro names.</para>
+
+<indexterm zone="ch-system-autoconf ifnames"><primary sortas="b-ifnames">ifnames</primary></indexterm>
+<para id="ifnames"><command>ifnames</command> can be helpful when writing a
+<filename>configure.in</filename> for a software package. It prints the
+identifiers that the package uses in C preprocessor conditionals. If a package
+has already been set up to have some portability, this program can help to
+determine what <command>configure</command> needs to check. It can fill
+in some gaps in a <filename>configure.in</filename> file generated by
+autoscan.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/automake.xml b/chapter06/automake.xml
index 05fd9fe3a..e2e492719 100644
--- a/chapter06/automake.xml
+++ b/chapter06/automake.xml
@@ -1,17 +1,24 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-automake" xreflabel="Automake">
-<title>Installing Automake-&automake-version;</title>
-<?dbhtml filename="automake.html" dir="chapter06"?>
+<title>Automake-&automake-version;</title>
+<?dbhtml filename="automake.html"?>
+
+<indexterm zone="ch-system-automake"><primary sortas="a-Automake">Automake</primary></indexterm>
<para>The Automake package contains programs for generating Makefiles for use
with Autoconf.</para>
-<screen>&buildtime; &automake-time;
-&diskspace; &automake-compsize;</screen>
+<screen>&buildtime; 0.2 SBU
+&diskspace; 6.8 MB</screen>
+
+<para>Automake installation depends on: Autoconf, Bash, Coreutils,
+Diffutils, Grep, M4, Make, Perl, Sed.</para>
-&aa-automake-down;
-&aa-automake-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Automake</title>
@@ -24,7 +31,7 @@ with Autoconf.</para>
<screen><userinput>make</userinput></screen>
-<para>To have the results tested, issue:
+<para>To test the results, issue:
<userinput>make check</userinput>. This takes a long time, about 5 SBUs.</para>
<para>Install the package:</para>
@@ -33,8 +40,82 @@ with Autoconf.</para>
</sect2>
-&aa-automake-shortdesc;
-&aa-automake-desc;
-</sect1>
+<sect2 id="contents-automake"><title>Contents of Automake</title>
+
+<para><emphasis>Installed programs</emphasis>: acinstall, aclocal,
+aclocal-1.8, automake, automake-1.8, compile, config.guess, config.sub,
+depcomp, elisp-comp, install-sh, mdate-sh, missing, mkinstalldirs, py-compile,
+symlink-tree, ylwrap</para>
+
+</sect2>
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-automake acinstall"><primary sortas="b-acinstall">acinstall</primary></indexterm>
+<para id="acinstall"><command>acinstall</command> is a script that installs
+aclocal-style M4 files.</para>
+
+<indexterm zone="ch-system-automake aclocal"><primary sortas="b-aclocal">aclocal</primary></indexterm>
+<para id="aclocal"><command>aclocal</command> generates <filename>aclocal.m4</filename>
+files based on the contents of <filename>configure.in</filename> files.</para>
+
+<indexterm zone="ch-system-automake automake"><primary sortas="b-automake">automake</primary></indexterm>
+<para id="automake"><command>automake</command> is a tool for automatically generating
+<filename>Makefile.in</filename>'s from files called
+<filename>Makefile.am</filename>. To create all the
+<filename>Makefile.in</filename> files for a package, run this program in the
+top-level directory. By scanning the <filename>configure.in</filename>s it
+automatically finds each appropriate <filename>Makefile.am</filename> and
+generate the corresponding <filename>Makefile.in</filename>.</para>
+
+<indexterm zone="ch-system-automake compile"><primary sortas="b-compile">compile</primary></indexterm>
+<para id="compile"><command>compile</command> is a wrapper for compilers.</para>
+
+<indexterm zone="ch-system-automake config.guess"><primary sortas="b-config.guess">config.guess</primary></indexterm>
+<para id="config.guess"><command>config.guess</command> is a script that attempts to guess
+the canonical triplet for the given build, host, or target architecture.</para>
+
+<indexterm zone="ch-system-automake config.su"><primary sortas="b-config.su">config.su</primary></indexterm>
+<para id="config.su"><command>config.sub</command> is a configuration validation
+subroutine script.</para>
+
+<indexterm zone="ch-system-automake depcomp"><primary sortas="b-depcomp">depcomp</primary></indexterm>
+<para id="depcomp"><command>depcomp</command> is a script for compiling a program
+so that not only the desired output is generated, but also dependency
+information.</para>
+<indexterm zone="ch-system-automake elisp-comp"><primary sortas="b-elisp-comp">elisp-comp</primary></indexterm>
+<para id="elisp-comp"><command>elisp-comp</command> byte-compiles Emacs Lisp code.</para>
+
+<indexterm zone="ch-system-automake install-sh"><primary sortas="b-install-sh">install-sh</primary></indexterm>
+<para id="install-sh"><command>install-sh</command> is a script that installs a program,
+a script, or a datafile.</para>
+
+<indexterm zone="ch-system-automake mdate-sh"><primary sortas="b-mdate-sh">mdate-sh</primary></indexterm>
+<para id="mdate-sh"><command>mdate-sh</command> is a script that prints the modification
+time of a file or directory.</para>
+
+<indexterm zone="ch-system-automake missing"><primary sortas="b-missing">missing</primary></indexterm>
+<para id="missing"><command>missing</command> is a script acting as a common stub for
+missing GNU programs during an installation.</para>
+
+<indexterm zone="ch-system-automake mkinstalldirs"><primary sortas="b-mkinstalldirs">mkinstalldirs</primary></indexterm>
+<para id="mkinstalldirs"><command>mkinstalldirs</command> is a script that creates a directory
+tree.</para>
+
+<indexterm zone="ch-system-automake py-compile"><primary sortas="b-py-compile">py-compile</primary></indexterm>
+<para id="py-compile"><command>py-compile</command> compiles a Python program.</para>
+
+<indexterm zone="ch-system-automake symlink-tree"><primary sortas="b-symlink-tree">symlink-tree</primary></indexterm>
+<para id="symlink-tree"><command>symlink-tree</command> is a script to create a symlink tree of
+a directory tree.</para>
+
+<indexterm zone="ch-system-automake ylwrap"><primary sortas="b-ylwrap">ylwrap</primary></indexterm>
+<para id="ylwrap"><command>ylwrap</command> is a wrapper for lex and yacc.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/bash.xml b/chapter06/bash.xml
index aa38ef855..af2acf4b5 100644
--- a/chapter06/bash.xml
+++ b/chapter06/bash.xml
@@ -1,25 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-bash" xreflabel="Bash">
-<title>Installing Bash-&bash-version;</title>
-<?dbhtml filename="bash.html" dir="chapter06"?>
+<title>Bash-&bash-version;</title>
+<?dbhtml filename="bash.html"?>
+
+<indexterm zone="ch-system-bash"><primary sortas="a-Bash">Bash</primary></indexterm>
<para>The Bash package contains the Bourne-Again SHell.</para>
-<screen>&buildtime; &bash-time;
-&diskspace; &bash-compsize;</screen>
+<screen>Approximate build time: 1.2 SBU
+Required disk space: 27 MB</screen>
+
+<para>Bash installation depends on: Binutils, Coreutils, Diffutils, Gawk,
+GCC, Glibc, Grep, Make, Ncurses, Sed.</para>
-&aa-bash-down;
-&aa-bash-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Bash</title>
<para>Bash has a number of bugs in it that cause it to not behave the
-way it is expected at times. Fix this behaviour with the following
+way it is expected at times. Fix this behavior with the following
patch:</para>
-<screen><userinput>patch -Np1 -i ../&bash-patch;</userinput></screen>
+<screen><userinput>patch -Np1 -i ../bash-&bash-version;-2.patch</userinput></screen>
<para>Now prepare Bash for compilation:</para>
@@ -29,21 +36,52 @@ patch:</para>
<screen><userinput>make</userinput></screen>
-<para>To have the results tested, issue:
+<para>To test the results, issue:
<userinput>make tests</userinput>.</para>
<para>Install the package:</para>
<screen><userinput>make install</userinput></screen>
-<para>And reload the newly compiled <command>bash</command> program:</para>
+<para>Now run the newly compiled <command>bash</command> program (replacing the one you are currently executing):</para>
+
+<screen><userinput>exec /bin/bash --login +h</userinput></screen>
-<screen><userinput>exec /bin/bash +h</userinput></screen>
+<para>Note that the parameters used make it an interactive login instance
+(so /etc/profile is read, if it exists, and the first found
+~/.bash_profile, ~/.bash_login or and ~/.profile) and continue to
+disable hashing so that new programs are found as they become
+available.</para>
</sect2>
-&aa-bash-shortdesc;
-&aa-bash-desc;
-</sect1>
+<sect2 id="contents-bash"><title>Contents of Bash</title>
+
+<para><emphasis>Installed programs</emphasis>: bash, sh (link to bash) and
+bashbug</para>
+
+</sect2>
+
+
+<sect2><title>Short descriptions</title>
+<indexterm zone="ch-system-bash bash"><primary sortas="b-bash">bash</primary></indexterm>
+<para id="bash"><command>bash</command> is a widely-used command interpreter. It
+performs many kinds of expansions and substitutions on a given command line
+before executing it, thus making this interpreter a powerful tool.</para>
+
+<indexterm zone="ch-system-bash bashbug"><primary sortas="b-bashbug">bashbug</primary></indexterm>
+<para id="bashbug"><command>bashbug</command> is a shell script to help the user
+compose and mail bug reports concerning bash in a standard format.</para>
+
+<indexterm zone="ch-system-bash sh"><primary sortas="b-sh">sh</primary></indexterm>
+<para id="sh"><command>sh</command> is a symlink to the bash program. When invoked
+as sh, bash tries to mimic the startup behavior of historical versions of sh as
+closely as possible, while conforming to the POSIX standard as well.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/binutils.xml b/chapter06/binutils.xml
index 92c02a803..589f61f29 100644
--- a/chapter06/binutils.xml
+++ b/chapter06/binutils.xml
@@ -1,17 +1,24 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-binutils" xreflabel="Binutils">
-<title>Installing Binutils-&binutils-version;</title>
-<?dbhtml filename="binutils.html" dir="chapter06"?>
+<title>Binutils-&binutils-version;</title>
+<?dbhtml filename="binutils.html"?>
+
+<indexterm zone="ch-system-binutils"><primary sortas="a-Binutils">Binutils</primary></indexterm>
<para>The Binutils package contains a linker, an assembler, and other tools for
handling object files.</para>
-<screen>&buildtime; &binutils-time;
-&diskspace; &binutils-compsize;</screen>
+<screen>&buildtime; 1.4 SBU
+&diskspace; 167 MB</screen>
+
+<para>Binutils installation depends on: Bash, Coreutils, Diffutils, GCC, Gettext,
+Glibc, Grep, Make, Perl, Sed, Texinfo.</para>
-&aa-binutils-down;
-&aa-binutils-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2><title>Installation of Binutils</title>
@@ -34,7 +41,7 @@ to fix the problem.</para>
<para>This package is known to behave badly when you have changed its
default optimization flags (including the -march and -mcpu options).
Therefore, if you have defined any environment variables that override
-default optimizations, such as CFLAGS and CXXFLAGS, we recommend unsetting
+default optimizations, such as CFLAGS and CXXFLAGS, we recommend un-setting
or modifying them when building Binutils.</para>
<para>The Binutils documentation recommends building Binutils outside of the
@@ -45,7 +52,7 @@ cd ../binutils-build</userinput></screen>
<para>Now prepare Binutils for compilation:</para>
-<screen><userinput>../&binutils-dir;/configure --prefix=/usr --enable-shared</userinput></screen>
+<screen><userinput>../binutils-&binutils-version;/configure --prefix=/usr --enable-shared</userinput></screen>
<para>Compile the package:</para>
@@ -78,12 +85,101 @@ doubts.</para>
<para>Install the <emphasis>libiberty</emphasis> header file that is needed by
some packages:</para>
-<screen><userinput>cp ../&binutils-dir;/include/libiberty.h /usr/include</userinput></screen>
+<screen><userinput>cp ../binutils-&binutils-version;/include/libiberty.h /usr/include</userinput></screen>
</sect2>
-&aa-binutils-shortdesc;
-&aa-binutils-desc;
-</sect1>
+<sect2 id="contents-binutils"><title>Contents of Binutils</title>
+
+<para><emphasis>Installed programs</emphasis>: addr2line, ar, as, c++filt,
+gprof, ld, nm, objcopy, objdump, ranlib, readelf, size, strings and
+strip</para>
+
+<para><emphasis>Installed libraries</emphasis>: libiberty.a, libbfd.[a,so] and
+libopcodes.[a,so]</para>
+
+</sect2>
+
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-binutils addr2line"><primary sortas="b-addr2line">addr2line</primary></indexterm>
+<para id="addr2line"><command>addr2line</command> translates program addresses to file
+names and line numbers. Given an address and the name of an executable, it
+uses the debugging information in the executable to figure out which source
+file and line number are associated with the address.</para>
+
+<indexterm zone="ch-system-binutils ar"><primary sortas="b-ar">ar</primary></indexterm>
+<para id="ar"><command>ar</command> creates, modifies, and extracts from archives. An archive
+is a single file holding a collection of other files in a structure that makes
+it possible to retrieve the original individual files (called members of
+the archive).</para>
+
+<indexterm zone="ch-system-binutils as"><primary sortas="b-as">as</primary></indexterm>
+<para id="as"><command>as</command> is an assembler. It assembles the output of
+gcc into object files.</para>
+
+<indexterm zone="ch-system-binutils c-filt"><primary sortas="b-c++filt">c++filt</primary></indexterm>
+<para id="c-filt"><command>c++filt</command> is used by the linker to de-mangle C++ and
+Java symbols, to keep overloaded functions from clashing.</para>
+
+<indexterm zone="ch-system-binutils gprof"><primary sortas="b-gprof">gprof</primary></indexterm>
+<para id="gprof"><command>gprof</command> displays call graph profile data.</para>
+
+<indexterm zone="ch-system-binutils ld"><primary sortas="b-ld">ld</primary></indexterm>
+<para id="ld"><command>ld</command> is a linker. It combines a number of object
+and archive files into a single file, relocating their data and tying up symbol
+references.</para>
+
+<indexterm zone="ch-system-binutils nm"><primary sortas="b-nm">nm</primary></indexterm>
+<para id="nm"><command>nm</command> lists the symbols occurring in a given object file.</para>
+<indexterm zone="ch-system-binutils objcopy"><primary sortas="b-objcopy">objcopy</primary></indexterm>
+<para id="objcopy"><command>objcopy</command> is used to translate one type of object
+file into another.</para>
+
+<indexterm zone="ch-system-binutils objdump"><primary sortas="b-objdump">objdump</primary></indexterm>
+<para id="objdump"><command>objdump</command> displays information about the given
+object file, with options controlling what particular information to display.
+The information shown is mostly only useful to programmers who are working on
+the compilation tools.</para>
+
+<indexterm zone="ch-system-binutils ranlib"><primary sortas="b-ranlib">ranlib</primary></indexterm>
+<para id="ranlib"><command>ranlib</command> generates an index of the contents of an
+archive, and stores it in the archive. The index lists all the symbols defined
+by archive members that are relocatable object files.</para>
+
+<indexterm zone="ch-system-binutils readelf"><primary sortas="b-readelf">readelf</primary></indexterm>
+<para id="readelf"><command>readelf</command> displays information about elf type binaries.</para>
+
+<indexterm zone="ch-system-binutils size"><primary sortas="b-size">size</primary></indexterm>
+<para id="size"><command>size</command> lists the section sizes -- and the grand
+total -- for the given object files.</para>
+
+<indexterm zone="ch-system-binutils strings"><primary sortas="b-strings">strings</primary></indexterm>
+<para id="strings"><command>strings</command> outputs, for each given file, the sequences
+of printable characters that are of at least the specified length (defaulting to 4).
+For object files it prints, by default, only the strings from the initializing
+and loading sections. For other types of files it scans the whole file.</para>
+
+<indexterm zone="ch-system-binutils strip"><primary sortas="b-strip">strip</primary></indexterm>
+<para id="strip"><command>strip</command> discards symbols from object files.</para>
+
+<indexterm zone="ch-system-binutils libiberty"><primary sortas="c-libiberty">libiberty</primary></indexterm>
+<para id="libiberty"><command>libiberty</command> contains routines used by various GNU
+programs, including getopt, obstack, strerror, strtol and strtoul.</para>
+
+<indexterm zone="ch-system-binutils libbfd"><primary sortas="c-libbfd">libbfd</primary></indexterm>
+<para id="libbfd"><command>libbfd</command> is the Binary File Descriptor library.</para>
+
+<indexterm zone="ch-system-binutils libopcodes"><primary sortas="c-libopcodes">libopcodes</primary></indexterm>
+<para id="libopcodes"><command>libopcodes</command> is a library for dealing with opcodes.
+It is used for building utilities like objdump. Opcodes are the <quote>readable
+text</quote> versions of instructions for the processor.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/bison.xml b/chapter06/bison.xml
index a8404ec27..4202899d1 100644
--- a/chapter06/bison.xml
+++ b/chapter06/bison.xml
@@ -1,24 +1,31 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-bison" xreflabel="Bison">
-<title>Installing Bison-&bison-version;</title>
-<?dbhtml filename="bison.html" dir="chapter06"?>
+<title>Bison-&bison-version;</title>
+<?dbhtml filename="bison.html"?>
+
+<indexterm zone="ch-system-bison"><primary sortas="a-Bison">Bison</primary></indexterm>
<para>The Bison package contains a parser generator.</para>
-<screen>&buildtime; &bison-time;
-&diskspace; &bison-compsize;</screen>
+<screen>&buildtime; 0.6 SBU
+&diskspace; 10.6 MB</screen>
+
+<para>Bison installation depends on: Bash, Binutils, Coreutils, Diffutils,
+GCC, Gettext, Glibc, Grep, M4, Make, Sed.</para>
-&aa-bison-down;
-&aa-bison-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Bison</title>
<para>First fix a minor compilation problem that Bison has with some packages,
-the patch is backported from CVS:</para>
+the patch is back-ported from CVS:</para>
-<screen><userinput>patch -Np1 -i ../&bison-patch;</userinput></screen>
+<screen><userinput>patch -Np1 -i ../bison-&bison-version;-attribute.patch</userinput></screen>
<para>Now prepare Bison for compilation:</para>
@@ -28,17 +35,43 @@ the patch is backported from CVS:</para>
<screen><userinput>make</userinput></screen>
-<para>To have the results tested, issue:
+<para>To test the results, issue:
<userinput>make check</userinput>.</para>
-<para>And install the package:</para>
+<para>Now install the package:</para>
<screen><userinput>make install</userinput></screen>
</sect2>
-&aa-bison-shortdesc;
-&aa-bison-desc;
-</sect1>
+<sect2 id="contents-bison"><title>Contents of Bison</title>
+
+<para><emphasis>Installed programs</emphasis>: bison and yacc</para>
+
+<para><emphasis>Installed library</emphasis>: liby.a</para>
+
+</sect2>
+
+
+<sect2><title>Short descriptions</title>
+<indexterm zone="ch-system-bison bison"><primary sortas="b-bison">bison</primary></indexterm>
+<para id="bison"><command>bison</command> generates, from a series of rules, a program
+for analyzing the structure of text files. Bison is a replacement for yacc
+(Yet Another Compiler Compiler).</para>
+
+<indexterm zone="ch-system-bison yacc"><primary sortas="b-yacc">yacc</primary></indexterm>
+<para id="yacc"><command>yacc</command> is a wrapper for bison, meant for programs
+that still call yacc instead of bison. It calls bison with the -y option.</para>
+
+<indexterm zone="ch-system-bison liby.a"><primary sortas="c-liby.a">liby.a</primary></indexterm>
+<para id="liby.a"><command>liby.a</command> is the Yacc library containing
+implementations of Yacc-compatible yyerror and main functions. This library
+is normally not very useful, but POSIX requires it.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/bzip2.xml b/chapter06/bzip2.xml
index d1893c1f0..e6034e228 100644
--- a/chapter06/bzip2.xml
+++ b/chapter06/bzip2.xml
@@ -1,18 +1,25 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-bzip2" xreflabel="Bzip2">
-<title>Installing Bzip2-&bzip2-version;</title>
-<?dbhtml filename="bzip2.html" dir="chapter06"?>
+<title>Bzip2-&bzip2-version;</title>
+<?dbhtml filename="bzip2.html"?>
+
+<indexterm zone="ch-system-bzip2"><primary sortas="a-Bzip2">Bzip2</primary></indexterm>
<para>The Bzip2 package contains programs for compressing and decompressing
files. On text files they achieve a much better compression than the
traditional <command>gzip</command>.</para>
-<screen>&buildtime; &bzip2-time;
-&diskspace; &bzip2-compsize;</screen>
+<screen>&buildtime; 0.1 SBU
+&diskspace; 3.0 MB</screen>
+
+<para>Bzip2 installation depends on: Bash, Binutils, Coreutils, Diffutils,
+GCC, Glibc, Make.</para>
-&aa-bzip2-down;
-&aa-bzip2-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Bzip2</title>
@@ -32,15 +39,15 @@ against it.</para>
<screen><userinput>make</userinput></screen>
-<para>If you are reinstalling Bzip2, you will now first have to do
-<userinput>rm -f /usr/bin/bz*</userinput>, otherwise the following
+<para>If you are reinstalling Bzip2, you need to do
+<userinput>rm -f /usr/bin/bz*</userinput> first, otherwise the following
<command>make install</command> will fail.</para>
<para>Install the programs:</para>
<screen><userinput>make install</userinput></screen>
-<para>And install the shared <command>bzip2</command> binary into the
+<para>Now install the shared <command>bzip2</command> binary into the
<filename class="directory">/bin</filename> directory, then make some
necessary symbolic links, and clean up:</para>
@@ -54,8 +61,58 @@ ln -s bzip2 /bin/bzcat</userinput></screen>
</sect2>
-&aa-bzip2-shortdesc;
-&aa-bzip2-desc;
-</sect1>
+<sect2 id="contents-bzip2"><title>Contents of Bzip2</title>
+
+<para><emphasis>Installed programs</emphasis>: bunzip2 (link to bzip2), bzcat
+(link to bzip2), bzcmp, bzdiff, bzegrep, bzfgrep, bzgrep, bzip2, bzip2recover,
+bzless and bzmore</para>
+
+<para><emphasis>Installed libraries</emphasis>: libbz2.a, libbz2.so (link to
+libbz2.so.1.0), libbz2.so.1.0 (link to libbz2.so.&bzip2-version;) and
+libbz2.so.&bzip2-version;</para>
+
+</sect2>
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-bzip2 bunzip2"><primary sortas="b-bunzip2">bunzip2</primary></indexterm>
+<para id="bunzip2"><command>bunzip2</command> decompresses bzipped files.</para>
+
+<indexterm zone="ch-system-bzip2 bzcat"><primary sortas="b-bzcat">bzcat</primary></indexterm>
+<para id="bzcat"><command>bzcat</command> decompresses to standard output.</para>
+
+<indexterm zone="ch-system-bzip2 bzcmp"><primary sortas="b-bzcmp">bzcmp</primary></indexterm>
+<para id="bzcmp"><command>bzcmp</command> runs cmp on bzipped files.</para>
+
+<indexterm zone="ch-system-bzip2 bzdiff"><primary sortas="b-bzdiff">bzdiff</primary></indexterm>
+<para id="bzdiff"><command>bzdiff</command> runs diff on bzipped files.</para>
+<indexterm zone="ch-system-bzip2 bzgrep"><primary sortas="b-bzgrep">bzgrep</primary></indexterm>
+<para id="bzgrep"><command>bzgrep</command> and friends run grep on bzipped files.</para>
+
+<indexterm zone="ch-system-bzip2 bzip2"><primary sortas="b-bzip2">bzip2</primary></indexterm>
+<para id="bzip2"><command>bzip2</command> compresses files using the Burrows-Wheeler
+block sorting text compression algorithm with Huffman coding. The compression
+rate is generally considerably better than that achieved by more conventional
+compressors using LZ77/LZ78, like <command>gzip</command>.</para>
+
+<indexterm zone="ch-system-bzip2 bzip2recover"><primary sortas="b-bzip2recover">bzip2recover</primary></indexterm>
+<para id="bzip2recover"><command>bzip2recover</command> tries to recover data from damaged
+bzip2 files.</para>
+
+<indexterm zone="ch-system-bzip2 bzless"><primary sortas="b-bzless">bzless</primary></indexterm>
+<para id="bzless"><command>bzless</command> runs less on bzipped files.</para>
+
+<indexterm zone="ch-system-bzip2 bzmore"><primary sortas="b-bzmore">bzmore</primary></indexterm>
+<para id="bzmore"><command>bzmore</command> runs more on bzipped files.</para>
+
+<indexterm zone="ch-system-bzip2 libbz2"><primary sortas="c-libbz2*">libbz2*</primary></indexterm>
+<para id="libbz2"><command>libbz2*</command> is the library implementing lossless,
+block-sorting data compression, using the Burrows-Wheeler algorithm.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/changingowner.xml b/chapter06/changingowner.xml
new file mode 100644
index 000000000..cef15f8ba
--- /dev/null
+++ b/chapter06/changingowner.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-system-changingowner">
+<title>Changing ownership</title>
+<?dbhtml filename="changingowner.html"?>
+
+<para>Right now the <filename class="directory">/tools</filename> directory
+is owned by the user <emphasis>lfs</emphasis>, a user that exists only on your
+host system. Although you will probably want to delete the
+<filename class="directory">/tools</filename> directory once you have
+finished your LFS system, you may want to keep it around, for example to
+build more LFS systems. But if you keep the
+<filename class="directory">/tools</filename> directory as it is, you end up
+with files owned by a user ID without a corresponding account. This is
+dangerous because a user account created later on could get this same user ID
+and would suddenly own the <filename class="directory">/tools</filename>
+directory and all the files therein, thus exposing these files to possible
+malicious manipulation.</para>
+
+<para>To avoid this issue, you could add the <emphasis>lfs</emphasis> user to
+your new LFS system later on when creating the <filename>/etc/passwd</filename>
+file, taking care to assign it the same user and group IDs as on your host
+system. Alternatively, you can (and the book assumes you do) assign the
+contents of the <filename class="directory">/tools</filename> directory to
+user <emphasis>root</emphasis> by running the following command:</para>
+
+<screen><userinput>chown -R 0:0 /tools</userinput></screen>
+
+<para>The command uses <quote>0:0</quote> instead of <quote>root:root</quote>,
+because <userinput>chown</userinput> is unable to resolve the name
+<quote>root</quote> until the password file has been created.</para>
+
+</sect1>
diff --git a/chapter06/chapter06.xml b/chapter06/chapter06.xml
index 953fb3233..0de12cb7a 100644
--- a/chapter06/chapter06.xml
+++ b/chapter06/chapter06.xml
@@ -1,569 +1,202 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<chapter id="chapter-building-system" xreflabel="Chapter 6">
+<?dbhtml dir="chapter06"?>
<title>Installing basic system software</title>
-<?dbhtml filename="chapter06.html" dir="chapter06"?>
-
-
-<sect1 id="ch-system-introduction">
-<title>Introduction</title>
-<?dbhtml filename="introduction.html" dir="chapter06"?>
-
-<para>In this chapter we enter the building site, and start
-constructing our LFS system in earnest. That is, we chroot into
-our temporary mini Linux system, create some auxiliary things,
-and then start installing all the packages, one by one.</para>
-
-<para>The installation of all this software is pretty straightforward,
-and you will probably think it would be much shorter to give here
-the generic installation instructions and explain in full only the
-installation of those packages that require an alternate method.
-Although we agree with that, we nevertheless choose to give the
-full instructions for each and every package, simply to minimize
-the possibilities for mistakes.</para>
-
-<para>The key to learning what makes a Linux system work is to know
-what each package is used for and why the user (or the system) needs it.
-For this purpose for every installed package a summary of its content is
-given followed by concise descriptions of each program and library it
-installed.</para>
-
-<para>If you plan to use compiler optimizations in this chapter, take a look at
-the optimization hint at <ulink url="&hints-root;optimization.txt"/>. Compiler
-optimizations can make a program run slightly faster, but they may also cause
-compilation difficulties and even problems when running the program. If a
-package refuses to compile when using optimization, try to compile it without
-optimization and see if the problem goes away. Even if the package does compile
-when using optimization, there is the risk it may have been compiled incorrectly
-due to complex interactions between the code and build tools. In short, the
-small potential gains achieved in using compiler optimization are generally
-outweighed by the risk. First time builders of LFS are encouraged to build
-without custom optimizations. Your system will still be very fast and very
-stable at the same time.</para>
-
-<para>The order in which packages are installed in this chapter has
-to be strictly followed, to ensure that no program gets a path referring
-to <filename class="directory">/tools</filename> hard-wired into it.
-For the same reason, <emphasis>do not </emphasis> compile packages
-in parallel. Compiling in parallel may save you some time (especially on
-dual-CPU machines), but it could result in a program containing a
-hard-wired path to <filename class="directory">/tools</filename>,
-which will cause the program to stop working when that directory
-is removed.</para>
-
-<para>Before the installation instructions each installation page gives some
-information about the package: a concise description of what it contains, how
-long it will approximately take to build it, how much disk space it needs
-during this building process, the official download location of the package
-(in case you just want to update a few of them), and which other packages it
-needs in order to be built successfully. After the installation instructions
-follows a list of programs and libraries that the package installs, together
-with a series of short descriptions of these.</para>
-
-<para>If you wish to keep track of which package installs what files, you may
-want to use a package manager. For a general overview of package managers have
-a look at <ulink url="&blfs-root;view/cvs/introduction/pkgmgt.html"/>. And for
-a package management method specifically geared towards LFS see
-<ulink url="&hints-root;more_control_and_pkg_man.txt"/>.</para>
+<?dbhtml filename="chapter06.html"?>
-</sect1>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/>
-<sect1 id="ch-system-proc">
-<title>Mounting the proc and devpts file systems</title>
-<?dbhtml filename="proc.html" dir="chapter06"?>
-<para>In order for certain programs to function properly, the
-<emphasis>proc</emphasis> and <emphasis>devpts</emphasis> file systems must be
-available within the chroot environment. The proc file system is the process
-information pseudo file system through which the kernel provides information
-about the status of the system. And the devpts file system is nowadays the most
-common way pseudo terminals (PTYs) are implemented. Since kernel version 2.4, a
-file system can be mounted as many times and in as many places as you like,
-thus it's not a problem that these file systems are already mounted on your
-host system, especially so because they are virtual file systems.</para>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="proc.xml"/>
-<para>First become <emphasis>root</emphasis>, as only <emphasis>root</emphasis>
-can mount file systems in unusual places. Then check again that the LFS
-environment variable is set correctly by running <userinput>echo
-$LFS</userinput> and making sure it shows the path to your LFS partition's
-mount point, which is <filename class="directory">/mnt/lfs</filename> if you
-followed our example.</para>
-<para>Now make the mount points for these filesystems:</para>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chroot.xml"/>
-<screen><userinput>mkdir -p $LFS/{proc,dev/pts}</userinput></screen>
-<para>Mount the <emphasis>proc</emphasis> file system with:</para>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="changingowner.xml"/>
-<screen><userinput>mount proc $LFS/proc -t proc</userinput></screen>
-<para>And mount the <emphasis>devpts</emphasis> file system with:</para>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingdirs.xml"/>
-<screen><userinput>mount devpts $LFS/dev/pts -t devpts</userinput></screen>
-<para>This last command might fail with an error like:</para>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="createfiles.xml"/>
-<blockquote><screen>filesystem devpts not supported by kernel</screen></blockquote>
-<para>The most likely cause for this is that your host system's kernel was
-compiled without support for the devpts file system (you can check which file
-systems your kernel supports with <command>cat /proc/filesystems</command>,
-for example). A few PTYs are needed to be able to run the suites for Binutils
-and GCC later on. If your kernel does not support devpts, do not worry, there
-is another way to get them working inside the chroot environment. We'll cover
-this shortly in the <xref linkend="ch-system-MAKEDEV"/> section.</para>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="pwdgroup.xml"/>
-<para>Remember that if for any reason you stop working on your LFS, and start
-again later, it's important to check that these file systems are mounted again
-before entering the chroot environment, otherwise problems could occur.</para>
-</sect1>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="makedev.xml"/>
-<sect1 id="ch-system-chroot">
-<title>Entering the chroot environment</title>
-<?dbhtml filename="chroot.html" dir="chapter06"?>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kernel-headers.xml"/>
-<para>It is time to enter the chroot environment in order to begin building
-and installing your final LFS system. Still as <emphasis>root</emphasis> run
-the following command to enter the small world that is, at the moment,
-populated with only the temporary tools:</para>
-<screen><userinput>chroot $LFS /tools/bin/env -i \
-&nbsp;&nbsp;&nbsp;&nbsp;HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
-&nbsp;&nbsp;&nbsp;&nbsp;PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
-&nbsp;&nbsp;&nbsp;&nbsp;/tools/bin/bash +h</userinput></screen>
-
-<para>The <emphasis>-i</emphasis> option passed to the <command>env</command>
-command will clear all variables of the chroot environment. After that, only
-the HOME, TERM, PS1 and PATH variables are set again. The HOME variable is set
-mainly to prevent several small warnings during the configure runs of
-Diffutils, Grep and Grub. The TERM variable is set to make programs such as
-<command>less</command> and <command>vim</command>, that make use of the
-Ncurses package, operate properly -- the TERM=$TERM construct sets the TERM
-variable inside chroot to the same value as outside chroot. The main prompt
-(PS1) is set to "username:working-dir# " (since the "\$" becomes "#" for root).
-If you need other variables present, such as CFLAGS, CXXFLAGS or LDFLAGS, this
-is a good place to set them.</para>
-
-<para>From this point on there's no need to use the LFS variable anymore,
-because everything you do will be restricted to the LFS file system -- since
-what the shell thinks is <filename class="directory">/</filename> is actually
-the value of <filename class="directory">$LFS</filename>, which was passed to
-the chroot command.</para>
-
-<para>Notice that <filename class="directory">/tools/bin</filename> comes
-last in the PATH. This means that a temporary tool will not be used any more
-as soon as its final version is installed. Well, at least when the shell
-doesn't remember the locations of executed binaries -- for this reason hashing
-is switched off by passing the <emphasis>+h</emphasis> option to
-<command>bash</command>.</para>
-
-<para>You have to make sure all the commands in the rest of this chapter and
-in the following chapters are run from within the chroot environment.
-If you ever leave this environment for any reason (rebooting for example),
-you must remember to first mount the proc and devpts file systems (discussed
-in the previous section) <emphasis>and</emphasis> enter chroot again before
-continuing with the installations.</para>
-
-<para>Note that the bash prompt will say "I have no name!" This is normal, as
-the <filename>/etc/passwd</filename> file has not been created yet.</para>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="man-pages.xml"/>
-</sect1>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="glibc.xml"/>
-<sect1 id="ch-system-changingowner">
-<title>Changing ownership</title>
-<?dbhtml filename="changingowner.html" dir="chapter06"?>
-
-<para>Right now the <filename class="directory">/tools</filename> directory
-is owned by the user <emphasis>lfs</emphasis>, a user that exists only on your
-host system. Although you will probably want to delete the
-<filename class="directory">/tools</filename> directory once you have
-finished your LFS system, you may want to keep it around, for example to
-build more LFS systems. But if you keep the
-<filename class="directory">/tools</filename> directory as it is, you end up
-with files owned by a user ID without a corresponding account. This is
-dangerous because a user account created later on could get this same user ID
-and would suddenly own the <filename class="directory">/tools</filename>
-directory and all the files therein, thus exposing these files to possible
-malicious manipulation.</para>
-
-<para>To avoid this issue, you could add the <emphasis>lfs</emphasis> user to
-your new LFS system later on when creating the <filename>/etc/passwd</filename>
-file, taking care to assign it the same user and group IDs as on your host
-system. Alternatively, you can (and the book assumes you do) assign the
-contents of the <filename class="directory">/tools</filename> directory to
-user <emphasis>root</emphasis> by running the following command:</para>
-
-<screen><userinput>chown -R 0:0 /tools</userinput></screen>
-
-<para>The command uses "0:0" instead of "root:root", because
-<userinput>chown</userinput> is unable to resolve the name "root" until the
-password file has been created.</para>
-</sect1>
-<sect1 id="ch-system-creatingdirs">
-<title>Creating directories</title>
-<?dbhtml filename="creatingdirs.html" dir="chapter06"?>
-
-<para>Let's now create some structure in our LFS file system. Let's create
-a directory tree. Issuing the following commands will create a more or less
-standard tree:</para>
-
-<screen><userinput>mkdir -p /{bin,boot,dev/{pts,shm},etc/opt,home,lib,mnt,proc}
-mkdir -p /{root,sbin,tmp,usr/local,var,opt}
-mkdir /usr/{bin,include,lib,sbin,share,src}
-ln -s share/{man,doc,info} /usr
-mkdir /usr/share/{doc,info,locale,man}
-mkdir /usr/share/{misc,terminfo,zoneinfo}
-mkdir /usr/share/man/man{1,2,3,4,5,6,7,8}
-mkdir /usr/local/{bin,etc,include,lib,sbin,share,src}
-ln -s share/{man,doc,info} /usr/local
-mkdir /usr/local/share/{doc,info,locale,man}
-mkdir /usr/local/share/{misc,terminfo,zoneinfo}
-mkdir /usr/local/share/man/man{1,2,3,4,5,6,7,8}
-mkdir /var/{lock,log,mail,run,spool}
-mkdir -p /var/{tmp,opt,cache,lib/misc,local}
-mkdir /opt/{bin,doc,include,info}
-mkdir -p /opt/{lib,man/man{1,2,3,4,5,6,7,8}}</userinput></screen>
-
-<para>Directories are, by default, created with permission mode 755, but this
-isn't desirable for all directories. We will make two changes: one to the home
-directory of <emphasis>root</emphasis>, and another to the directories for
-temporary files.</para>
-
-<screen><userinput>chmod 0750 /root
-chmod 1777 /tmp /var/tmp</userinput></screen>
-
-<para>The first mode change ensures that not just anybody can enter the
-<filename class="directory">/root</filename> directory -- the same
-as a normal user would do with his or her home directory.
-The second mode change makes sure that any user can write to the
-<filename class="directory">/tmp</filename> and
-<filename class="directory">/var/tmp</filename> directories, but
-cannot remove other users' files from them. The latter is prohibited
-by the so-called "sticky bit" -- the highest bit in the 1777 bit mask.</para>
-
-<sect2>
-<title>FHS compliance note</title>
-
-<para>We have based our directory tree on the FHS standard (available at
-<ulink url="http://www.pathname.com/fhs/"/>). Besides the above created
-tree this standard stipulates the existence of
-<filename class="directory">/usr/local/games</filename> and
-<filename class="directory">/usr/share/games</filename>, but we don't
-much like these for a base system. However, feel free to make your system
-FHS-compliant. As to the structure of the
-<filename class="directory">/usr/local/share</filename> subdirectory, the FHS
-isn't precise, so we created here the directories that we think are needed.</para>
-
-</sect2>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="readjusting.xml"/>
-</sect1>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="binutils.xml"/>
-<sect1 id="ch-system-createfiles">
-<title>Creating essential symlinks</title>
-<?dbhtml filename="createfiles.html" dir="chapter06"?>
-<para>Some programs hard-wire paths to programs which don't exist yet. In
-order to satisfy these programs, we create a number of symbolic links which
-will be replaced by real files throughout the course of this chapter when
-we're installing all the software.</para>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gcc.xml"/>
-<screen><userinput>ln -s /tools/bin/{bash,cat,pwd,stty} /bin
-ln -s /tools/bin/perl /usr/bin
-ln -s /tools/lib/libgcc_s.so.1 /usr/lib
-ln -s bash /bin/sh</userinput></screen>
-</sect1>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="coreutils.xml"/>
-<sect1 id="ch-system-pwdgroup">
-<title>Creating the passwd, group and log files</title>
-<?dbhtml filename="pwdgroup.html" dir="chapter06"?>
-
-<para>In order for <emphasis>root</emphasis> to be able to login and for the
-name "root" to be recognized, there need to be relevant entries in the
-<filename>/etc/passwd</filename> and <filename>/etc/group</filename> files.</para>
-
-<para>Create the <filename>/etc/passwd</filename> file by running the following
-command:</para>
-
-<screen><userinput>cat &gt; /etc/passwd &lt;&lt; "EOF"</userinput>
-root:x:0:0:root:/root:/bin/bash
-<userinput>EOF</userinput></screen>
-
-<para>The actual password for <emphasis>root</emphasis> (the "x" here is just a
-placeholder) will be set later.</para>
-
-<para>Create the <filename>/etc/group</filename> file by running the following
-command:</para>
-
-<screen><userinput>cat &gt; /etc/group &lt;&lt; "EOF"</userinput>
-root:x:0:
-bin:x:1:
-sys:x:2:
-kmem:x:3:
-tty:x:4:
-tape:x:5:
-daemon:x:6:
-floppy:x:7:
-disk:x:8:
-lp:x:9:
-dialout:x:10:
-audio:x:11:
-<userinput>EOF</userinput></screen>
-
-<para>The created groups aren't part of any standard -- they are some of the
-groups that the <command>make_devices</command> script in the next section
-uses. The LSB (<ulink url="http://www.linuxbase.org/">Linux Standard
-Base</ulink>) recommends only that, beside the group "root" with a GID of 0, a
-group "bin" with a GID of 1 be present. All other group names and GIDs can
-be chosen freely by the system administrator, since well-written packages don't
-depend on GID numbers but use the group's name.</para>
-
-<para>To get rid of the "I have no name!" prompt, we will start a new shell.
-Since we installed a full Glibc in <xref linkend="chapter-temporary-tools"/>,
-and have just created the <filename>/etc/passwd</filename> and
-<filename>/etc/group</filename> files, user name and group name resolution
-will now work.</para>
-
-<screen><userinput>exec /tools/bin/bash +h</userinput></screen>
-
-<para>Note the use of the <emphasis>+h</emphasis> directive. This tells
-<command>bash</command> not to use its internal path hashing. Without this
-directive, <command>bash</command> would remember the paths to binaries it
-has executed. Since we want to use our newly compiled binaries as soon as
-they are installed, we turn off this function for the duration of this
-chapter.</para>
-
-<para>The <command>login</command>, <command>agetty</command> and
-<command>init</command> programs (and some others) use a number of log
-files to record information such as who was logged into the system and when.
-These programs, however, won't write to the log files if they don't already
-exist. Initialize the log files and give them their proper permissions:</para>
-
-<screen><userinput>touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
-chmod 644 /var/run/utmp /var/log/{btmp,lastlog,wtmp}</userinput></screen>
-
-<para>The <filename>/var/run/utmp</filename> file records the users that are
-currently logged in. The <filename>/var/log/wtmp</filename> file records all
-logins and logouts. The <filename>/var/log/lastlog</filename> file records for
-each user when he or she last logged in. The <filename>/var/log/btmp</filename>
-file records the bad login attempts.</para>
-</sect1>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="zlib.xml"/>
-&c6-makedev;
-&c6-kernel-headers;
-&c6-manpages;
-&c6-glibc;
-
-
-<sect1 id="ch-system-readjusting">
-<title>Re-adjusting the toolchain</title>
-<?dbhtml filename="readjusting.html" dir="chapter06"?>
-
-<para>Now that the new and final C libraries have been installed, it's time to
-adjust our toolchain again. We'll adjust it so that it will link any newly
-compiled program against these new libraries. This is in fact the same thing we
-did in the "Adjusting" phase in the beginning of the previous chapter, even
-though it looks like the reverse: then we guided the chain from the host's
-<filename class="directory">/{,usr/}lib</filename> to the new
-<filename class="directory">/tools/lib</filename>, now we guide it from that
-same <filename class="directory">/tools/lib</filename>
-to the LFS's <filename class="directory">/{,usr/}lib</filename>.</para>
-
-<para>First we adjust the linker. For this we retained the
-source and build directories from the second pass over Binutils. Install the
-adjusted linker by running the following from within the
-<filename class="directory">binutils-build</filename> directory:</para>
-
-<screen><userinput>make -C ld INSTALL=/tools/bin/install install</userinput></screen>
-
-<note><para>If you somehow missed the earlier warning to retain the Binutils
-source and build directories from the second pass in
-<xref linkend="chapter-temporary-tools"/>, or otherwise accidentally deleted them or just
-don't have access to them, don't worry, all is not lost. Just ignore the above
-command. The result will be that the next package, Binutils, will link against
-the C libraries in <filename class="directory">/tools</filename> rather
-than in <filename class="directory">/{,usr/}lib</filename>. This is not ideal,
-however, our testing has shown that the resulting Binutils program binaries
-should be identical.</para></note>
-
-<para>From now on every compiled program will link <emphasis>only</emphasis>
-against the libraries in <filename>/usr/lib</filename> and
-<filename>/lib</filename>. The extra
-<emphasis>INSTALL=/tools/bin/install</emphasis> is needed because the Makefile
-created during the second pass still contains the reference to
-<filename>/usr/bin/install</filename>, which we obviously haven't installed yet.
-Some host distributions contain a <filename class="symlink">ginstall</filename>
-symbolic link which takes precedence in the Makefile and thus can cause a
-problem here. The above command takes care of this also.</para>
-
-<para>You must now remove the Binutils source and build directories. (This is
-important, as you should start the next section with a fresh untarring of the
-package.)</para>
-
-<para>The next thing to do is to amend our GCC specs file so that it points
-to the new dynamic linker. Just like earlier on, we use a sed to accomplish
-this:</para>
-
-<!-- Ampersands are needed to allow cut and paste -->
-
-<screen><userinput>SPECFILE=/tools/lib/gcc-lib/*/*/specs &amp;&amp;
-sed -e 's@ /tools/lib/ld-linux.so.2@ /lib/ld-linux.so.2@g' \
-&nbsp;&nbsp;&nbsp;&nbsp;$SPECFILE &gt; newspecfile &amp;&amp;
-mv -f newspecfile $SPECFILE &amp;&amp;
-unset SPECFILE</userinput></screen>
-
-<para>Again, cutting and pasting the above is recommended. And just like
-before, it is a good idea to visually inspect the specs file to verify the
-intended change was actually made.</para>
-
-<important><para>If you are working on a platform where the name of the dynamic
-linker is something other than <filename>ld-linux.so.2</filename>, you
-<emphasis>must</emphasis> substitute <filename>ld-linux.so.2</filename> with the
-name of your platform's dynamic linker in the above commands. Refer back to
-<xref linkend="tools-technicalnotes"/> if necessary.</para></important>
-
-<!-- HACK - Force some whitespace to appease tidy -->
-<literallayout></literallayout>
-
-<caution><para>It is imperative at this point to stop and ensure that the
-basic functions (compiling and linking) of the adjusted toolchain are working
-as expected. For this we are going to perform a simple sanity check:</para>
-
-<screen><userinput>echo 'main(){}' &gt; dummy.c
-cc dummy.c
-readelf -l a.out | grep ': /lib'</userinput></screen>
-
-<para>If everything is working correctly, there should be no errors, and the
-output of the last command will be (allowing for platform specific differences
-in dynamic linker name):</para>
-
-<blockquote><screen>[Requesting program interpreter: /lib/ld-linux.so.2]</screen></blockquote>
-
-<para>Note especially that <filename class="directory">/lib</filename> is now
-the prefix of our dynamic linker.</para>
-
-<para> If you did not receive the output
-as shown above, or received no output at all, then something is seriously wrong.
-You will need to investigate and retrace your steps to find out where the
-problem is and correct it. There is no point in continuing until this is done.
-Most likely something went wrong with the specs file amendment above.</para>
-
-<para>Once you are satisfied that all is well, clean up the test files:</para>
-
-<screen><userinput>rm dummy.c a.out</userinput></screen>
-</caution>
-
-<!-- HACK - Force some whitespace to appease tidy -->
-<literallayout></literallayout>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="mktemp.xml"/>
-</sect1>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="iana-etc.xml"/>
-&c6-binutils;
-&c6-gcc;
-
-&c6-coreutils;
-&c6-zlib;
-&c6-lfs-utils;
-&c6-findutils;
-&c6-gawk;
-&c6-ncurses;
-&c6-vim;
-&c6-m4;
-&c6-bison;
-&c6-less;
-&c6-groff;
-&c6-sed;
-&c6-flex;
-&c6-gettext;
-&c6-nettools;
-&c6-inetutils;
-&c6-perl;
-&c6-texinfo;
-&c6-autoconf;
-&c6-automake;
-&c6-bash;
-&c6-file;
-&c6-libtool;
-&c6-bzip2;
-&c6-diffutils;
-&c6-ed;
-&c6-kbd;
-&c6-e2fsprogs;
-&c6-grep;
-&c6-grub;
-&c6-gzip;
-&c6-man;
-&c6-make;
-&c6-modutils;
-&c6-patch;
-&c6-procinfo;
-&c6-procps;
-&c6-psmisc;
-&c6-shadow;
-&c6-sysklogd;
-&c6-sysvinit;
-&c6-tar;
-&c6-utillinux;
-&c6-gcc-2953;
-
-
-<sect1 id="ch-system-aboutdebug">
-<title>About debugging symbols</title>
-<?dbhtml filename="aboutdebug.html" dir="chapter06"?>
-
-<para>Most programs and libraries are, by default, compiled with debugging
-symbols included (with <command>gcc</command>'s <emphasis>-g</emphasis>
-option). This means that, when debugging a program or library that was compiled
-with debugging information included, the debugger can give you not only memory
-addresses but also the names of the routines and variables.</para>
-
-<para>The inclusion of these debugging symbols, however, enlarges a program or
-library significantly. To get an idea of the amount of space these symbols
-occupy, have a look at the following:</para>
-
-<itemizedlist>
-
-<listitem><para>a bash binary
-with debugging symbols: 1200 KB</para></listitem>
-
-<listitem><para>a bash binary
-without debugging symbols: 480 KB</para></listitem>
-
-<listitem><para>Glibc and GCC files (/lib and /usr/lib)
-with debugging symbols: 87 MB</para></listitem>
-
-<listitem><para>Glibc and GCC files
-without debugging symbols: 16 MB</para></listitem>
-
-</itemizedlist>
-
-<para>Sizes may vary somewhat, depending on which compiler was used and which C
-library, but when comparing programs with and without debugging symbols the
-difference will generally be a factor between 2 and 5.</para>
-
-<para>As most people will probably never use a debugger on their system
-software, a lot of disk space can be regained by removing these symbols. For
-your convenience, the next section shows how to strip all debugging symbols
-from all programs and libraries. Information on other ways of optimizing your
-system can be found in the hint at <ulink
-url="&hints-root;optimization.txt"/>.</para>
-</sect1>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="findutils.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gawk.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ncurses.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="vim.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="m4.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bison.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="less.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="groff.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sed.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="flex.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gettext.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="net-tools.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="inetutils.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="perl.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="texinfo.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="autoconf.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="automake.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bash.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="file.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="libtool.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bzip2.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="diffutils.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ed.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kbd.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="e2fsprogs.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grep.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grub.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gzip.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="man.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="make.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="modutils.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="patch.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="procinfo.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="procps.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="psmisc.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="shadow.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sysklogd.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sysvinit.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="tar.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="util-linux.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gcc-2953.xml"/>
+
+
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="aboutdebug.xml"/>
<sect1 id="ch-system-strippingagain">
<title>Stripping again</title>
-<?dbhtml filename="strippingagain.html" dir="chapter06"?>
+<?dbhtml filename="strippingagain.html"?>
<para>If you are not a programmer and don't plan to do any debugging on your
system software, you can shrink your system by about 200 MB by removing the
@@ -585,14 +218,14 @@ If you're not sure whether you entered chroot with the command given in
<para>Then reenter it with:</para>
<screen><userinput>chroot $LFS /tools/bin/env -i \
-&nbsp;&nbsp;&nbsp;&nbsp;HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
-&nbsp;&nbsp;&nbsp;&nbsp;PATH=/bin:/usr/bin:/sbin:/usr/sbin \
-&nbsp;&nbsp;&nbsp;&nbsp;/tools/bin/bash</userinput></screen>
+ HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
+ PATH=/bin:/usr/bin:/sbin:/usr/sbin \
+ /tools/bin/bash --login</userinput></screen>
<para>Now you can safely strip the binaries and libraries:</para>
<screen><userinput>/tools/bin/find /{,usr/}{bin,lib,sbin} -type f \
-&nbsp;&nbsp;&nbsp;-exec /tools/bin/strip --strip-debug '{}' ';'</userinput></screen>
+ -exec /tools/bin/strip --strip-debug '{}' ';'</userinput></screen>
<para>A large number of files will be reported as having their file format not
recognized. These warnings can be safely ignored, they just mean that those
@@ -607,42 +240,6 @@ destroyed.</para>
</sect1>
-<sect1 id="ch-system-revisedchroot">
-<title>Cleaning up</title>
-<?dbhtml filename="revisedchroot.html" dir="chapter06"?>
-
-<para>From now on, when you exit the chroot environment and wish to reenter
-it, you should use the following modified chroot command:</para>
-
-<screen><userinput>chroot $LFS /usr/bin/env -i \
-&nbsp;&nbsp;&nbsp;&nbsp;HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
-&nbsp;&nbsp;&nbsp;&nbsp;PATH=/bin:/usr/bin:/sbin:/usr/sbin \
-&nbsp;&nbsp;&nbsp;&nbsp;/bin/bash</userinput></screen>
-
-<para>The reason for this is that, since the programs in <filename
-class="directory">/tools</filename> are no longer needed, you may want to
-delete the whole directory and regain the space. Before actually deleting the
-directory, exit from chroot and reenter it with the above command. Also, before
-removing <filename class="directory">/tools</filename>, you may want to tar it
-up and store it in a safe place, in case you want to build another LFS system
-soon.</para>
-
-<note><para>Removing <filename class="directory">/tools</filename> will also
-remove the temporary copies of Tcl, Expect and DejaGnu, which were used for
-running the toolchain tests. If you want to use these programs later on, you
-will need to recompile and re-install them. The installation instructions are
-the same as in <xref linkend="chapter-temporary-tools"/>, apart from changing
-the prefix from <emphasis>/tools</emphasis> to <emphasis>/usr</emphasis>. The
-BLFS book discusses a slightly different approach to installing Tcl, see <ulink
-url="&blfs-root;"/>.</para></note>
-
-<para>You may also want to move the packages and patches stored in <filename
-class="directory">/sources</filename> to a more usual location, such as
-<filename class="directory">/usr/src/packages</filename>, and remove the
-directory -- or simply delete the whole directory if you've burned its contents
-on a CD).</para>
-
-</sect1>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="revisedchroot.xml"/>
</chapter>
-
diff --git a/chapter06/chroot.xml b/chapter06/chroot.xml
new file mode 100644
index 000000000..08d74ea53
--- /dev/null
+++ b/chapter06/chroot.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-system-chroot">
+<title>Entering the chroot environment</title>
+<?dbhtml filename="chroot.html"?>
+
+<para>It is time to enter the chroot environment in order to begin building
+and installing your final LFS system. Still as <emphasis>root</emphasis> run
+the following command to enter the small world that is, at the moment,
+populated with only the temporary tools:</para>
+
+<screen><userinput>chroot "$LFS" /tools/bin/env -i \
+ HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
+ PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
+ /tools/bin/bash --login +h</userinput></screen>
+
+<para>The <emphasis>-i</emphasis> option given to the
+<command>env</command> command will clear all variables of the chroot
+environment. After that, only the HOME, TERM, PS1 and PATH variables are
+set again. The TERM=$TERM construct will set the TERM variable inside chroot
+to the same value as outside chroot; this variable is needed for programs
+like <command>vim</command> and <command>less</command> to operate
+properly. If you need other variables present, such as CFLAGS or CXXFLAGS,
+this is a good place to set them again.</para>
+
+<para>From this point on there's no need to use the LFS variable anymore,
+because everything you do will be restricted to the LFS file system -- since
+what the shell thinks is <filename class="directory">/</filename> is actually
+the value of <filename class="directory">$LFS</filename>, which was passed to
+the chroot command.</para>
+
+<para>Notice that <filename class="directory">/tools/bin</filename> comes
+last in the PATH. This means that a temporary tool will not be used any more
+as soon as its final version is installed. Well, at least when the shell
+doesn't remember the locations of executed binaries -- for this reason hashing
+is switched off by passing the <emphasis>+h</emphasis> option to
+<command>bash</command>.</para>
+
+<para>You have to make sure all the commands in the rest of this chapter and
+in the following chapters are run from within the chroot environment.
+If you ever leave this environment for any reason (rebooting for example),
+you must remember to first mount the proc and devpts file systems (discussed
+in the previous section) <emphasis>and</emphasis> enter chroot again before
+continuing with the installations.</para>
+
+<para>Note that the bash prompt will say <quote>I have no name!</quote> This is
+normal, as the <filename>/etc/passwd</filename> file has not been created yet.
+</para>
+
+</sect1>
diff --git a/chapter06/coreutils.xml b/chapter06/coreutils.xml
index 24e7733e9..8ac6c756e 100644
--- a/chapter06/coreutils.xml
+++ b/chapter06/coreutils.xml
@@ -1,51 +1,63 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-coreutils" xreflabel="Coreutils">
-<title>Installing Coreutils-&coreutils-version;</title>
-<?dbhtml filename="coreutils.html" dir="chapter06"?>
+<title>Coreutils-&coreutils-version;</title>
+<?dbhtml filename="coreutils.html"?>
+
+<indexterm zone="ch-system-coreutils"><primary sortas="a-Coreutils">Coreutils</primary></indexterm>
<para>The Coreutils package contains utilities for showing and setting the
basic system characteristics.</para>
-<screen>&buildtime; &coreutils-time;
-&diskspace; &coreutils-compsize;</screen>
+<screen>&buildtime; 0.9 SBU
+&diskspace; 69 MB</screen>
+
+<para>Coreutils installation depends on: Bash, Binutils, Coreutils, Diffutils, GCC,
+Gettext, Glibc, Grep, Make, Perl, Sed.</para>
-&aa-coreutils-down;
-&aa-coreutils-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Coreutils</title>
-<para>Apply the same Posixver patch we used previously:</para>
-
-<screen><userinput>patch -Np1 -i ../&coreutils-posixver-patch;</userinput></screen>
-
<para>Normally the functionality of <command>uname</command> is somewhat
-broken, in that the <emphasis>-p</emphasis> switch always returns "unknown".
-The following patch fixes this behaviour for Intel architectures:</para>
+broken, in that the <emphasis>-p</emphasis> switch always returns
+<quote>unknown</quote>. The following patch fixes this behavior for Intel
+architectures:</para>
-<screen><userinput>patch -Np1 -i ../&coreutils-uname-patch;</userinput></screen>
+<screen><userinput>patch -Np1 -i ../coreutils-&coreutils-version;-uname-1.patch</userinput></screen>
<para>We do not want Coreutils to install its version of the
<command>hostname</command> program, because it is inferior to the version
provided by Net-tools. Prevent its installation by applying a patch:</para>
-<screen><userinput>patch -Np1 -i ../&coreutils-hostname-patch;</userinput></screen>
+<screen><userinput>patch -Np1 -i ../coreutils-&coreutils-version;-hostname-1.patch</userinput></screen>
<para>Now prepare Coreutils for compilation:</para>
-<screen><userinput>./configure --prefix=/usr</userinput></screen>
+<screen><userinput>DEFAULT_POSIX2_VERSION=199209 ./configure --prefix=/usr</userinput></screen>
<para>Compile the package:</para>
<screen><userinput>make</userinput></screen>
<para>The test suite of Coreutils makes several assumptions about the presence
-of files and users that aren't valid yet this early in the LFS build. We will
+of files and users that aren't valid this early in the LFS build. We will
therefore have to set up a few things before being able to run the tests. If
-you choose not to run these tests, skip down to "Install the package".</para>
+you choose not to run these tests, skip down to <quote>Install the
+package</quote>.</para>
-<para>First create a 'table of mounted filesystems' file with:</para>
+<para>To be able to run the full test suite, the <command>su</command> program
+needs to be installed. We didn't bother to install this little program in
+<xref linkend="chapter-temporary-tools"/> because it requires root privileges,
+so do it now:</para>
+
+<screen><userinput>make install-root</userinput></screen>
+
+<para>Create a 'table of mounted filesystems' file with:</para>
<screen><userinput>touch /etc/mtab</userinput></screen>
@@ -58,16 +70,12 @@ echo "dummy:x:1000:1000:::/bin/bash" &gt;&gt; /etc/passwd</userinput></screen>
<para>Now you're all set to run the test suite. First run the few tests that
are meant to be run as <emphasis>root</emphasis>:</para>
-<screen><userinput>make check-root</userinput></screen>
+<screen><userinput>export NON_ROOT_USERNAME=dummy; make check-root</userinput></screen>
<para>Then run the remainder of the tests as the <emphasis>dummy</emphasis>
user:</para>
-<screen><userinput>src/su dummy -c "make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen>
-
-<para>The above command uses the newly compiled <command>src/su</command>
-program, since in <xref linkend="chapter-temporary-tools"/> we didn't bother to
-install it, because installing it requires root privileges.</para>
+<screen><userinput>su dummy -c "make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen>
<para>When you're done testing, remove the dummy user and groups:</para>
@@ -98,8 +106,347 @@ ln -s ../../bin/install /usr/bin</userinput></screen>
</sect2>
-&aa-coreutils-shortdesc;
-&aa-coreutils-desc;
-</sect1>
+<sect2 id="contents-coreutils"><title>Contents of Coreutils</title>
+
+<para><emphasis>Installed programs</emphasis>: basename, cat, chgrp, chmod,
+chown, chroot, cksum, comm, cp, csplit, cut, date, dd, df, dir, dircolors,
+dirname, du, echo, env, expand, expr, factor, false, fmt, fold, groups, head,
+hostid, hostname, id, install, join, link, ln, logname, ls, md5sum,
+mkdir, mkfifo, mknod, mv, nice, nl, nohup, od, paste, pathchk, pinky, pr,
+printenv, printf, ptx, pwd, readlink, rm, rmdir, seq, sha1sum, shred, sleep,
+sort, split, stat, stty, su, sum, sync, tac, tail, tee, test, touch, tr, true,
+tsort, tty, uname, unexpand, uniq, unlink, uptime, users, vdir, wc, who,
+whoami and yes</para>
+
+</sect2>
+
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-coreutils basename"><primary sortas="b-basename">basename</primary></indexterm>
+<para id="basename"><command>basename</command> strips any path and a given suffix from
+the given file name.</para>
+
+<indexterm zone="ch-system-coreutils cat"><primary sortas="b-cat">cat</primary></indexterm>
+<para id="cat"><command>cat</command> concatenates files to standard output.</para>
+
+<indexterm zone="ch-system-coreutils chgrp"><primary sortas="b-chgrp">chgrp</primary></indexterm>
+<para id="chgrp"><command>chgrp</command> changes the group ownership of each given
+file to the given group. The group can be either given a a name or a numeric
+ID.</para>
+
+<indexterm zone="ch-system-coreutils chmod"><primary sortas="b-chmod">chmod</primary></indexterm>
+<para id="chmod"><command>chmod</command> changes the permissions of each given file
+to the given mode. The mode can be either a symbolic representation of the
+changes to make, or an octal number representing the new permissions.</para>
+
+<indexterm zone="ch-system-coreutils chown"><primary sortas="b-chown">chown</primary></indexterm>
+<para id="chown"><command>chown</command> changes the user and/or group ownership of
+each given file to the given user:group pair.</para>
+
+<indexterm zone="ch-system-coreutils chroot"><primary sortas="b-chroot">chroot</primary></indexterm>
+<para id="chroot"><command>chroot</command> runs a given command with the specified
+directory as the <filename>/</filename> directory. The given command can be an
+interactive shell. On most systems only <emphasis>root</emphasis> can do
+this.</para>
+
+<indexterm zone="ch-system-coreutils cksum"><primary sortas="b-cksum">cksum</primary></indexterm>
+<para id="cksum"><command>cksum</command> prints the CRC (Cyclic Redundancy Check) checksum and the byte
+counts of each specified file.</para>
+
+<indexterm zone="ch-system-coreutils comm"><primary sortas="b-comm">comm</primary></indexterm>
+<para id="comm"><command>comm</command> compares two sorted files, outputting in
+three columns the lines that are unique, and the lines that are common.</para>
+
+<indexterm zone="ch-system-coreutils cp"><primary sortas="b-cp">cp</primary></indexterm>
+<para id="cp"><command>cp</command> copies files.</para>
+
+<indexterm zone="ch-system-coreutils csplit"><primary sortas="b-csplit">csplit</primary></indexterm>
+<para id="csplit"><command>csplit</command> splits a given file into several new files,
+separating them according to given patterns or line numbers, and outputting
+the byte count of each new file.</para>
+
+<indexterm zone="ch-system-coreutils cut"><primary sortas="b-cut">cut</primary></indexterm>
+<para id="cut"><command>cut</command> prints parts of lines, selecting the parts
+according to given fields or positions.</para>
+
+<indexterm zone="ch-system-coreutils date"><primary sortas="b-date">date</primary></indexterm>
+<para id="date"><command>date</command> displays the current time in the given
+format, or sets the system date.</para>
+
+<indexterm zone="ch-system-coreutils dd"><primary sortas="b-dd">dd</primary></indexterm>
+<para id="dd"><command>dd</command> copies a file using the given block size and
+count, while optionally performing conversions on it.</para>
+
+<indexterm zone="ch-system-coreutils df"><primary sortas="b-df">df</primary></indexterm>
+<para id="df"><command>df</command> reports the amount of disk space available
+(and used) on all mounted file systems, or only on the file systems holding the
+given files.</para>
+
+<indexterm zone="ch-system-coreutils dir"><primary sortas="b-dir">dir</primary></indexterm>
+<para id="dir"><command>dir</command> is the same as ls.</para>
+
+<indexterm zone="ch-system-coreutils dircolors"><primary sortas="b-dircolors">dircolors</primary></indexterm>
+<para id="dircolors"><command>dircolors</command> outputs commands to set the LS_COLOR
+environment variable, to change the color scheme used by ls.</para>
+
+<indexterm zone="ch-system-coreutils dirname"><primary sortas="b-dirname">dirname</primary></indexterm>
+<para id="dirname"><command>dirname</command> strips the non-directory suffix from
+a given file name.</para>
+
+<indexterm zone="ch-system-coreutils du"><primary sortas="b-du">du</primary></indexterm>
+<para id="du"><command>du</command> reports the amount of disk space used by the
+current directory, or by each of the given directories including all their
+subdirectories, or by each of the given files.</para>
+
+<indexterm zone="ch-system-coreutils echo"><primary sortas="b-echo">echo</primary></indexterm>
+<para id="echo"><command>echo</command> displays the given strings.</para>
+
+<indexterm zone="ch-system-coreutils env"><primary sortas="b-env">env</primary></indexterm>
+<para id="env"><command>env</command> runs a command in a modified environment.</para>
+
+<indexterm zone="ch-system-coreutils expand"><primary sortas="b-expand">expand</primary></indexterm>
+<para id="expand"><command>expand</command> converts tabs to spaces.</para>
+
+<indexterm zone="ch-system-coreutils expr"><primary sortas="b-expr">expr</primary></indexterm>
+<para id="expr"><command>expr</command> evaluates expressions.</para>
+
+<indexterm zone="ch-system-coreutils factor"><primary sortas="b-factor">factor</primary></indexterm>
+<para id="factor"><command>factor</command> prints the prime factors of all specified
+integer numbers.</para>
+
+<indexterm zone="ch-system-coreutils false"><primary sortas="b-false">false</primary></indexterm>
+<para id="false"><command>false</command> does nothing, unsuccessfully. It always
+exits with a status code indicating failure.</para>
+
+<indexterm zone="ch-system-coreutils mt"><primary sortas="b-mt">mt</primary></indexterm>
+<para id="mt"><command>fmt</command> reformats the paragraphs in the given files.</para>
+
+<indexterm zone="ch-system-coreutils fold"><primary sortas="b-fold">fold</primary></indexterm>
+<para id="fold"><command>fold</command> wraps the lines in the given files.</para>
+
+<indexterm zone="ch-system-coreutils groups-coreutils"><primary sortas="b-groups-coreutils">groups</primary></indexterm>
+<para id="groups-coreutils"><command>groups</command> reports a user's group memberships.</para>
+
+<indexterm zone="ch-system-coreutils head"><primary sortas="b-head">head</primary></indexterm>
+<para id="head"><command>head</command> prints the first ten lines (or the given
+number of lines) of each given file.</para>
+
+<indexterm zone="ch-system-coreutils hostid"><primary sortas="b-hostid">hostid</primary></indexterm>
+<para id="hostid"><command>hostid</command> reports the numeric identifier
+(in hexadecimal) of the host.</para>
+
+<indexterm zone="ch-system-coreutils hostname-coreutils"><primary sortas="b-hostname-coreutils">hostname</primary></indexterm>
+<para id="hostname-coreutils"><command>hostname</command> reports or sets the name of the
+host.</para>
+
+<indexterm zone="ch-system-coreutils id"><primary sortas="b-id">id</primary></indexterm>
+<para id="id"><command>id</command> reports the effective user ID, group ID, and
+group memberships of the current user, or of a given user.</para>
+
+<indexterm zone="ch-system-coreutils install"><primary sortas="b-install">install</primary></indexterm>
+<para id="install"><command>install</command> copies files while setting their
+permission modes and, if possible, their owner and group.</para>
+
+<indexterm zone="ch-system-coreutils join"><primary sortas="b-join">join</primary></indexterm>
+<para id="join"><command>join</command> joins from two files the lines that have
+identical join fields.</para>
+
+<indexterm zone="ch-system-coreutils link"><primary sortas="b-link">link</primary></indexterm>
+<para id="link"><command>link</command> creates a hard link with the given name
+to the given file.</para>
+
+<indexterm zone="ch-system-coreutils ln"><primary sortas="b-ln">ln</primary></indexterm>
+<para id="ln"><command>ln</command> makes hard links or soft links between files.</para>
+
+<indexterm zone="ch-system-coreutils logname"><primary sortas="b-logname">logname</primary></indexterm>
+<para id="logname"><command>logname</command> reports the current user's login name.</para>
+
+<indexterm zone="ch-system-coreutils ls"><primary sortas="b-ls">ls</primary></indexterm>
+<para id="ls"><command>ls</command> lists the contents of each given directory.
+By default it orders the files and subdirectories alphabetically.</para>
+
+<indexterm zone="ch-system-coreutils md5sum"><primary sortas="b-md5sum">md5sum</primary></indexterm>
+<para id="md5sum"><command>md5sum</command> reports or checks MD5 (Message Digest 5) checksums.</para>
+
+<indexterm zone="ch-system-coreutils mkdir"><primary sortas="b-mkdir">mkdir</primary></indexterm>
+<para id="mkdir"><command>mkdir</command> creates directories with the given names.</para>
+
+<indexterm zone="ch-system-coreutils mkfifo"><primary sortas="b-mkfifo">mkfifo</primary></indexterm>
+<para id="mkfifo"><command>mkfifo</command> creates FIFOs (First-In, First-Out, a "named pipe" in UNIX parlance) with the given names.</para>
+<indexterm zone="ch-system-coreutils mknod"><primary sortas="b-mknod">mknod</primary></indexterm>
+<para id="mknod"><command>mknod</command> creates device nodes with the given names.
+A device node is a character special file, or a block special file, or a FIFO.</para>
+
+<indexterm zone="ch-system-coreutils mv"><primary sortas="b-mv">mv</primary></indexterm>
+<para id="mv"><command>mv</command> moves or renames files or directories.</para>
+
+<indexterm zone="ch-system-coreutils nice"><primary sortas="b-nice">nice</primary></indexterm>
+<para id="nice"><command>nice</command> runs a program with modified scheduling priority.</para>
+
+<indexterm zone="ch-system-coreutils nl"><primary sortas="b-nl">nl</primary></indexterm>
+<para id="nl"><command>nl</command> numbers the lines from the given files.</para>
+
+<indexterm zone="ch-system-coreutils nohup"><primary sortas="b-nohup">nohup</primary></indexterm>
+<para id="nohup"><command>nohup</command> runs a command immune to hangups, with
+output redirected to a log file.</para>
+
+<indexterm zone="ch-system-coreutils od"><primary sortas="b-od">od</primary></indexterm>
+<para id="od"><command>od</command> dumps files in octal and other formats.</para>
+
+<indexterm zone="ch-system-coreutils paste"><primary sortas="b-paste">paste</primary></indexterm>
+<para id="paste"><command>paste</command> merges the given files, joining
+sequentially corresponding lines side by side, separated by tab characters..</para>
+
+<indexterm zone="ch-system-coreutils pathchk"><primary sortas="b-pathchk">pathchk</primary></indexterm>
+<para id="pathchk"><command>pathchk</command> checks whether file names are valid
+or portable.</para>
+
+<indexterm zone="ch-system-coreutils pinky"><primary sortas="b-pinky">pinky</primary></indexterm>
+<para id="pinky"><command>pinky</command> is a lightweight finger. It reports
+some information about the given users.</para>
+
+<indexterm zone="ch-system-coreutils pr"><primary sortas="b-pr">pr</primary></indexterm>
+<para id="pr"><command>pr</command> paginates and columnates files for printing.</para>
+
+<indexterm zone="ch-system-coreutils printenv"><primary sortas="b-printenv">printenv</primary></indexterm>
+<para id="printenv"><command>printenv</command> prints the environment.</para>
+
+<indexterm zone="ch-system-coreutils printf"><primary sortas="b-printf">printf</primary></indexterm>
+<para id="printf"><command>printf</command> prints the given arguments according to the
+given format -- much like the C printf function.</para>
+
+<indexterm zone="ch-system-coreutils ptx"><primary sortas="b-ptx">ptx</primary></indexterm>
+<para id="ptx"><command>ptx</command> produces from the contents of the given files
+a permuted index, with each keyword in its context.</para>
+
+<indexterm zone="ch-system-coreutils pwd"><primary sortas="b-pwd">pwd</primary></indexterm>
+<para id="pwd"><command>pwd</command> reports the name of the current directory.</para>
+
+<indexterm zone="ch-system-coreutils readlink"><primary sortas="b-readlink">readlink</primary></indexterm>
+<para id="readlink"><command>readlink</command> reports the value of the given symbolic
+link.</para>
+
+<indexterm zone="ch-system-coreutils rm"><primary sortas="b-rm">rm</primary></indexterm>
+<para id="rm"><command>rm</command> removes files or directories.</para>
+
+<indexterm zone="ch-system-coreutils rmdir"><primary sortas="b-rmdir">rmdir</primary></indexterm>
+<para id="rmdir"><command>rmdir</command> removes directories, if they are empty.</para>
+
+<indexterm zone="ch-system-coreutils seq"><primary sortas="b-seq">seq</primary></indexterm>
+<para id="seq"><command>seq</command> prints a sequence of numbers, within a given
+range and with a given increment.</para>
+
+<indexterm zone="ch-system-coreutils sha1sum"><primary sortas="b-sha1sum">sha1sum</primary></indexterm>
+<para id="sha1sum"><command>sha1sum</command> prints or checks 160-bit SHA1
+checksums.</para>
+
+<indexterm zone="ch-system-coreutils shred"><primary sortas="b-shred">shred</primary></indexterm>
+<para id="shred"><command>shred</command> overwrites the given files repeatedly with
+strange patterns, to make it real hard to recover the data.</para>
+
+<indexterm zone="ch-system-coreutils sleep"><primary sortas="b-sleep">sleep</primary></indexterm>
+<para id="sleep"><command>sleep</command> pauses for the given amount of time.</para>
+
+<indexterm zone="ch-system-coreutils sort"><primary sortas="b-sort">sort</primary></indexterm>
+<para id="sort"><command>sort</command> sorts the lines from the given files.</para>
+
+<indexterm zone="ch-system-coreutils split"><primary sortas="b-split">split</primary></indexterm>
+<para id="split"><command>split</command> splits the given file into pieces, by size
+or by numbspliter of lines.</para>
+
+<indexterm zone="ch-system-coreutils stty"><primary sortas="b-stty">stty</primary></indexterm>
+<para id="stty"><command>stty</command> sets or reports terminal line settings.</para>
+
+<indexterm zone="ch-system-coreutils su"><primary sortas="b-su">su</primary></indexterm>
+<para id="su"><command>su</command> runs a shell with substitute user and group IDs.</para>
+
+<indexterm zone="ch-system-coreutils sum"><primary sortas="b-sum">sum</primary></indexterm>
+<para id="sum"><command>sum</command> prints checksum and block counts for each
+given file.</para>
+
+<indexterm zone="ch-system-coreutils sync"><primary sortas="b-sync">sync</primary></indexterm>
+<para id="sync"><command>sync</command> flushes file system buffers. It forces
+changed blocks to disk and updates the super block.</para>
+
+<indexterm zone="ch-system-coreutils tac"><primary sortas="b-tac">tac</primary></indexterm>
+<para id="tac"><command>tac</command> concatenates the given files in reverse.</para>
+
+<indexterm zone="ch-system-coreutils tail"><primary sortas="b-tail">tail</primary></indexterm>
+<para id="tail"><command>tail</command> prints the last ten lines (or the given
+number of lines) of each given file.</para>
+
+<indexterm zone="ch-system-coreutils tee"><primary sortas="b-tee">tee</primary></indexterm>
+<para id="tee"><command>tee</command> reads from standard input while writing both
+to standard output and to the given files.</para>
+
+<indexterm zone="ch-system-coreutils test"><primary sortas="b-test">test</primary></indexterm>
+<para id="test"><command>test</command> compares values and checks file types.</para>
+
+<indexterm zone="ch-system-coreutils touch"><primary sortas="b-touch">touch</primary></indexterm>
+<para id="touch"><command>touch</command> changes file timestamps, setting the access
+and modification times of the given files to the current time. Files that do
+not exist are created with zero length.</para>
+
+<indexterm zone="ch-system-coreutils tr"><primary sortas="b-tr">tr</primary></indexterm>
+<para id="tr"><command>tr</command> translates, squeezes, and deletes the given
+characters from standard input.</para>
+
+<indexterm zone="ch-system-coreutils true"><primary sortas="b-true">true</primary></indexterm>
+<para id="true"><command>true</command> does nothing, successfully. It always exits
+with a status code indicating success.</para>
+
+<indexterm zone="ch-system-coreutils tsort"><primary sortas="b-tsort">tsort</primary></indexterm>
+<para id="tsort"><command>tsort</command> performs a topological sort. It writes a
+totally ordered list according to the partial ordering in a given file.</para>
+
+<indexterm zone="ch-system-coreutils tty"><primary sortas="b-tty">tty</primary></indexterm>
+<para id="tty"><command>tty</command> reports the file name of the terminal
+connected to standard input.</para>
+
+<indexterm zone="ch-system-coreutils uname"><primary sortas="b-uname">uname</primary></indexterm>
+<para id="uname"><command>uname</command> reports system information.</para>
+
+<indexterm zone="ch-system-coreutils unexpand"><primary sortas="b-unexpand">unexpand</primary></indexterm>
+<para id="unexpand"><command>unexpand</command> converts spaces to tabs.</para>
+
+<indexterm zone="ch-system-coreutils uniq"><primary sortas="b-uniq">uniq</primary></indexterm>
+<para id="uniq"><command>uniq</command> discards all but one of successive
+identical lines.</para>
+
+<indexterm zone="ch-system-coreutils unlink"><primary sortas="b-unlink">unlink</primary></indexterm>
+<para id="unlink"><command>unlink</command> removes the given file.</para>
+
+<indexterm zone="ch-system-coreutils uptime-coreutils"><primary sortas="b-uptime-coreutils">uptime</primary></indexterm>
+<para id="uptime-coreutils"><command>uptime</command> reports how long the system has been
+running, how many users are logged on, and the system load averages.</para>
+
+<indexterm zone="ch-system-coreutils users"><primary sortas="b-users">users</primary></indexterm>
+<para id="users"><command>users</command> reports the names of the users currently
+logged on.</para>
+
+<indexterm zone="ch-system-coreutils vdir"><primary sortas="b-vdir">vdir</primary></indexterm>
+<para id="vdir"><command>vdir</command> is the same as ls -l.</para>
+
+<indexterm zone="ch-system-coreutils wc"><primary sortas="b-wc">wc</primary></indexterm>
+<para id="wc"><command>wc</command> reports the number of lines, words, and bytes
+for each given file, and a total line when more than one file is given.</para>
+
+<indexterm zone="ch-system-coreutils who"><primary sortas="b-who">who</primary></indexterm>
+<para id="who"><command>who</command> reports who is logged on.</para>
+
+<indexterm zone="ch-system-coreutils whoami"><primary sortas="b-whoami">whoami</primary></indexterm>
+<para id="whoami"><command>whoami</command> reports the user name associated with the
+current effective user ID.</para>
+
+<indexterm zone="ch-system-coreutils yes"><primary sortas="b-yes">yes</primary></indexterm>
+<para id="yes"><command>yes</command> outputs 'y' or a given string repeatedly,
+until killed.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/createfiles.xml b/chapter06/createfiles.xml
new file mode 100644
index 000000000..a67c55309
--- /dev/null
+++ b/chapter06/createfiles.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-system-createfiles">
+<title>Creating essential symlinks</title>
+<?dbhtml filename="createfiles.html"?>
+
+<para>Some programs hard-wire paths to programs which don't exist yet. In
+order to satisfy these programs, we create a number of symbolic links which
+will be replaced by real files throughout the course of this chapter when
+we're installing all the software.</para>
+
+<screen><userinput>ln -s /tools/bin/{bash,cat,pwd,stty} /bin
+ln -s /tools/bin/perl /usr/bin
+ln -s /tools/lib/libgcc_s.so.1 /usr/lib
+ln -s bash /bin/sh</userinput></screen>
+
+</sect1>
diff --git a/chapter06/creatingdirs.xml b/chapter06/creatingdirs.xml
new file mode 100644
index 000000000..4faf42e66
--- /dev/null
+++ b/chapter06/creatingdirs.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-system-creatingdirs">
+<title>Creating directories</title>
+<?dbhtml filename="creatingdirs.html"?>
+
+<para>Let's now create some structure in our LFS file system. Let's create
+a directory tree. Issuing the following commands will create a more or less
+standard tree:</para>
+
+<screen><userinput>mkdir -p /{bin,boot,dev/{pts,shm},etc/opt,home,lib,mnt,proc}
+mkdir -p /{root,sbin,srv,tmp,usr/local,var,opt}
+mkdir -p /media/{floppy,cdrom}
+mkdir /usr/{bin,include,lib,sbin,share,src}
+ln -s share/{man,doc,info} /usr
+mkdir /usr/share/{doc,info,locale,man}
+mkdir /usr/share/{misc,terminfo,zoneinfo}
+mkdir /usr/share/man/man{1,2,3,4,5,6,7,8}
+mkdir /usr/local/{bin,etc,include,lib,sbin,share,src}
+ln -s share/{man,doc,info} /usr/local
+mkdir /usr/local/share/{doc,info,locale,man}
+mkdir /usr/local/share/{misc,terminfo,zoneinfo}
+mkdir /usr/local/share/man/man{1,2,3,4,5,6,7,8}
+mkdir /var/{lock,log,mail,run,spool}
+mkdir -p /var/{tmp,opt,cache,lib/misc,local}
+mkdir /opt/{bin,doc,include,info}
+mkdir -p /opt/{lib,man/man{1,2,3,4,5,6,7,8}}</userinput></screen>
+
+<para>Directories are, by default, created with permission mode 755, but this
+isn't desirable for all directories. We will make two changes: one to the home
+directory of <emphasis>root</emphasis>, and another to the directories for
+temporary files.</para>
+
+<screen><userinput>chmod 0750 /root
+chmod 1777 /tmp /var/tmp</userinput></screen>
+
+<para>The first mode change ensures that not just anybody can enter the
+<filename class="directory">/root</filename> directory -- the same
+as a normal user would do with his or her home directory.
+The second mode change makes sure that any user can write to the
+<filename class="directory">/tmp</filename> and
+<filename class="directory">/var/tmp</filename> directories, but
+cannot remove other users' files from them. The latter is prohibited
+by the so-called <quote>sticky bit</quote> -- the highest bit in the 1777 bit
+mask.</para>
+
+<sect2>
+<title>FHS compliance note</title>
+
+<para>We have based our directory tree on the FHS standard (available at
+<ulink url="http://www.pathname.com/fhs/"/>). Besides the above created
+tree this standard stipulates the existence of
+<filename class="directory">/usr/local/games</filename> and
+<filename class="directory">/usr/share/games</filename>, but we don't
+much like these for a base system. However, feel free to make your system
+FHS-compliant. As to the structure of the
+<filename class="directory">/usr/local/share</filename> subdirectory, the FHS
+isn't precise, so we created here the directories that we think are needed.</para>
+
+</sect2>
+
+</sect1>
diff --git a/chapter06/diffutils.xml b/chapter06/diffutils.xml
index 203244033..845b83818 100644
--- a/chapter06/diffutils.xml
+++ b/chapter06/diffutils.xml
@@ -1,17 +1,24 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-diffutils" xreflabel="Diffutils">
-<title>Installing Diffutils-&diffutils-version;</title>
-<?dbhtml filename="diffutils.html" dir="chapter06"?>
+<title>Diffutils-&diffutils-version;</title>
+<?dbhtml filename="diffutils.html"?>
+
+<indexterm zone="ch-system-diffutils"><primary sortas="a-Diffutils">Diffutils</primary></indexterm>
<para>The Diffutils package contains programs that show the differences
between files or directories.</para>
-<screen>&buildtime; &diffutils-time;
-&diskspace; &diffutils-compsize;</screen>
+<screen>&buildtime; 0.1 SBU
+&diskspace; 7.5 MB</screen>
+
+<para>Diffutils installation depends on: Bash, Binutils, Coreutils, Diffutils, GCC,
+Gettext, Glibc, Grep, Make, Sed.</para>
-&aa-diffutils-down;
-&aa-diffutils-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Diffutils</title>
@@ -24,14 +31,39 @@ between files or directories.</para>
<screen><userinput>make</userinput></screen>
-<para>And install it:</para>
+<para>Install it:</para>
<screen><userinput>make install</userinput></screen>
</sect2>
-&aa-diffutils-shortdesc;
-&aa-diffutils-desc;
-</sect1>
+<sect2 id="contents-diffutils"><title>Contents of Diffutils</title>
+
+<para><emphasis>Installed programs</emphasis>: cmp, diff, diff3 and sdiff</para>
+
+</sect2>
+
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-diffutils cmp"><primary sortas="b-cmp">cmp</primary></indexterm>
+<para id="cmp"><command>cmp</command> compares two files and reports whether or
+in which bytes they differ.</para>
+<indexterm zone="ch-system-diffutils diff"><primary sortas="b-diff">diff</primary></indexterm>
+<para id="diff"><command>diff</command> compares two files or directories and reports
+which lines in the files differ.</para>
+
+<indexterm zone="ch-system-diffutils diff3"><primary sortas="b-diff3">diff3</primary></indexterm>
+<para id="diff3"><command>diff3</command> compares three files line by line.</para>
+
+<indexterm zone="ch-system-diffutils sdiff"><primary sortas="b-sdiff">sdiff</primary></indexterm>
+<para id="sdiff"><command>sdiff</command> merges two files and interactively outputs
+the results.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/e2fsprogs.xml b/chapter06/e2fsprogs.xml
index 89badb958..4ca8f4b50 100644
--- a/chapter06/e2fsprogs.xml
+++ b/chapter06/e2fsprogs.xml
@@ -1,17 +1,24 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-e2fsprogs" xreflabel="E2fsprogs">
-<title>Installing E2fsprogs-&e2fsprogs-version;</title>
-<?dbhtml filename="e2fsprogs.html" dir="chapter06"?>
+<title>E2fsprogs-&e2fsprogs-version;</title>
+<?dbhtml filename="e2fsprogs.html"?>
+
+<indexterm zone="ch-system-e2fsprogs"><primary sortas="a-E2fsprogs">E2fsprogs</primary></indexterm>
<para>The E2fsprogs package contains the utilities for handling the ext2
file system. It also supports the ext3 journaling file system.</para>
-<screen>&buildtime; &e2fsprogs-time;
-&diskspace; &e2fsprogs-compsize;</screen>
+<screen>&buildtime; 0.6 SBU
+&diskspace; 48.4 MB</screen>
+
+<para>E2fsprogs installation depends on: Bash, Binutils, Coreutils,
+Diffutils, Gawk, GCC, Gettext, Glibc, Grep, Make, Sed, Texinfo.</para>
-&aa-e2fsprogs-down;
-&aa-e2fsprogs-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of E2fsprogs</title>
@@ -24,8 +31,8 @@ cd ../e2fsprogs-build</userinput></screen>
<para>Prepare E2fsprogs for compilation:</para>
-<screen><userinput>../&e2fsprogs-dir;/configure --prefix=/usr --with-root-prefix="" \
-&nbsp;&nbsp;&nbsp;&nbsp;--enable-elf-shlibs</userinput></screen>
+<screen><userinput>../e2fsprogs-&e2fsprogs-version;/configure --prefix=/usr --with-root-prefix="" \
+ --enable-elf-shlibs</userinput></screen>
<para>The meaning of the configure options:</para>
@@ -41,15 +48,14 @@ to E2fsprogs's configure, the programs are placed in the
want.</para></listitem>
<listitem><para><userinput>--enable-elf-shlibs</userinput>: This creates
-the shared libraries which some programs in this package make use
-of.</para></listitem>
+the shared libraries which some programs in this package use.</para></listitem>
</itemizedlist>
<para>Compile the package:</para>
<screen><userinput>make</userinput></screen>
-<para>If you wish to have the results tested, first make sure an mtab file
+<para>If you to test the results, first make sure an mtab file
exists with <userinput>touch /etc/mtab</userinput> to prevent some sixty tests
from failing, and (if it doesn't already exist) fake the presence of an old
pager with <userinput>ln -s /tools/bin/cat /bin/more</userinput> to prevent one
@@ -59,15 +65,133 @@ test from failing, then issue: <userinput>make check</userinput>.</para>
<screen><userinput>make install</userinput></screen>
-<para>And install also the shared libraries:</para>
+<para>Also install also the shared libraries:</para>
<screen><userinput>make install-libs</userinput></screen>
</sect2>
-&aa-e2fsprogs-shortdesc;
-&aa-e2fsprogs-desc;
-</sect1>
+<sect2 id="contents-e2fsprogs"><title>Contents of E2fsprogs</title>
+
+<para><emphasis>Installed programs</emphasis>: badblocks, blkid, chattr,
+compile_et, debugfs, dumpe2fs, e2fsck, e2image, e2label, findfs, fsck,
+fsck.ext2, fsck.ext3, logsave, lsattr, mk_cmds, mke2fs, mkfs.ext2, mkfs.ext3,
+mklost+found, resize2fs, tune2fs and uuidgen.</para>
+
+<para><emphasis>Installed libraries</emphasis>: libblkid.[a,so],
+libcom_err.[a,so], libe2p.[a,so], libext2fs.[a,so], libss.[a,so] and
+libuuid.[a,so]</para>
+
+</sect2>
+
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-e2fsprogs badblocks"><primary sortas="b-badblocks">badblocks</primary></indexterm>
+<para id="badblocks"><command>badblocks</command> searches a device (usually a disk
+partition) for bad blocks.</para>
+
+<indexterm zone="ch-system-e2fsprogs blkid"><primary sortas="b-blkid">blkid</primary></indexterm>
+<para id="blkid"><command>blkid</command> is a command line utility to locate and
+print block device attributes.</para>
+
+<indexterm zone="ch-system-e2fsprogs chattr"><primary sortas="b-chattr">chattr</primary></indexterm>
+<para id="chattr"><command>chattr</command> changes the attributes of files on a
+second extended (ext2) file system, and also ext3 file systems, the journaling version of ext2 file systems.</para>
+
+<indexterm zone="ch-system-e2fsprogs compile_et"><primary sortas="b-compile_et">compile_et</primary></indexterm>
+<para id="compile_et"><command>compile_et</command> is an error table compiler. It
+converts a table of error-code names and messages into a C source file
+suitable for use with the com_err library.</para>
+
+<indexterm zone="ch-system-e2fsprogs debugfs"><primary sortas="b-debugfs">debugfs</primary></indexterm>
+<para id="debugfs"><command>debugfs</command> is a file system debugger. It can be
+used to examine and change the state of an ext2 file system.</para>
+
+<indexterm zone="ch-system-e2fsprogs dumpe2fs"><primary sortas="b-dumpe2fs">dumpe2fs</primary></indexterm>
+<para id="dumpe2fs"><command>dumpe2fs</command> prints the super block and blocks group
+information for the file system present on a given device.</para>
+
+<indexterm zone="ch-system-e2fsprogs e2fsck"><primary sortas="b-e2fsck">e2fsck</primary></indexterm>
+<para id="e2fsck"><command>e2fsck</command> is used to check, and optionally repair,
+second extended (ext2) file systems, and also ext3 file systems.</para>
+
+<indexterm zone="ch-system-e2fsprogs e2image"><primary sortas="b-e2image">e2image</primary></indexterm>
+<para id="e2image"><command>e2image</command> is used to save critical ext2 file system
+data to a file.</para>
+
+<indexterm zone="ch-system-e2fsprogs e2label"><primary sortas="b-e2label">e2label</primary></indexterm>
+<para id="e2label"><command>e2label</command> will display or change the file system
+label on the ext2 file system present on a given device.</para>
+
+<indexterm zone="ch-system-e2fsprogs findfs"><primary sortas="b-findfs">findfs</primary></indexterm>
+<para id="findfs"><command>findfs</command> finds a file system by label or UUID (Universally Unique Identifier).</para>
+
+<indexterm zone="ch-system-e2fsprogs fsck"><primary sortas="b-fsck">fsck</primary></indexterm>
+<para id="fsck"><command>fsck</command> is used to check, and optionally repair,
+file systems. By default it checks the file systems listed in
+<filename>/etc/fstab</filename></para>
+<indexterm zone="ch-system-e2fsprogs logsave"><primary sortas="b-logsave">logsave</primary></indexterm>
+<para id="logsave"><command>logsave</command> saves the output of a command in a log file.</para>
+
+<indexterm zone="ch-system-e2fsprogs lsattr"><primary sortas="b-lsattr">lsattr</primary></indexterm>
+<para id="lsattr"><command>lsattr</command> lists the attributes of files on a second
+extended file system.</para>
+
+<indexterm zone="ch-system-e2fsprogs mk_cmds"><primary sortas="b-mk_cmds">mk_cmds</primary></indexterm>
+<para id="mk_cmds"><command>mk_cmds</command> converts a table of command names
+and help messages into a C source file suitable for use with the
+<filename>libss</filename> subsystem library.</para>
+
+<indexterm zone="ch-system-e2fsprogs mke2fs"><primary sortas="b-mke2fs">mke2fs</primary></indexterm>
+<para id="mke2fs"><command>mke2fs</command> is used to create a second extended
+file system on the given device.</para>
+
+<indexterm zone="ch-system-e2fsprogs mklost-found"><primary sortas="b-mklost+found">mklost+found</primary></indexterm>
+<para id="mklost-found"><command>mklost+found</command> is used to create a
+<filename>lost+found</filename> directory on a second extended file system.
+It pre-allocates disk blocks to this directory to lighten the task of e2fsck.</para>
+
+<indexterm zone="ch-system-e2fsprogs resize2fs"><primary sortas="b-resize2fs">resize2fs</primary></indexterm>
+<para id="resize2fs"><command>resize2fs</command> can be used to enlarge or shrink an
+ext2 file system.</para>
+
+<indexterm zone="ch-system-e2fsprogs tune2fs"><primary sortas="b-tune2fs">tune2fs</primary></indexterm>
+<para id="tune2fs"><command>tune2fs</command> is used adjust tunable file system
+parameters on a second extended file system.</para>
+
+<indexterm zone="ch-system-e2fsprogs uuidgen"><primary sortas="b-uuidgen">uuidgen</primary></indexterm>
+<para id="uuidgen"><command>uuidgen</command> creates new
+UUID. Each new UUID can reasonably be considered unique
+among all UUIDs created, on the local system and on other systems, in the
+past and in the future.</para>
+
+<indexterm zone="ch-system-e2fsprogs libblkid"><primary sortas="c-libblkid">libblkid</primary></indexterm>
+<para id="libblkid"><command>libblkid</command> contains routines for device
+identification and token extraction.</para>
+
+<indexterm zone="ch-system-e2fsprogs libcom_err"><primary sortas="c-libcom_err">libcom_err</primary></indexterm>
+<para id="libcom_err"><command>libcom_err</command> is the common error display routine.</para>
+
+<indexterm zone="ch-system-e2fsprogs libe2p"><primary sortas="c-libe2p">libe2p</primary></indexterm>
+<para id="libe2p"><command>libe2p</command> is used by dumpe2fs, chattr, and lsattr.</para>
+
+<indexterm zone="ch-system-e2fsprogs libext2fs"><primary sortas="c-libext2fs">libext2fs</primary></indexterm>
+<para id="libext2fs"><command>libext2fs</command> contains routines to enable user-level
+programs to manipulate an ext2 file system.</para>
+
+<indexterm zone="ch-system-e2fsprogs libss"><primary sortas="c-libss">libss</primary></indexterm>
+<para id="libss"><command>libss</command> is used by debugfs.</para>
+
+<indexterm zone="ch-system-e2fsprogs libuuid"><primary sortas="c-libuuid">libuuid</primary></indexterm>
+<para id="libuuid"><command>libuuid</command> contains routines for generating unique
+identifiers for objects that may be accessible beyond the local system.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/ed.xml b/chapter06/ed.xml
index a5e9d3942..7858144c9 100644
--- a/chapter06/ed.xml
+++ b/chapter06/ed.xml
@@ -1,16 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-ed" xreflabel="Ed">
-<title>Installing Ed-&ed-version;</title>
-<?dbhtml filename="ed.html" dir="chapter06"?>
+<title>Ed-&ed-version;</title>
+<?dbhtml filename="ed.html"?>
+
+<indexterm zone="ch-system-ed"><primary sortas="a-Ed">Ed</primary></indexterm>
<para>The Ed package contains a spartan line editor.</para>
-<screen>&buildtime; &ed-time;
-&diskspace; &ed-compsize;</screen>
+<screen>&buildtime; 0.1 SBU
+&diskspace; 3.1 MB</screen>
+
+<para>Ed installation depends on: Bash, Binutils, Coreutils, Diffutils, GCC,
+Glibc, Grep, Make, Sed.</para>
-&aa-ed-down;
-&aa-ed-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Ed</title>
@@ -22,12 +29,12 @@ days.</para></note>
<para>Ed normally uses the <emphasis>mktemp</emphasis> function to create
temporary files in <filename class="directory">/tmp</filename>, but this
-function contains a vulnerability (see the section on Temporary Files in <ulink
+function contains a vulnerability (see the section on Temporary Files in <ulink
url="http://en.tldp.org/HOWTO/Secure-Programs-HOWTO/avoid-race.html"/>). Apply
the following patch to make Ed use <emphasis>mkstemp</emphasis> instead, a
secure way to create temporary files:</para>
-<screen><userinput>patch -Np1 -i ../&ed-patch;</userinput></screen>
+<screen><userinput>patch -Np1 -i ../ed-&ed-version;-mkstemp.patch</userinput></screen>
<para>Now prepare Ed for compilation:</para>
@@ -46,7 +53,7 @@ the programs available there is useful in the event of the
<screen><userinput>make</userinput></screen>
-<para>To have the results tested, issue:
+<para>To test the results, issue:
<userinput>make check</userinput>.</para>
<para>Install the package:</para>
@@ -55,8 +62,26 @@ the programs available there is useful in the event of the
</sect2>
-&aa-ed-shortdesc;
-&aa-ed-desc;
-</sect1>
+<sect2 id="contents-ed"><title>Contents of Ed</title>
+
+<para><emphasis>Installed programs</emphasis>: ed and red (link to ed)</para>
+
+</sect2>
+
+
+<sect2><title>Short descriptions</title>
+<indexterm zone="ch-system-ed ed"><primary sortas="b-ed">ed</primary></indexterm>
+<para id="ed"><command>ed</command> is a line-oriented text editor. It can be used
+to create, display, modify and otherwise manipulate text files.</para>
+
+<indexterm zone="ch-system-ed red"><primary sortas="b-red">red</primary></indexterm>
+<para id="red"><command>red</command> is a restricted ed -- it can only edit files
+in the current directory and cannot execute shell commands.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/file.xml b/chapter06/file.xml
index d7232b401..4b4bb8cd0 100644
--- a/chapter06/file.xml
+++ b/chapter06/file.xml
@@ -1,16 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-file" xreflabel="File">
-<title>Installing File-&file-version;</title>
-<?dbhtml filename="file.html" dir="chapter06"?>
+<title>File-&file-version;</title>
+<?dbhtml filename="file.html"?>
+
+<indexterm zone="ch-system-file"><primary sortas="a-File">File</primary></indexterm>
<para>The File package contains a utility for determining the type of files.</para>
-<screen>&buildtime; &file-time;
-&diskspace; &file-compsize;</screen>
+<screen>&buildtime; 0.1 SBU
+&diskspace; 6.3 MB</screen>
+
+<para>File installation depends on: Bash, Binutils, Coreutils, Diffutils,
+GCC, Glibc, Grep, Make, Sed, Zlib.</para>
-&aa-file-down;
-&aa-file-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of File</title>
@@ -23,14 +30,35 @@
<screen><userinput>make</userinput></screen>
-<para>And install it:</para>
+<para>Now install it:</para>
<screen><userinput>make install</userinput></screen>
</sect2>
-&aa-file-shortdesc;
-&aa-file-desc;
-</sect1>
+<sect2 id="contents-file"><title>Contents of File</title>
+
+<para><emphasis>Installed program</emphasis>: file</para>
+
+<para><emphasis>Installed library</emphasis>: libmagic.[a,so]</para>
+
+</sect2>
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-file file"><primary sortas="b-file">file</primary></indexterm>
+<para id="file"><command>file</command> tries to classify each given file. It does
+this by performing several tests: file system tests, magic number tests, and
+language tests. The first test that succeeds determines the result.</para>
+
+<indexterm zone="ch-system-file libmagic"><primary sortas="c-libmagic">libmagic</primary></indexterm>
+<para id="libmagic"><command>libmagic</command> contains routines for magic number
+recognition, used by the file program.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/findutils.xml b/chapter06/findutils.xml
index db2485a73..a6f2aa3d5 100644
--- a/chapter06/findutils.xml
+++ b/chapter06/findutils.xml
@@ -1,18 +1,26 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-findutils" xreflabel="Findutils">
-<title>Installing Findutils-&findutils-version;</title>
-<?dbhtml filename="findutils.html" dir="chapter06"?>
+<title>Findutils-&findutils-version;</title>
+<?dbhtml filename="findutils.html"?>
-<para>The Findutils package contains programs to find files. The finding is
-done either by doing a live recursive search through a directory tree, or by
-consulting a previously set up database.</para>
+<indexterm zone="ch-system-findutils"><primary sortas="a-Findutils">Findutils</primary></indexterm>
-<screen>&buildtime; &findutils-time;
-&diskspace; &findutils-compsize;</screen>
+<para>The Findutils package contains programs to find files. Processes
+are provided to recursively search through a directory tree and to
+create, maintain and search a database (often faster than the recursive
+find, but unreliable if the database has not been recently updated).</para>
+
+<screen>&buildtime; 0.2 SBU
+&diskspace; 7.5 MB</screen>
+
+<para>Findutils installation depends on: Bash, Binutils, Coreutils,
+Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed.</para>
-&aa-findutils-down;
-&aa-findutils-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Findutils</title>
@@ -29,17 +37,58 @@ database to be in /var/lib/misc, which is FHS-compliant.</para>
<screen><userinput>make</userinput></screen>
-<para>To have the results tested, issue:
+<para>To test the results, issue:
<userinput>make check</userinput>.</para>
-<para>And install the package:</para>
+<para>Now install the package:</para>
<screen><userinput>make install</userinput></screen>
</sect2>
-&aa-findutils-shortdesc;
-&aa-findutils-desc;
-</sect1>
+<sect2 id="contents-findutils"><title>Contents of Findutils</title>
+
+<para><emphasis>Installed programs</emphasis>: bigram, code, find, frcode,
+locate, updatedb and xargs</para>
+
+</sect2>
+
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-findutils bigram"><primary sortas="b-bigram">bigram</primary></indexterm>
+<para id="bigram"><command>bigram</command> was formerly used to produce locate
+databases.</para>
+
+<indexterm zone="ch-system-findutils code"><primary sortas="b-code">code</primary></indexterm>
+<para id="code"><command>code</command> was formerly used to produce locate
+databases. It is the ancestor of frcode.</para>
+<indexterm zone="ch-system-findutils find"><primary sortas="b-find">find</primary></indexterm>
+<para id="find"><command>find</command> searches given directory trees for files
+matching the specified criteria.</para>
+
+<indexterm zone="ch-system-findutils frcode"><primary sortas="b-frcode">frcode</primary></indexterm>
+<para id="frcode"><command>frcode</command> is called by updatedb to compress the
+list of file names. It uses front-compression, reducing the database size by a
+factor of 4 to 5.</para>
+
+<indexterm zone="ch-system-findutils locate"><primary sortas="b-locate">locate</primary></indexterm>
+<para id="locate"><command>locate</command> searches through a database of file names,
+and reports the names that contain a given string or match a given pattern.</para>
+
+<indexterm zone="ch-system-findutils updatedb"><primary sortas="b-updatedb">updatedb</primary></indexterm>
+<para id="updatedb"><command>updatedb</command> updates the locate database. It scans
+the entire file system (including other file systems that are currently mounted,
+unless told not to) and puts every file name it finds in the database.</para>
+
+<indexterm zone="ch-system-findutils xargs"><primary sortas="b-xargs">xargs</primary></indexterm>
+<para id="xargs"><command>xargs</command> can be used to apply a given command to
+a list of files.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/flex.xml b/chapter06/flex.xml
index 8bfbbb999..4210a6fc8 100644
--- a/chapter06/flex.xml
+++ b/chapter06/flex.xml
@@ -1,17 +1,24 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-flex" xreflabel="Flex">
-<title>Installing Flex-&flex-version;</title>
-<?dbhtml filename="flex.html" dir="chapter06"?>
+<title>Flex-&flex-version;</title>
+<?dbhtml filename="flex.html"?>
+
+<indexterm zone="ch-system-flex"><primary sortas="a-Flex">Flex</primary></indexterm>
<para>The Flex package contains a utility for generating programs that
recognize patterns in text.</para>
-<screen>&buildtime; &flex-time;
-&diskspace; &flex-compsize;</screen>
+<screen>&buildtime; 0.1 SBU
+&diskspace; 3.4 MB</screen>
+
+<para>Flex installation depends on: Bash, Binutils, Bison, Coreutils, Diffutils,
+GCC, Gettext, Glibc, Grep, M4, Make, Sed.</para>
-&aa-flex-down;
-&aa-flex-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Flex</title>
@@ -24,10 +31,10 @@ recognize patterns in text.</para>
<screen><userinput>make</userinput></screen>
-<para>To have the results tested, issue:
+<para>To test the results, issue:
<userinput>make bigcheck</userinput>.</para>
-<para>And install the package:</para>
+<para>Now install the package:</para>
<screen><userinput>make install</userinput></screen>
@@ -54,8 +61,35 @@ chmod 755 /usr/bin/lex</userinput></screen>
</sect2>
-&aa-flex-shortdesc;
-&aa-flex-desc;
-</sect1>
+<sect2 id="contents-flex"><title>Contents of Flex</title>
+
+<para><emphasis>Installed programs</emphasis>: flex, flex++ (link to flex)
+and lex</para>
+
+<para><emphasis>Installed library</emphasis>: libfl.a</para>
+
+</sect2>
+
+
+<sect2><title>Short descriptions</title>
+<indexterm zone="ch-system-flex flex"><primary sortas="b-flex">flex</primary></indexterm>
+<para id="flex"><command>flex</command> is a tool for generating programs that
+recognize patterns in text. Pattern recognition is useful in many applications.
+From a set of rules on what to look for, flex makes a program that looks for
+those patterns. The reason to use flex is that it is much easier to specify
+the rules for a pattern-finding program than to write the program.</para>
+
+<indexterm zone="ch-system-flex flex-"><primary sortas="b-flex++">flex++</primary></indexterm>
+<para id="flex-"><command>flex++</command> invokes a version of flex that is used
+exclusively for C++ scanners.</para>
+
+<indexterm zone="ch-system-flex libfl.a"><primary sortas="c-libfl.a">libfl.a</primary></indexterm>
+<para id="libfl.a"><command>libfl.a</command> is the flex library.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/gawk.xml b/chapter06/gawk.xml
index 50454c7aa..8eea05d14 100644
--- a/chapter06/gawk.xml
+++ b/chapter06/gawk.xml
@@ -1,16 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-gawk" xreflabel="Gawk">
-<title>Installing Gawk-&gawk-version;</title>
-<?dbhtml filename="gawk.html" dir="chapter06"?>
+<title>Gawk-&gawk-version;</title>
+<?dbhtml filename="gawk.html"?>
+
+<indexterm zone="ch-system-gawk"><primary sortas="a-Gawk">Gawk</primary></indexterm>
<para>The Gawk package contains programs for manipulating text files.</para>
-<screen>&buildtime; &gawk-time;
-&diskspace; &gawk-compsize;</screen>
+<screen>&buildtime; 0.2 SBU
+&diskspace; 17 MB</screen>
+
+<para>Gawk installation depends on: Bash, Binutils, Coreutils,
+Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed.</para>
-&aa-gawk-down;
-&aa-gawk-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Gawk</title>
@@ -23,17 +30,46 @@
<screen><userinput>make</userinput></screen>
-<para>To have the results tested, issue:
+<para>To test the results, issue:
<userinput>make check</userinput>.</para>
-<para>And install the package:</para>
+<para>Now install the package:</para>
<screen><userinput>make install</userinput></screen>
</sect2>
-&aa-gawk-shortdesc;
-&aa-gawk-desc;
-</sect1>
+<sect2 id="contents-gawk"><title>Contents of Gawk</title>
+
+<para><emphasis>Installed programs</emphasis>: awk (link to gawk), gawk,
+gawk-&gawk-version;, grcat, igawk, pgawk, pgawk-&gawk-version; and pwcat</para>
+
+</sect2>
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-gawk gawk"><primary sortas="b-gawk">gawk</primary></indexterm>
+<para id="gawk"><command>gawk</command> is a program for manipulating text files.
+It is the GNU implementation of awk.</para>
+
+<indexterm zone="ch-system-gawk grcat"><primary sortas="b-grcat">grcat</primary></indexterm>
+<para id="grcat"><command>grcat</command> dumps the group database
+<filename>/etc/group</filename>.</para>
+<indexterm zone="ch-system-gawk igawk"><primary sortas="b-igawk">igawk</primary></indexterm>
+<para id="igawk"><command>igawk</command> gives gawk the ability to
+include files.</para>
+
+<indexterm zone="ch-system-gawk pgawk"><primary sortas="b-pgawk">pgawk</primary></indexterm>
+<para id="pgawk"><command>pgawk</command> is the profiling version of gawk.</para>
+
+<indexterm zone="ch-system-gawk pwcat"><primary sortas="b-pwcat">pwcat</primary></indexterm>
+<para id="pwcat"><command>pwcat</command> dumps the password database
+<filename>/etc/passwd</filename>.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/gcc-2953.xml b/chapter06/gcc-2953.xml
index 171c4d908..b337d127e 100644
--- a/chapter06/gcc-2953.xml
+++ b/chapter06/gcc-2953.xml
@@ -1,22 +1,16 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-gcc-2953">
-<title>Installing GCC-2.95.3</title>
-<?dbhtml filename="gcc-2953.html" dir="chapter06"?>
+<title>GCC-&gcc-2953-version;</title>
+<?dbhtml filename="gcc-2953.html"?>
-<screen>&buildtime; &gcc-2953-time;
-&diskspace; &gcc-2953-compsize;</screen>
+<indexterm zone="ch-system-gcc-2953"><primary sortas="a-GCC-2953">GCC-2953</primary></indexterm>
-<sect2><title></title>
-<literallayout>Official download location for GCC-2 (&gcc-2953-version;):
-<ulink url="ftp://ftp.gnu.org/pub/gnu/gcc/"/>
-And for the GCC-2 Patch:
-<ulink url="&patches-root;&gcc-2953-patch;"/>
-And for the GCC-2 No-Fixincludes Patch:
-<ulink url="&patches-root;&gcc-2953-no-fixinc-patch;"/>
-And for the GCC-2 Return-Type Patch:
-<ulink url="&patches-root;&gcc-2953-returntype-fix-patch;"/></literallayout>
-</sect2>
-
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
+<screen>&buildtime; 1.5 SBU
+&buildtime; 130 MB</screen>
<sect2>
<title>Installation of GCC</title>
@@ -24,16 +18,16 @@ And for the GCC-2 Return-Type Patch:
<para>This package is known to behave badly when you have changed its
default optimization flags (including the -march and -mcpu options).
Therefore, if you have defined any environment variables that override
-default optimizations, such as CFLAGS and CXXFLAGS, we recommend unsetting
+default optimizations, such as CFLAGS and CXXFLAGS, we recommend un-setting
or modifying them when building GCC.</para>
<para>This is an older release of GCC which we are going to install for the
-purpose of compiling the Linux kernel in <xref linkend="chapter-mixture"/>. This
-version is recommended
-by the kernel developers when you need absolute stability. Later versions of
-GCC have not received as much testing for Linux kernel compilation. Using a
-later version is likely to work, however, we recommend adhering to the kernel
-developer's advice and using the version here to compile your kernel.</para>
+purpose of compiling the Linux kernel in <xref linkend="chapter-bootable"/>.
+This version is recommended by the kernel developers when you need absolute
+stability. Later versions of GCC have not received as much testing for Linux
+kernel compilation. Using a later version is likely to work, however, we
+recommend adhering to the kernel developer's advice and using the version here
+to compile your kernel.</para>
<note><para>We don't install the C++ compiler or libraries here. However, there
may be reasons why you would want to install them. More information can be found
@@ -46,9 +40,9 @@ the system GCC already installed in <filename class="directory">/usr</filename>
<para>Apply the patches and make a small adjustment:</para>
-<screen><userinput>patch -Np1 -i ../&gcc-2953-patch;
-patch -Np1 -i ../&gcc-2953-no-fixinc-patch;
-patch -Np1 -i ../&gcc-2953-returntype-fix-patch;
+<screen><userinput>patch -Np1 -i ../gcc-&gcc-2953-version;-2.patch
+patch -Np1 -i ../gcc-&gcc-2953-version;-no-fixinc.patch
+patch -Np1 -i ../gcc-&gcc-2953-version;-returntype-fix.patch
echo timestamp &gt; gcc/cstamp-h.in</userinput></screen>
<para>The GCC documentation recommends building GCC outside of the source
@@ -59,13 +53,12 @@ cd ../gcc-2-build</userinput></screen>
<para>Compile and install the compiler:</para>
-<screen><userinput>../&gcc-2953-dir;/configure --prefix=/opt/&gcc-2953-dir; \
-&nbsp;&nbsp;&nbsp;&nbsp;--enable-shared --enable-languages=c \
-&nbsp;&nbsp;&nbsp;&nbsp;--enable-threads=posix
+<screen><userinput>../gcc-&gcc-2953-version;/configure --prefix=/opt/gcc-&gcc-2953-version; \
+ --enable-shared --enable-languages=c \
+ --enable-threads=posix
make bootstrap
make install</userinput></screen>
</sect2>
</sect1>
-
diff --git a/chapter06/gcc.xml b/chapter06/gcc.xml
index bb9467167..cc6b5d79e 100644
--- a/chapter06/gcc.xml
+++ b/chapter06/gcc.xml
@@ -1,21 +1,24 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-gcc" xreflabel="GCC">
-<title>Installing GCC-&gcc-version;</title>
-<?dbhtml filename="gcc.html" dir="chapter06"?>
+<title>GCC-&gcc-version;</title>
+<?dbhtml filename="gcc.html"?>
-<para>The GCC package contains the GNU compiler collection, among them
+<indexterm zone="ch-system-gcc"><primary sortas="a-GCC">GCC</primary></indexterm>
+
+<para>The GCC package contains the GNU compiler collection, which includes
the C and C++ compilers.</para>
-<screen>&buildtime; &gcc-time;
-&diskspace; &gcc-compsize;</screen>
+<screen>&buildtime; 11.7 SBU
+&diskspace; 294 MB</screen>
-<literallayout>Official download location for GCC (&gcc-version;):
-<ulink url="ftp://ftp.gnu.org/pub/gnu/gcc/"/>
-And for the patch:
-<ulink url="&patches-root;&gcc-nofixincludes-patch;"/></literallayout>
+<para>GCC installation depends on: Bash, Binutils, Coreutils, Diffutils, Findutils,
+Gawk, Gettext, Glibc, Grep, Make, Perl, Sed, Texinfo.</para>
-&aa-gcc-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of GCC</title>
@@ -23,7 +26,7 @@ And for the patch:
<para>This package is known to behave badly when you have changed its
default optimization flags (including the -march and -mcpu options).
Therefore, if you have defined any environment variables that override
-default optimizations, such as CFLAGS and CXXFLAGS, we recommend unsetting
+default optimizations, such as CFLAGS and CXXFLAGS, we recommend un-setting
or modifying them when building GCC.</para>
<para>Unpack the GCC-core <emphasis>and</emphasis> the GCC-g++ tarball -- they
@@ -35,7 +38,7 @@ compilers. Instructions for building these can be found at
<para>First apply only the No-Fixincludes patch (and <emphasis>not</emphasis>
the Specs patch) also used in the previous chapter:</para>
-<screen><userinput>patch -Np1 -i ../&gcc-nofixincludes-patch;</userinput></screen>
+<screen><userinput>patch -Np1 -i ../gcc-&gcc-version;-no_fixincludes-1.patch</userinput></screen>
<para>Now apply a sed substitution that will suppress the installation of
<filename>libiberty.a</filename>. We want to use the version of
@@ -51,10 +54,10 @@ cd ../gcc-build</userinput></screen>
<para>Now prepare GCC for compilation:</para>
-<screen><userinput>../&gcc-dir;/configure --prefix=/usr \
-&nbsp;&nbsp;&nbsp;&nbsp;--enable-shared --enable-threads=posix \
-&nbsp;&nbsp;&nbsp;&nbsp;--enable-__cxa_atexit --enable-clocale=gnu \
-&nbsp;&nbsp;&nbsp;&nbsp;--enable-languages=c,c++</userinput></screen>
+<screen><userinput>../gcc-&gcc-version;/configure --prefix=/usr \
+ --enable-shared --enable-threads=posix \
+ --enable-__cxa_atexit --enable-clocale=gnu \
+ --enable-languages=c,c++</userinput></screen>
<para>Compile the package:</para>
@@ -73,13 +76,13 @@ known ones):</para>
much appropriate here. Be sure to refer back there should you have any
doubts.</para>
-<para>And install the package:</para>
+<para>Now install the package:</para>
<screen><userinput>make install</userinput></screen>
<para>Some packages expect the C PreProcessor to be installed in the
<filename>/lib</filename> directory.
-To honor those packages, create this symlink:</para>
+To support those packages, create this symlink:</para>
<screen><userinput>ln -s ../usr/bin/cpp /lib</userinput></screen>
@@ -96,8 +99,53 @@ are wrong, then most likely you erroneously applied the GCC Specs patch from
</sect2>
-&aa-gcc-shortdesc;
-&aa-gcc-desc;
-</sect1>
+<sect2 id="contents-gcc"><title>Contents of GCC</title>
+
+<para><emphasis>Installed programs</emphasis>: c++, cc (link to gcc),
+cc1, cc1plus, collect2, cpp, g++, gcc, gccbug, and gcov</para>
+
+<para><emphasis>Installed libraries</emphasis>: libgcc.a, libgcc_eh.a,
+libgcc_s.so, libstdc++.[a,so] and libsupc++.a</para>
+
+</sect2>
+
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-gcc cpp"><primary sortas="b-cpp">cpp</primary></indexterm>
+<para id="cpp"><command>cpp</command> is the C preprocessor. It is used by the
+compiler to have the #include and #define and such statements expanded in
+the source files.</para>
+
+<indexterm zone="ch-system-gcc g"><primary sortas="b-g++">g++</primary></indexterm>
+<para id="g"><command>g++</command> is the C++ compiler.</para>
+
+<indexterm zone="ch-system-gcc gcc"><primary sortas="b-gcc">gcc</primary></indexterm>
+<para id="gcc"><command>gcc</command> is the C compiler. It is used to translate
+the source code of a program into assembly code.</para>
+<indexterm zone="ch-system-gcc gccbug"><primary sortas="b-gccbug">gccbug</primary></indexterm>
+<para id="gccbug"><command>gccbug</command> is a shell script used to help create
+good bug reports.</para>
+
+<indexterm zone="ch-system-gcc gcov"><primary sortas="b-gcov">gcov</primary></indexterm>
+<para id="gcov"><command>gcov</command> is a coverage testing tool. It is used to
+analyze programs to find out where optimizations will have the most effect.</para>
+
+<indexterm zone="ch-system-gcc libgcc"><primary sortas="c-libgcc*">libgcc*</primary></indexterm>
+<para id="libgcc"><command>libgcc*</command> contains run-time support for gcc.</para>
+
+<indexterm zone="ch-system-gcc libstdc"><primary sortas="c-libstdc++">libstdc++</primary></indexterm>
+<para id="libstdc"><command>libstdc++</command> is the standard C++ library. It contains
+many frequently-used functions.</para>
+
+<indexterm zone="ch-system-gcc libsupc"><primary sortas="c-libsupc++">libsupc++</primary></indexterm>
+<para id="libsupc"><command>libsupc++</command> provides supporting routines
+for the c++ programming language.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/gettext.xml b/chapter06/gettext.xml
index 2e7b6a080..9c3b449cd 100644
--- a/chapter06/gettext.xml
+++ b/chapter06/gettext.xml
@@ -1,18 +1,25 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-gettext" xreflabel="Gettext">
-<title>Installing Gettext-&gettext-version;</title>
-<?dbhtml filename="gettext.html" dir="chapter06"?>
+<title>Gettext-&gettext-version;</title>
+<?dbhtml filename="gettext.html"?>
+
+<indexterm zone="ch-system-gettext"><primary sortas="a-Gettext">Gettext</primary></indexterm>
<para>The Gettext package contains utilities for internationalization and
localization. These allow programs to be compiled with Native Language Support
(NLS), enabling them to output messages in the user's native language.</para>
-<screen>&buildtime; &gettext-time;
-&diskspace; &gettext-compsize;</screen>
+<screen>&buildtime; 0.5 SBU
+&diskspace; 55 MB</screen>
+
+<para>Gettext installation depends on: Bash, Binutils, Bison, Coreutils,
+Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed.</para>
-&aa-gettext-down;
-&aa-gettext-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Gettext</title>
@@ -25,18 +32,148 @@ localization. These allow programs to be compiled with Native Language Support
<screen><userinput>make</userinput></screen>
-<para>To have the results tested, issue:
+<para>To test the results, issue:
<userinput>make check</userinput>. This takes a very long time, around
7 SBUs.</para>
-<para>And install the package:</para>
+<para>Now install the package:</para>
<screen><userinput>make install</userinput></screen>
</sect2>
-&aa-gettext-shortdesc;
-&aa-gettext-desc;
-</sect1>
+<sect2 id="contents-gettext"><title>Contents of Gettext</title>
+
+<para><emphasis>Installed programs</emphasis>: autopoint, config.charset,
+config.rpath, envsubst, gettext, gettextize, hostname, msgattrib, msgcat,
+msgcmp, msgcomm, msgconv, msgen, msgexec, msgfilter, msgfmt, msggrep, msginit,
+msgmerge, msgunfmt, msguniq, ngettext, project-id, team-address, trigger,
+urlget, user-email and xgettext</para>
+
+<para><emphasis>Installed libraries</emphasis>: libasprintf[a,so],
+libgettextlib[a,so], libgettextpo[a,so] and libgettextsrc[a,so]</para>
+
+</sect2>
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-gettext autopoint"><primary sortas="b-autopoint">autopoint</primary></indexterm>
+<para id="autopoint"><command>autopoint</command> copies standard gettext infrastructure
+files into a source package.</para>
+
+<indexterm zone="ch-system-gettext config.charset"><primary sortas="b-config.charset">config.charset</primary></indexterm>
+<para id="config.charset"><command>config.charset</command> outputs a system-dependent table of
+character encoding aliases.</para>
+
+<indexterm zone="ch-system-gettext config.rpath"><primary sortas="b-config.rpath">config.rpath</primary></indexterm>
+<para id="config.rpath"><command>config.rpath</command> outputs a system-dependent set of
+variables, describing how to set the runtime search path of shared libraries in an
+executable.</para>
+
+<indexterm zone="ch-system-gettext envsubst"><primary sortas="b-envsubst">envsubst</primary></indexterm>
+<para id="envsubst"><command>envsubst</command> substitutes environment variables in shell
+format strings.</para>
+
+<indexterm zone="ch-system-gettext gettext"><primary sortas="b-gettext">gettext</primary></indexterm>
+<para id="gettext"><command>gettext</command> translates a natural language message into
+the user's language, by looking up the translation in a message catalog.</para>
+
+<indexterm zone="ch-system-gettext gettextize"><primary sortas="b-gettextize">gettextize</primary></indexterm>
+<para id="gettextize"><command>gettextize</command> copies all standard Gettext files into
+the given top-level directory of a package, to begin inter-nationalizing it.</para>
+
+<indexterm zone="ch-system-gettext hostname-gettext"><primary sortas="b-hostname-gettext">hostname</primary></indexterm>
+<para id="hostname-gettext"><command>hostname</command> displays a network hostname in various
+forms.</para>
+
+<indexterm zone="ch-system-gettext msgattrib"><primary sortas="b-msgattrib">msgattrib</primary></indexterm>
+<para id="msgattrib"><command>msgattrib</command> filters the messages of a translation
+catalog according to their attributes and manipulates the attributes.</para>
+
+<indexterm zone="ch-system-gettext msgcat"><primary sortas="b-msgcat">msgcat</primary></indexterm>
+<para id="msgcat"><command>msgcat</command> concatenates and merges the given
+<filename>.po</filename> files.</para>
+
+<indexterm zone="ch-system-gettext msgcmp"><primary sortas="b-msgcmp">msgcmp</primary></indexterm>
+<para id="msgcmp"><command>msgcmp</command> compares two <filename>.po</filename>
+files to check that both contain the same set of msgid strings.</para>
+
+<indexterm zone="ch-system-gettext msgcomm"><primary sortas="b-msgcomm">msgcomm</primary></indexterm>
+<para id="msgcomm"><command>msgcomm</command> finds the messages that are common to
+to the given <filename>.po</filename> files.</para>
+
+<indexterm zone="ch-system-gettext msgconv"><primary sortas="b-msgconv">msgconv</primary></indexterm>
+<para id="msgconv"><command>msgconv</command> converts a translation catalog to a
+different character encoding.</para>
+<indexterm zone="ch-system-gettext msgen"><primary sortas="b-msgen">msgen</primary></indexterm>
+<para id="msgen"><command>msgen</command> creates an English translation catalog.</para>
+
+<indexterm zone="ch-system-gettext msgexec"><primary sortas="b-msgexec">msgexec</primary></indexterm>
+<para id="msgexec"><command>msgexec</command> applies a command to all translations of a
+translation catalog.</para>
+
+<indexterm zone="ch-system-gettext msgfilter"><primary sortas="b-msgfilter">msgfilter</primary></indexterm>
+<para id="msgfilter"><command>msgfilter</command> applies a filter to all translations of a
+translation catalog.</para>
+
+<indexterm zone="ch-system-gettext msgfmt"><primary sortas="b-msgfmt">msgfmt</primary></indexterm>
+<para id="msgfmt"><command>msgfmt</command> generates a binary message catalog from
+from a translation catalog.</para>
+
+<indexterm zone="ch-system-gettext msggrep"><primary sortas="b-msggrep">msggrep</primary></indexterm>
+<para id="msggrep"><command>msggrep</command> extracts all messages of a translation
+catalog that match a given pattern or belong to some given source files.</para>
+
+<indexterm zone="ch-system-gettext msginit"><primary sortas="b-msginit">msginit</primary></indexterm>
+<para id="msginit"><command>msginit</command> creates a new <filename>.po</filename>
+file, initializing the meta information with values from the user's
+environment.</para>
+
+<indexterm zone="ch-system-gettext msgmerge"><primary sortas="b-msgmerge">msgmerge</primary></indexterm>
+<para id="msgmerge"><command>msgmerge</command> combines two raw translations into a
+single file.</para>
+
+<indexterm zone="ch-system-gettext msgunfmt"><primary sortas="b-msgunfmt">msgunfmt</primary></indexterm>
+<para id="msgunfmt"><command>msgunfmt</command> decompiles a binary message catalog
+into raw translation text.</para>
+
+<indexterm zone="ch-system-gettext msguniq"><primary sortas="b-msguniq">msguniq</primary></indexterm>
+<para id="msguniq"><command>msguniq</command> unifies duplicate translations in a
+translation catalog.</para>
+
+<indexterm zone="ch-system-gettext ngettext"><primary sortas="b-ngettext">ngettext</primary></indexterm>
+<para id="ngettext"><command>ngettext</command> displays native language translations of a
+textual message whose grammatical form depends on a number.</para>
+
+<indexterm zone="ch-system-gettext xgettext"><primary sortas="b-xgettext">xgettext</primary></indexterm>
+<para id="xgettext"><command>xgettext</command> extracts the translatable message lines
+from the given source files, to make the first translation template.</para>
+
+<indexterm zone="ch-system-gettext libasprintf"><primary sortas="c-libasprintf">libasprintf</primary></indexterm>
+<para id="libasprintf"><command>libasprintf</command> defines the autosprintf class, which
+makes C formatted output routines usable in C++ programs, for use with the
+&lt;string&gt; strings and the &lt;iostream&gt; streams.</para>
+
+<indexterm zone="ch-system-gettext libgettextlib"><primary sortas="c-libgettextlib">libgettextlib</primary></indexterm>
+<para id="libgettextlib"><command>libgettextlib</command> is a private library containing
+common routines used by the various gettext programs. They're not meant for
+general use.</para>
+
+<indexterm zone="ch-system-gettext libgettextpo"><primary sortas="c-libgettextpo">libgettextpo</primary></indexterm>
+<para id="libgettextpo"><command>libgettextpo</command> is used to write specialized
+programs that process PO files. This library is used when the standard
+applications shipped with gettext won't suffice (such as msgcomm, msgcmp,
+msgattrib and msgen).</para>
+
+<indexterm zone="ch-system-gettext libgettextsrc"><primary sortas="c-libgettextsrc">libgettextsrc</primary></indexterm>
+<para id="libgettextsrc"><command>libgettextsrc</command> is a private library containing
+common routines used by the various gettext programs. They're not meant for
+general use.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/glibc.xml b/chapter06/glibc.xml
index 86dbcb09b..59ecff6f9 100644
--- a/chapter06/glibc.xml
+++ b/chapter06/glibc.xml
@@ -1,19 +1,26 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-glibc" xreflabel="Glibc">
-<title>Installing Glibc-&glibc-version;</title>
-<?dbhtml filename="glibc.html" dir="chapter06"?>
+<title>Glibc-&glibc-version;</title>
+<?dbhtml filename="glibc.html"?>
+
+<indexterm zone="ch-system-glibc"><primary sortas="a-Glibc">Glibc</primary></indexterm>
<para>The Glibc package contains the main C library. This library provides all
the basic routines for allocating memory, searching directories, opening and
closing files, reading and writing them, string handling, pattern matching,
arithmetic, and so on.</para>
-<screen>&buildtime; &glibc-time;
-&diskspace; &glibc-compsize;</screen>
+<screen>&buildtime; 12.3 SBU
+&diskspace; 784 MB</screen>
+
+<para>Glibc installation depends on: Bash, Binutils, Coreutils, Diffutils,
+Gawk, GCC, Gettext, Grep, Make, Perl, Sed, Texinfo.</para>
-&aa-glibc-down;
-&aa-glibc-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Glibc</title>
@@ -35,10 +42,10 @@ cd ../glibc-build</userinput></screen>
<para>Now prepare Glibc for compilation:</para>
-<screen><userinput>../&glibc-dir;/configure --prefix=/usr \
-&nbsp;&nbsp;&nbsp;&nbsp;--disable-profile --enable-add-ons=linuxthreads \
-&nbsp;&nbsp;&nbsp;&nbsp;--libexecdir=/usr/lib --with-headers=/usr/include \
-&nbsp;&nbsp;&nbsp;&nbsp;--without-cvs</userinput></screen>
+<screen><userinput>../glibc-&glibc-version;-20031202/configure --prefix=/usr \
+ --disable-profile --enable-add-ons=linuxthreads \
+ --libexecdir=/usr/lib --with-headers=/usr/include \
+ --without-cvs</userinput></screen>
<para>The meaning of the new configure options:</para>
@@ -106,6 +113,7 @@ localedef -i en_HK -f ISO-8859-1 en_HK
localedef -i en_PH -f ISO-8859-1 en_PH
localedef -i en_US -f ISO-8859-1 en_US
localedef -i es_MX -f ISO-8859-1 es_MX
+localedef -i fa_IR -f UTF-8 fa_IR
localedef -i fr_FR -f ISO-8859-1 fr_FR
localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro
localedef -i it_IT -f ISO-8859-1 it_IT
@@ -113,17 +121,18 @@ localedef -i ja_JP -f EUC-JP ja_JP</userinput></screen>
<para>Finally, build the linuxthreads man pages:</para>
-<screen><userinput>make -C ../&glibc-dir;/linuxthreads/man</userinput></screen>
+<screen><userinput>make -C ../glibc-&glibc-version;-20031202/linuxthreads/man</userinput></screen>
<para>And install these pages:</para>
-<screen><userinput>make -C ../&glibc-dir;/linuxthreads/man install</userinput></screen>
+<screen><userinput>make -C ../glibc-&glibc-version;-20031202/linuxthreads/man install</userinput></screen>
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-<sect2><title>Configuring Glibc</title>
+<sect2 id="conf-glibc"><title>Configuring Glibc</title>
+<indexterm zone="conf-glibc"><primary sortas="e-/etc/nsswitch.conf">/etc/nsswitch.conf</primary></indexterm>
+<indexterm zone="conf-glibc"><primary sortas="e-/etc/localtime">/etc/localtime</primary></indexterm>
<para>We need to create the <filename>/etc/nsswitch.conf</filename> file,
because, although Glibc provides defaults when this file is missing or corrupt,
@@ -182,23 +191,22 @@ gave you.</para>
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-<sect2>
+<sect2 id="conf-ld">
<title>Configuring Dynamic Loader</title>
+<indexterm zone="conf-ld"><primary sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary></indexterm>
<para>By default, the dynamic loader
-(<filename>/lib/ld-linux.so.2</filename>) searches through <filename
-class="directory">/lib</filename> and <filename
-class="directory">/usr/lib</filename> for dynamic libraries that are needed
+(<filename>/lib/ld-linux.so.2</filename>) searches through <filename
+class="directory">/lib</filename> and <filename class="directory">/usr/lib</filename>
+for dynamic libraries that are needed
by programs when you run them. However, if there are libraries in
directories other than <filename class="directory">/lib</filename> and
<filename class="directory">/usr/lib</filename>, you need to add them to
the <filename>/etc/ld.so.conf</filename> file for the dynamic
loader to find them. Two directories that are commonly known to contain
-additional libraries are <filename
-class="directory">/usr/local/lib</filename> and <filename
-class="directory">/opt/lib</filename>, so we add those directories to the
+additional libraries are <filename class="directory">/usr/local/lib</filename>
+and <filename class="directory">/opt/lib</filename>, so we add those directories to the
dynamic loader's search path.</para>
<para>Create a new file <filename>/etc/ld.so.conf</filename> by running the
@@ -215,8 +223,203 @@ following:</para>
</sect2>
-&aa-glibc-shortdesc;
-&aa-glibc-desc;
-</sect1>
+<sect2 id="contents-glibc"><title>Contents of Glibc</title>
+
+<para><emphasis>Installed programs</emphasis>: catchsegv, gencat, getconf,
+getent, glibcbug, iconv, iconvconfig, ldconfig, ldd, lddlibc4, locale,
+localedef, mtrace, nscd, nscd_nischeck, pcprofiledump, pt_chown, rpcgen,
+rpcinfo, sln, sprof, tzselect, xtrace, zdump and zic</para>
+
+<para><emphasis>Installed libraries</emphasis>: ld.so, libBrokenLocale.[a,so],
+libSegFault.so, libanl.[a,so], libbsd-compat.a, libc.[a,so], libc_nonshared.a,
+libcrypt.[a,so], libdl.[a,so], libg.a, libieee.a, libm.[a,so], libmcheck.a,
+libmemusage.so, libnsl.a, libnss_compat.so, libnss_dns.so, libnss_files.so,
+libnss_hesiod.so, libnss_nis.so, libnss_nisplus.so, libpcprofile.so,
+libpthread.[a,so], libresolv.[a,so], librpcsvc.a, librt.[a,so], libthread_db.so
+and libutil.[a,so]</para>
+
+</sect2>
+
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-glibc catchsegv"><primary sortas="b-catchsegv">catchsegv</primary></indexterm>
+<para id="catchsegv"><command>catchsegv</command> can be used to create a stack trace
+when a program terminates with a segmentation fault.</para>
+
+<indexterm zone="ch-system-glibc gencat"><primary sortas="b-gencat">gencat</primary></indexterm>
+<para id="gencat"><command>gencat</command> generates message catalogues.</para>
+
+<indexterm zone="ch-system-glibc getconf"><primary sortas="b-getconf">getconf</primary></indexterm>
+<para id="getconf"><command>getconf</command> displays the system configuration values
+for file system specific variables.</para>
+
+<indexterm zone="ch-system-glibc getent"><primary sortas="b-getent">getent</primary></indexterm>
+<para id="getent"><command>getent</command> gets entries from an administrative
+database.</para>
+
+<indexterm zone="ch-system-glibc glibcbug"><primary sortas="b-glibcbug">glibcbug</primary></indexterm>
+<para id="glibcbug"><command>glibcbug</command> creates a bug report and mails it to the
+bug email address.</para>
+
+<indexterm zone="ch-system-glibc iconv"><primary sortas="b-iconv">iconv</primary></indexterm>
+<para id="iconv"><command>iconv</command> performs character set conversion.</para>
+
+<indexterm zone="ch-system-glibc iconvconfig"><primary sortas="b-iconvconfig">iconvconfig</primary></indexterm>
+<para id="iconvconfig"><command>iconvconfig</command> creates fastloading iconv module
+configuration file.</para>
+
+<indexterm zone="ch-system-glibc ldconfig"><primary sortas="b-ldconfig">ldconfig</primary></indexterm>
+<para id="ldconfig"><command>ldconfig</command> configures the dynamic linker runtime
+bindings.</para>
+
+<indexterm zone="ch-system-glibc ldd"><primary sortas="b-ldd">ldd</primary></indexterm>
+<para id="ldd"><command>ldd</command> reports which shared libraries are required
+by each given program or shared library.</para>
+
+<indexterm zone="ch-system-glibc lddlibc4"><primary sortas="b-lddlibc4">lddlibc4</primary></indexterm>
+<para id="lddlibc4"><command>lddlibc4</command> assists ldd with object files.</para>
+
+<indexterm zone="ch-system-glibc locale"><primary sortas="b-locale">locale</primary></indexterm>
+<para id="locale"><command>locale</command> is a Perl program that tells the compiler
+to enable or disable the use of POSIX locales for built-in operations.</para>
+
+<indexterm zone="ch-system-glibc localedef"><primary sortas="b-localedef">localedef</primary></indexterm>
+<para id="localedef"><command>localedef</command> compiles locale specifications.</para>
+
+<indexterm zone="ch-system-glibc mtrace"><primary sortas="b-mtrace">mtrace</primary></indexterm>
+<para id="mtrace"><command>mtrace</command>...</para>
+
+<indexterm zone="ch-system-glibc nscd"><primary sortas="b-nscd">nscd</primary></indexterm>
+<para id="nscd"><command>nscd</command> is a name service cache daemon providing a
+cache for the most common name service requests.</para>
+
+<indexterm zone="ch-system-glibc nscd_nischeck"><primary sortas="b-nscd_nischeck">nscd_nischeck</primary></indexterm>
+<para id="nscd_nischeck"><command>nscd_nischeck</command> checks whether or not secure mode
+is necessary for NIS+ lookup.</para>
+
+<indexterm zone="ch-system-glibc pcprofiledump"><primary sortas="b-pcprofiledump">pcprofiledump</primary></indexterm>
+<para id="pcprofiledump"><command>pcprofiledump</command> dumps information generated by
+PC profiling.</para>
+
+<indexterm zone="ch-system-glibc pt_chown"><primary sortas="b-pt_chown">pt_chown</primary></indexterm>
+<para id="pt_chown"><command>pt_chown</command> is a helper program for grantpt to set
+the owner, group and access permissions of a slave pseudo terminal.</para>
+
+<indexterm zone="ch-system-glibc rpcgen"><primary sortas="b-rpcgen">rpcgen</primary></indexterm>
+<para id="rpcgen"><command>rpcgen</command> generates C code to implement the
+RPC protocol.</para>
+
+<indexterm zone="ch-system-glibc rpcinfo"><primary sortas="b-rpcinfo">rpcinfo</primary></indexterm>
+<para id="rpcinfo"><command>rpcinfo</command> makes an RPC call to an RPC server.</para>
+
+<indexterm zone="ch-system-glibc sln"><primary sortas="b-sln">sln</primary></indexterm>
+<para id="sln"><command>sln</command> is used to make symbolic links. The program
+is statically linked, so it is useful for making symbolic links to dynamic
+libraries if the dynamic linking system for some reason is nonfunctional.</para>
+
+<indexterm zone="ch-system-glibc sprof"><primary sortas="b-sprof">sprof</primary></indexterm>
+<para id="sprof"><command>sprof</command> reads and displays shared object profiling
+data.</para>
+<indexterm zone="ch-system-glibc tzselect"><primary sortas="b-tzselect">tzselect</primary></indexterm>
+<para id="tzselect"><command>tzselect</command> asks the user about the location of the
+system and reports the corresponding time zone description.</para>
+
+<indexterm zone="ch-system-glibc xtrace"><primary sortas="b-xtrace">xtrace</primary></indexterm>
+<para id="xtrace"><command>xtrace</command> traces the execution of a program by
+printing the currently executed function.</para>
+
+<indexterm zone="ch-system-glibc zdump"><primary sortas="b-zdump">zdump</primary></indexterm>
+<para id="zdump"><command>zdump</command> is the time zone dumper.</para>
+
+<indexterm zone="ch-system-glibc zic"><primary sortas="b-zic">zic</primary></indexterm>
+<para id="zic"><command>zic</command> is the time zone compiler.</para>
+
+<indexterm zone="ch-system-glibc ld.so"><primary sortas="c-ld.so">ld.so</primary></indexterm>
+<para id="ld.so"><command>ld.so</command> is the helper program for shared library
+executables.</para>
+
+<indexterm zone="ch-system-glibc libBrokenLocale"><primary sortas="c-libBrokenLocale">libBrokenLocale</primary></indexterm>
+<para id="libBrokenLocale"><command>libBrokenLocale</command> is used by programs, such as
+Mozilla, to solve broken locales.</para>
+
+<indexterm zone="ch-system-glibc libSegFault"><primary sortas="c-libSegFault">libSegFault</primary></indexterm>
+<para id="libSegFault"><command>libSegFault</command> is a segmentation fault signal
+handler. It tries to catch segfaults.</para>
+
+<indexterm zone="ch-system-glibc libanl"><primary sortas="c-libanl">libanl</primary></indexterm>
+<para id="libanl"><command>libanl</command> is an asynchronous name lookup
+library.</para>
+
+<indexterm zone="ch-system-glibc libbsd-compat"><primary sortas="c-libbsd-compat">libbsd-compat</primary></indexterm>
+<para id="libbsd-compat"><command>libbsd-compat</command> provides the portability needed
+in order to run certain BSD programs under Linux.</para>
+
+<indexterm zone="ch-system-glibc libc"><primary sortas="c-libc">libc</primary></indexterm>
+<para id="libc"><command>libc</command> is the main C library -- a collection of
+commonly used functions.</para>
+
+<indexterm zone="ch-system-glibc libcrypt"><primary sortas="c-libcrypt">libcrypt</primary></indexterm>
+<para id="libcrypt"><command>libcrypt</command> is the cryptography library.</para>
+
+<indexterm zone="ch-system-glibc libdl"><primary sortas="c-libdl">libdl</primary></indexterm>
+<para id="libdl"><command>libdl</command> is the dynamic linking interface library.</para>
+
+<indexterm zone="ch-system-glibc libg"><primary sortas="c-libg">libg</primary></indexterm>
+<para id="libg"><command>libg</command> is a runtime library for g++.</para>
+
+<indexterm zone="ch-system-glibc libieee"><primary sortas="c-libieee">libieee</primary></indexterm>
+<para id="libieee"><command>libieee</command> is the IEEE floating point library.</para>
+
+<indexterm zone="ch-system-glibc libm"><primary sortas="c-libm">libm</primary></indexterm>
+<para id="libm"><command>libm</command> is the mathematical library.</para>
+
+<indexterm zone="ch-system-glibc libmcheck"><primary sortas="c-libmcheck">libmcheck</primary></indexterm>
+<para id="libmcheck"><command>libmcheck</command> contains code run at boot.</para>
+
+<indexterm zone="ch-system-glibc libmemusage"><primary sortas="c-libmemusage">libmemusage</primary></indexterm>
+<para id="libmemusage"><command>libmemusage</command> is used by memusage to help collect
+information about the memory usage of a program.</para>
+
+<indexterm zone="ch-system-glibc libnsl"><primary sortas="c-libnsl">libnsl</primary></indexterm>
+<para id="libnsl"><command>libnsl</command> is the network services library.</para>
+
+<indexterm zone="ch-system-glibc libnss"><primary sortas="c-libnss*">libnss*</primary></indexterm>
+<para id="libnss"><command>libnss*</command> are the Name Service Switch libraries,
+containing functions for resolving host names, user names, group names,
+aliases, services, protocols,and the like.</para>
+
+<indexterm zone="ch-system-glibc libpcprofile"><primary sortas="c-libpcprofile">libpcprofile</primary></indexterm>
+<para id="libpcprofile"><command>libpcprofile</command> contains profiling functions used
+to track the amount of CPU time spent in which source code lines.</para>
+
+<indexterm zone="ch-system-glibc libpthread"><primary sortas="c-libpthread">libpthread</primary></indexterm>
+<para id="libpthread"><command>libpthread</command> is the POSIX threads library.</para>
+
+<indexterm zone="ch-system-glibc libresolv"><primary sortas="c-libresolv">libresolv</primary></indexterm>
+<para id="libresolv"><command>libresolv</command> contains functions for creating,
+sending, and interpreting packets to the Internet domain name servers.</para>
+
+<indexterm zone="ch-system-glibc librpcsvc"><primary sortas="c-librpcsvc">librpcsvc</primary></indexterm>
+<para id="librpcsvc"><command>librpcsvc</command>contains functions providing
+miscellaneous RPC services.</para>
+
+<indexterm zone="ch-system-glibc librt"><primary sortas="c-librt">librt</primary></indexterm>
+<para id="librt"><command>librt</command> contains functions providing most of the
+interfaces specified by the POSIX.1b Realtime Extension.</para>
+
+<indexterm zone="ch-system-glibc libthread_db"><primary sortas="c-libthread_db">libthread_db</primary></indexterm>
+<para id="libthread_db"><command>libthread_db</command> contains functions useful for
+building debuggers for multi-threaded programs.</para>
+
+<indexterm zone="ch-system-glibc libutil"><primary sortas="c-libutil">libutil</primary></indexterm>
+<para id="libutil"><command>libutil</command> contains code for "standard" functions
+used in many different Unix utilities.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/grep.xml b/chapter06/grep.xml
index c3754edb0..5e7c5a58a 100644
--- a/chapter06/grep.xml
+++ b/chapter06/grep.xml
@@ -1,16 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-grep" xreflabel="Grep">
-<title>Installing Grep-&grep-version;</title>
-<?dbhtml filename="grep.html" dir="chapter06"?>
+<title>Grep-&grep-version;</title>
+<?dbhtml filename="grep.html"?>
+
+<indexterm zone="ch-system-grep"><primary sortas="a-Grep">Grep</primary></indexterm>
<para>The Grep package contains programs for searching through files.</para>
-<screen>&buildtime; &grep-time;
-&diskspace; &grep-compsize;</screen>
+<screen>&buildtime; 0.1 SBU
+&diskspace; 5.8 MB</screen>
+
+<para>Grep installation depends on: Bash, Binutils, Coreutils,
+Diffutils, GCC, Gettext, Glibc, Make, Sed, Texinfo.</para>
-&aa-grep-down;
-&aa-grep-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Grep</title>
@@ -23,17 +30,40 @@
<screen><userinput>make</userinput></screen>
-<para>To have the results tested, issue:
+<para>To test the results, issue:
<userinput>make check</userinput>.</para>
-<para>And install the package:</para>
+<para>Now install the package:</para>
<screen><userinput>make install</userinput></screen>
</sect2>
-&aa-grep-shortdesc;
-&aa-grep-desc;
-</sect1>
+<sect2 id="contents-grep"><title>Contents of Grep</title>
+
+<para><emphasis>Installed programs</emphasis>: egrep (link to grep), fgrep
+(link to grep) and grep</para>
+
+</sect2>
+
+
+<sect2><title>Short descriptions</title>
+<indexterm zone="ch-system-grep egrep"><primary sortas="b-egrep">egrep</primary></indexterm>
+<para id="egrep"><command>egrep</command> prints lines matching an extended regular
+expression.</para>
+
+<indexterm zone="ch-system-grep fgrep"><primary sortas="b-fgrep">fgrep</primary></indexterm>
+<para id="fgrep"><command>fgrep</command> prints lines matching a list of fixed
+strings.</para>
+
+<indexterm zone="ch-system-grep grep"><primary sortas="b-grep">grep</primary></indexterm>
+<para id="grep"><command>grep</command> prints lines matching a basic regular
+expression.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/groff.xml b/chapter06/groff.xml
index 3722ba239..7e48a9456 100644
--- a/chapter06/groff.xml
+++ b/chapter06/groff.xml
@@ -1,16 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-groff" xreflabel="Groff">
-<title>Installing Groff-&groff-version;</title>
-<?dbhtml filename="groff.html" dir="chapter06"?>
+<title>Groff-&groff-version;</title>
+<?dbhtml filename="groff.html"?>
+
+<indexterm zone="ch-system-groff"><primary sortas="a-Groff">Groff</primary></indexterm>
<para>The Groff package contains programs for processing and formatting text.</para>
-<screen>&buildtime; &groff-time;
-&diskspace; &groff-compsize;</screen>
+<screen>&buildtime; 0.5 SBU
+&diskspace; 43 MB</screen>
+
+<para>Groff installation depends on: Bash, Binutils, Coreutils, Diffutils,
+Gawk, GCC, Glibc, Grep, Make, Sed.</para>
-&aa-groff-down;
-&aa-groff-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Groff</title>
@@ -28,7 +35,7 @@ live elsewhere, you may want to change <emphasis>PAGE=letter</emphasis> to
<screen><userinput>make</userinput></screen>
-<para>And install it:</para>
+<para>Now install it:</para>
<screen><userinput>make install</userinput></screen>
@@ -41,8 +48,156 @@ ln -s tbl /usr/bin/gtbl</userinput></screen>
</sect2>
-&aa-groff-shortdesc;
-&aa-groff-desc;
-</sect1>
+<sect2 id="contents-groff"><title>Contents of Groff</title>
+
+<para><emphasis>Installed programs</emphasis>: addftinfo, afmtodit, eqn,
+eqn2graph, geqn (link to eqn), grn, grodvi, groff, groffer, grog, grolbp,
+grolj4, grops, grotty, gtbl (link to tbl), hpftodit, indxbib, lkbib,
+lookbib, mmroff, neqn, nroff, pfbtops, pic, pic2graph, post-grohtml,
+pre-grohtml, refer, soelim, tbl, tfmtodit, troff and zsoelim (link to
+soelim)</para>
+
+</sect2>
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-groff addftinfo"><primary sortas="b-addftinfo">addftinfo</primary></indexterm>
+<para id="addftinfo"><command>addftinfo</command> reads a troff font file and adds some
+additional font-metric information that is used by the groff system.</para>
+
+<indexterm zone="ch-system-groff afmtodit"><primary sortas="b-afmtodit">afmtodit</primary></indexterm>
+<para id="afmtodit"><command>afmtodit</command> creates a font file for use with
+groff and grops.</para>
+
+<indexterm zone="ch-system-groff eqn"><primary sortas="b-eqn">eqn</primary></indexterm>
+<para id="eqn"><command>eqn</command> compiles descriptions of equations embedded
+within troff input files into commands that are understood by troff.</para>
+
+<indexterm zone="ch-system-groff eqn2graph"><primary sortas="b-eqn2graph">eqn2graph</primary></indexterm>
+<para id="eqn2graph"><command>eqn2graph</command> converts an EQN equation into a cropped
+image.</para>
+
+<indexterm zone="ch-system-groff grn"><primary sortas="b-grn">grn</primary></indexterm>
+<para id="grn"><command>grn</command> is a groff preprocessor for gremlin files.</para>
+
+<indexterm zone="ch-system-groff grodvi"><primary sortas="b-grodvi">grodvi</primary></indexterm>
+<para id="grodvi"><command>grodvi</command> is a driver for groff that produces TeX dvi format.</para>
+
+<indexterm zone="ch-system-groff groff"><primary sortas="b-groff">groff</primary></indexterm>
+<para id="groff"><command>groff</command> is a front-end to the groff document
+formatting system. Normally it runs the troff program and a post-processor
+appropriate for the selected device.</para>
+
+<indexterm zone="ch-system-groff groffer"><primary sortas="b-groffer">groffer</primary></indexterm>
+<para id="groffer"><command>groffer</command> displays groff files and man pages on X
+and tty terminals.</para>
+
+<indexterm zone="ch-system-groff grog"><primary sortas="b-grog">grog</primary></indexterm>
+<para id="grog"><command>grog</command> reads files and guesses which of the groff
+options -e, -man, -me, -mm, -ms, -p, -s, and -t are required for printing
+files, and reports the groff command including those options.</para>
+
+<indexterm zone="ch-system-groff grolbp"><primary sortas="b-grolbp">grolbp</primary></indexterm>
+<para id="grolbp"><command>grolbp</command> is a groff driver for Canon CAPSL printers
+(LBP-4 and LBP-8 series laser printers).</para>
+
+<indexterm zone="ch-system-groff grolj4"><primary sortas="b-grolj4">grolj4</primary></indexterm>
+<para id="grolj4"><command>grolj4</command> is a driver for groff that produces output
+in PCL5 format suitable for an HP Laserjet 4 printer.</para>
+
+<indexterm zone="ch-system-groff grops"><primary sortas="b-grops">grops</primary></indexterm>
+<para id="grops"><command>grops</command> translates the output of GNU troff to
+Postscript.</para>
+<indexterm zone="ch-system-groff grotty"><primary sortas="b-grotty">grotty</primary></indexterm>
+<para id="grotty"><command>grotty</command> translates the output of GNU troff into
+a form suitable for typewriter-like devices.</para>
+
+<indexterm zone="ch-system-groff gtbl"><primary sortas="b-gtbl">gtbl</primary></indexterm>
+<para id="gtbl"><command>gtbl</command> is the GNU implementation of tbl.</para>
+
+<indexterm zone="ch-system-groff hpftodit"><primary sortas="b-hpftodit">hpftodit</primary></indexterm>
+<para id="hpftodit"><command>hpftodit</command> creates a font file for use with
+groff -Tlj4 from an HP-tagged font metric file.</para>
+
+<indexterm zone="ch-system-groff indxbib"><primary sortas="b-indxbib">indxbib</primary></indexterm>
+<para id="indxbib"><command>indxbib</command> makes an inverted index for the
+bibliographic databases a specified file for use with refer, lookbib,
+and lkbib.</para>
+
+<indexterm zone="ch-system-groff lkbib"><primary sortas="b-lkbib">lkbib</primary></indexterm>
+<para id="lkbib"><command>lkbib</command> searches bibliographic databases for
+references that contain specified keys and reports any references found.</para>
+
+<indexterm zone="ch-system-groff lookbib"><primary sortas="b-lookbib">lookbib</primary></indexterm>
+<para id="lookbib"><command>lookbib</command> prints a prompt on the standard error
+(unless the standard input is not a terminal), reads from the standard input
+a line containing a set of keywords, searches the bibliographic databases in
+a specified file for references containing those keywords, prints any
+references found on the standard output and repeats this process until the
+end of input.</para>
+
+<indexterm zone="ch-system-groff mmroff"><primary sortas="b-mmroff">mmroff</primary></indexterm>
+<para id="mmroff"><command>mmroff</command> is a simple preprocessor for groff.</para>
+
+<indexterm zone="ch-system-groff neqn"><primary sortas="b-neqn">neqn</primary></indexterm>
+<para id="neqn"><command>neqn</command> formats equations for ASCII (American Standard Code for Information Interchange) output.</para>
+
+<indexterm zone="ch-system-groff nroff"><primary sortas="b-nroff">nroff</primary></indexterm>
+<para id="nroff"><command>nroff</command> is a script that emulates the nroff command
+using groff.</para>
+
+<indexterm zone="ch-system-groff pfbtops"><primary sortas="b-pfbtops">pfbtops</primary></indexterm>
+<para id="pfbtops"><command>pfbtops</command> translates a Postscript font in .pfb
+format to ASCII.</para>
+
+<indexterm zone="ch-system-groff pic"><primary sortas="b-pic">pic</primary></indexterm>
+<para id="pic"><command>pic</command> compiles descriptions of pictures embedded
+within troff or TeX input files into commands understood by TeX or troff.</para>
+
+<indexterm zone="ch-system-groff pic2graph"><primary sortas="b-pic2graph">pic2graph</primary></indexterm>
+<para id="pic2graph"><command>pic2graph</command> converts a PIC diagram into a cropped
+image.</para>
+
+<indexterm zone="ch-system-groff pre-grohtml"><primary sortas="b-pre-grohtml">pre-grohtml</primary></indexterm>
+<para id="pre-grohtml"><command>pre-grohtml </command> translates the output of GNU troff
+to html.</para>
+
+<indexterm zone="ch-system-groff post-grohtml"><primary sortas="b-post-grohtml">post-grohtml</primary></indexterm>
+<para id="post-grohtml"><command>post-grohtml</command> translates the output of GNU troff
+to html.</para>
+
+<indexterm zone="ch-system-groff refer"><primary sortas="b-refer">refer</primary></indexterm>
+<para id="refer"><command>refer</command> copies the contents of a file to the
+standard output, except that lines between .[ and .] are interpreted as
+citations, and lines between .R1 and .R2 are interpreted as commands about
+how citations are to be processed.</para>
+
+<indexterm zone="ch-system-groff soelim"><primary sortas="b-soelim">soelim</primary></indexterm>
+<para id="soelim"><command>soelim</command> reads files and replaces lines of the form
+<emphasis>.so file</emphasis> by the contents of the mentioned
+<emphasis>file</emphasis>.</para>
+
+<indexterm zone="ch-system-groff tbl"><primary sortas="b-tbl">tbl</primary></indexterm>
+<para id="tbl"><command>tbl</command> compiles descriptions of tables embedded
+within troff input files into commands that are understood by troff.</para>
+
+<indexterm zone="ch-system-groff tfmtodit"><primary sortas="b-tfmtodit">tfmtodit</primary></indexterm>
+<para id="tfmtodit"><command>tfmtodit</command> creates a font file for use with
+groff -Tdvi.</para>
+
+<indexterm zone="ch-system-groff troff"><primary sortas="b-troff">troff</primary></indexterm>
+<para id="troff"><command>troff</command> is highly compatible with Unix troff.
+Usually it should be invoked using the groff command, which will also run
+preprocessors and post-processors in the appropriate order and with the
+appropriate options.</para>
+
+<indexterm zone="ch-system-groff zsoelim"><primary sortas="b-zsoelim">zsoelim</primary></indexterm>
+<para id="zsoelim"><command>zsoelim</command> is the GNU implementation of soelim.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/grub.xml b/chapter06/grub.xml
index fa5394355..a7c7ff1bc 100644
--- a/chapter06/grub.xml
+++ b/chapter06/grub.xml
@@ -1,16 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-grub" xreflabel="Grub">
-<title>Installing Grub-&grub-version;</title>
-<?dbhtml filename="grub.html" dir="chapter06"?>
+<title>Grub-&grub-version;</title>
+<?dbhtml filename="grub.html"?>
+
+<indexterm zone="ch-system-grub"><primary sortas="a-Grub">Grub</primary></indexterm>
<para>The Grub package contains the GRand Unified Bootloader.</para>
-<screen>&buildtime; &grub-time;
-&diskspace; &grub-compsize;</screen>
+<screen>&buildtime; 0.2 SBU
+&diskspace; 10 MB</screen>
+
+<para>Grub installation depends on: Bash, Binutils, Coreutils, Diffutils,
+GCC, Glibc, Grep, Make, Ncurses, Sed.</para>
-&aa-grub-down;
-&aa-grub-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Grub</title>
@@ -18,10 +25,10 @@
<para>This package is known to behave badly when you have changed its default
optimization flags (including the -march and -mcpu options). Therefore, if you
have defined any environment variables that override default optimizations,
-such as CFLAGS and CXXFLAGS, we recommend unsetting them when building
+such as CFLAGS and CXXFLAGS, we recommend un-setting them when building
Grub.</para>
-<para>Prepare Grub for compilation:</para>
+<para>First prepare Grub for compilation:</para>
<screen><userinput>./configure --prefix=/usr</userinput></screen>
@@ -29,7 +36,7 @@ Grub.</para>
<screen><userinput>make</userinput></screen>
-<para>And install it:</para>
+<para>Now install it:</para>
<screen><userinput>make install
mkdir /boot/grub
@@ -47,8 +54,35 @@ and/or <filename>reiserfs_stage1_5</filename> files.</para>
</sect2>
-&aa-grub-shortdesc;
-&aa-grub-desc;
-</sect1>
+<sect2 id="contents-grub"><title>Contents of Grub</title>
+
+<para><emphasis>Installed programs</emphasis>: grub, grub-install,
+grub-md5-crypt, grub-terminfo and mbchk</para>
+
+</sect2>
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-grub grub"><primary sortas="b-grub">grub</primary></indexterm>
+<para id="grub"><command>grub</command> is the GRand Unified Bootloader's command
+shell.</para>
+<indexterm zone="ch-system-grub grub-install"><primary sortas="b-grub-install">grub-install</primary></indexterm>
+<para id="grub-install"><command>grub-install</command> installs GRUB on the given device.</para>
+
+<indexterm zone="ch-system-grub grub-md5-crypt"><primary sortas="b-grub-md5-crypt">grub-md5-crypt</primary></indexterm>
+<para id="grub-md5-crypt"><command>grub-md5-crypt</command> encrypts a password in MD5
+format.</para>
+
+<indexterm zone="ch-system-grub grub-terminfo"><primary sortas="b-grub-terminfo">grub-terminfo</primary></indexterm>
+<para id="grub-terminfo"><command>grub-terminfo</command> generates a terminfo command from a
+terminfo name. It can be used if you have an uncommon terminal.</para>
+
+<indexterm zone="ch-system-grub mbchk"><primary sortas="b-mbchk">mbchk</primary></indexterm>
+<para id="mbchk"><command>mbchk</command> checks the format of a multi-boot kernel.</para>
+
+</sect2>
+
+
+</sect1>
diff --git a/chapter06/gzip.xml b/chapter06/gzip.xml
index 81e054b4d..6294e6906 100644
--- a/chapter06/gzip.xml
+++ b/chapter06/gzip.xml
@@ -1,17 +1,24 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-gzip" xreflabel="Gzip">
-<title>Installing Gzip-&gzip-version;</title>
-<?dbhtml filename="gzip.html" dir="chapter06"?>
+<title>Gzip-&gzip-version;</title>
+<?dbhtml filename="gzip.html"?>
+
+<indexterm zone="ch-system-gzip"><primary sortas="a-Gzip">Gzip</primary></indexterm>
<para>The Gzip package contains programs for compressing and decompressing
files.</para>
-<screen>&buildtime; &gzip-time;
-&diskspace; &gzip-compsize;</screen>
+<screen>&buildtime; 0.1 SBU
+&diskspace; 2.6 MB</screen>
+
+<para>Gzip installation depends on: Bash, Binutils, Coreutils, Diffutils,
+GCC, Glibc, Grep, Make, Sed.</para>
-&aa-gzip-down;
-&aa-gzip-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Gzip</title>
@@ -22,7 +29,7 @@ files.</para>
<para>The <command>gzexe</command> script has the location of the
<command>gzip</command> binary hard-wired into it. Because we later change
-the location of the binary, the following command assures that the new
+the location of the binary, the following command ensures that the new
location gets placed into the script:</para>
<screen><userinput>cp gzexe.in{,.backup}
@@ -36,8 +43,7 @@ sed 's%"BINDIR"%/bin%' gzexe.in.backup &gt; gzexe.in</userinput></screen>
<screen><userinput>make install</userinput></screen>
-<para>And move the programs to the <filename
-class="directory">/bin</filename> directory:</para>
+<para>Move the programs to the <filename class="directory">/bin</filename> directory:</para>
<screen><userinput>mv /usr/bin/gzip /bin
rm /usr/bin/{gunzip,zcat}
@@ -47,8 +53,64 @@ ln -s gunzip /bin/uncompress</userinput></screen>
</sect2>
-&aa-gzip-shortdesc;
-&aa-gzip-desc;
-</sect1>
+<sect2 id="contents-gzip"><title>Contents of Gzip</title>
+
+<para><emphasis>Installed programs</emphasis>: gunzip (link to gzip), gzexe,
+gzip, uncompress (link to gunzip), zcat (link to gzip), zcmp, zdiff,
+zegrep, zfgrep, zforce, zgrep, zless, zmore and znew</para>
+
+</sect2>
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-gzip gunzip"><primary sortas="b-gunzip">gunzip</primary></indexterm>
+<para id="gunzip"><command>gunzip</command> decompresses gzipped files.</para>
+
+<indexterm zone="ch-system-gzip gzexe"><primary sortas="b-gzexe">gzexe</primary></indexterm>
+<para id="gzexe"><command>gzexe</command> is used to create self-uncompressing
+executable files.</para>
+
+<indexterm zone="ch-system-gzip gzip"><primary sortas="b-gzip">gzip</primary></indexterm>
+<para id="gzip"><command>gzip</command> compresses the given files, using
+Lempel-Ziv (LZ77) coding.</para>
+
+<indexterm zone="ch-system-gzip zcat"><primary sortas="b-zcat">zcat</primary></indexterm>
+<para id="zcat"><command>zcat</command> uncompresses the given gzipped files to
+standard output.</para>
+
+<indexterm zone="ch-system-gzip zcmp"><primary sortas="b-zcmp">zcmp</primary></indexterm>
+<para id="zcmp"><command>zcmp</command> runs cmp on gzipped files.</para>
+
+<indexterm zone="ch-system-gzip zdiff"><primary sortas="b-zdiff">zdiff</primary></indexterm>
+<para id="zdiff"><command>zdiff</command> runs diff on gzipped files.</para>
+<indexterm zone="ch-system-gzip zegrep"><primary sortas="b-zegrep">zegrep</primary></indexterm>
+<para id="zegrep"><command>zegrep</command> runs egrep on gzipped files.</para>
+
+<indexterm zone="ch-system-gzip zfgrep"><primary sortas="b-zfgrep">zfgrep</primary></indexterm>
+<para id="zfgrep"><command>zfgrep</command> runs fgrep on gzipped files.</para>
+
+<indexterm zone="ch-system-gzip zforce"><primary sortas="b-zforce">zforce</primary></indexterm>
+<para id="zforce"><command>zforce</command> forces a .gz extension on all given files
+that are gzipped files, so that gzip will not compress them again. This can be
+useful when file names were truncated during a file transfer.</para>
+
+<indexterm zone="ch-system-gzip zgrep"><primary sortas="b-zgrep">zgrep</primary></indexterm>
+<para id="zgrep"><command>zgrep</command> runs grep on gzipped files.</para>
+
+<indexterm zone="ch-system-gzip zless"><primary sortas="b-zless">zless</primary></indexterm>
+<para id="zless"><command>zless</command> runs less on gzipped files.</para>
+
+<indexterm zone="ch-system-gzip zmore"><primary sortas="b-zmore">zmore</primary></indexterm>
+<para id="zmore"><command>zmore</command> runs more on gzipped files.</para>
+
+<indexterm zone="ch-system-gzip znew"><primary sortas="b-znew">znew</primary></indexterm>
+<para id="znew"><command>znew</command> re-compresses files from compress format
+to gzip format -- .Z to .gz.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/iana-etc.xml b/chapter06/iana-etc.xml
new file mode 100644
index 000000000..e83ec168c
--- /dev/null
+++ b/chapter06/iana-etc.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-system-iana-etc" xreflabel="Iana-Etc">
+<title>Iana-Etc-&iana-etc-version;</title>
+<?dbhtml filename="iana-etc.html"?>
+
+<indexterm zone="ch-system-iana-etc"><primary sortas="a-Iana-Etc">Iana-Etc</primary></indexterm>
+
+<para>The Iana-Etc package provides data for network services and protocols.</para>
+
+<screen>&buildtime; 0.1 SBU
+&diskspace; 641 KB</screen>
+
+<para>The installation dependencies for Iana-Etc haven't been checked yet.</para>
+
+
+
+<sect2>
+<title>Installation of Iana-Etc</title>
+
+<para>Parse the data:</para>
+
+<screen><userinput>make</userinput></screen>
+
+<para>Now install it:</para>
+
+<screen><userinput>make install</userinput></screen>
+
+</sect2>
+
+
+<sect2 id="contents-iana-etc"><title>Contents of Iana-Etc</title>
+
+<para><emphasis>Installed files</emphasis>: protocols, services</para>
+
+<indexterm zone="ch-system-iana-etc"><primary sortas="e-/etc/protocols">/etc/protocols</primary></indexterm>
+
+<indexterm zone="ch-system-iana-etc"><primary sortas="e-/etc/services">/etc/services</primary></indexterm>
+
+</sect2>
+
+
+</sect1>
diff --git a/chapter06/inetutils.xml b/chapter06/inetutils.xml
index 43bb389fb..9d944d340 100644
--- a/chapter06/inetutils.xml
+++ b/chapter06/inetutils.xml
@@ -1,16 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-inetutils" xreflabel="Inetutils">
-<title>Installing Inetutils-&inetutils-version;</title>
-<?dbhtml filename="inetutils.html" dir="chapter06"?>
+<title>Inetutils-&inetutils-version;</title>
+<?dbhtml filename="inetutils.html"?>
+
+<indexterm zone="ch-system-inetutils"><primary sortas="a-Inetutils">Inetutils</primary></indexterm>
<para>The Inetutils package contains programs for basic networking.</para>
-<screen>&buildtime; &inetutils-time;
-&diskspace; &inetutils-compsize;</screen>
+<screen>&buildtime; 0.2 SBU
+&diskspace; 11 MB</screen>
+
+<para>Inetutils installation depends on: Bash, Binutils, Coreutils,
+Diffutils, GCC, Glibc, Grep, Make, Ncurses, Sed.</para>
-&aa-inetutils-down;
-&aa-inetutils-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Inetutils</title>
@@ -19,14 +26,14 @@
However, the Inetutils build system will insist on installing all the man
pages anyway. The following patch will correct this situation:</para>
-<screen><userinput>patch -Np1 -i ../&inetutils-no-server-man-pages-patch;</userinput></screen>
+<screen><userinput>patch -Np1 -i ../inetutils-&inetutils-version;-no_server_man_pages-1.patch</userinput></screen>
<para>Now prepare Inetutils for compilation:</para>
<screen><userinput>./configure --prefix=/usr --libexecdir=/usr/sbin \
-&nbsp;&nbsp;&nbsp;&nbsp;--sysconfdir=/etc --localstatedir=/var \
-&nbsp;&nbsp;&nbsp;&nbsp;--disable-logger --disable-syslogd \
-&nbsp;&nbsp;&nbsp;&nbsp;--disable-whois --disable-servers</userinput></screen>
+ --sysconfdir=/etc --localstatedir=/var \
+ --disable-logger --disable-syslogd \
+ --disable-whois --disable-servers</userinput></screen>
<para>The meaning of the configure options:</para>
@@ -61,15 +68,50 @@ replacements are available for many of these servers.</para></listitem>
<screen><userinput>make install</userinput></screen>
-<para>And move the <command>ping</command> program to its FHS-compliant
+<para>Move the <command>ping</command> program to its FHS-compliant
place:</para>
<screen><userinput>mv /usr/bin/ping /bin</userinput></screen>
</sect2>
-&aa-inetutils-shortdesc;
-&aa-inetutils-desc;
-</sect1>
+<sect2 id="contents-inetutils"><title>Contents of Inetutils</title>
+
+<para><emphasis>Installed programs</emphasis>: ftp, ping, rcp, rlogin, rsh,
+talk, telnet and tftp</para>
+
+</sect2>
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-inetutils ftp"><primary sortas="b-ftp">ftp</primary></indexterm>
+<para id="ftp"><command>ftp</command> is the ARPANET file transfer program.</para>
+
+<indexterm zone="ch-system-inetutils ping"><primary sortas="b-ping">ping</primary></indexterm>
+<para id="ping"><command>ping</command> sends echo-request packets and reports how
+long the replies take.</para>
+
+<indexterm zone="ch-system-inetutils rcp"><primary sortas="b-rcp">rcp</primary></indexterm>
+<para id="rcp"><command>rcp</command> does remote file copy.</para>
+<indexterm zone="ch-system-inetutils rlogin"><primary sortas="b-rlogin">rlogin</primary></indexterm>
+<para id="rlogin"><command>rlogin</command> does remote login.</para>
+
+<indexterm zone="ch-system-inetutils rsh"><primary sortas="b-rsh">rsh</primary></indexterm>
+<para id="rsh"><command>rsh</command> runs a remote shell.</para>
+
+<indexterm zone="ch-system-inetutils talk"><primary sortas="b-talk">talk</primary></indexterm>
+<para id="talk"><command>talk</command> is used to chat up another user.</para>
+
+<indexterm zone="ch-system-inetutils telnet"><primary sortas="b-telnet">telnet</primary></indexterm>
+<para id="telnet"><command>telnet</command> is an interface to the TELNET protocol.</para>
+
+<indexterm zone="ch-system-inetutils tftp"><primary sortas="b-tftp">tftp</primary></indexterm>
+<para id="tftp"><command>tftp</command> is a trivial file transfer program.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/introduction.xml b/chapter06/introduction.xml
new file mode 100644
index 000000000..4e0ef7cbb
--- /dev/null
+++ b/chapter06/introduction.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-system-introduction">
+<title>Introduction</title>
+<?dbhtml filename="introduction.html"?>
+
+<para>In this chapter we enter the building site, and start
+constructing our LFS system in earnest. That is, we chroot into
+our temporary mini Linux system, create some auxiliary things,
+and then start installing all the packages, one by one.</para>
+
+<para>The installation of all this software is pretty straightforward,
+and you will probably think it would be much shorter to give here
+the generic installation instructions and explain in full only the
+installation of those packages that require an alternate method.
+Although we agree with that, we nevertheless choose to give the
+full instructions for each and every package, simply to minimize
+the possibilities for mistakes.</para>
+
+<para>The key to learning what makes a Linux system work is to know
+what each package is used for and why the user (or the system) needs it.
+For this purpose for every installed package a summary of its content is
+given followed by concise descriptions of each program and library it
+installed.</para>
+
+<para>If you plan to use compiler optimizations in this chapter, take a look at
+the optimization hint at <ulink url="&hints-root;optimization.txt"/>. Compiler
+optimizations can make a program run slightly faster, but they may also cause
+compilation difficulties and even problems when running the program. If a
+package refuses to compile when using optimization, try to compile it without
+optimization and see if the problem goes away. Even if the package does compile
+when using optimization, there is the risk it may have been compiled incorrectly
+due to complex interactions between the code and build tools. In short, the
+small potential gains achieved in using compiler optimization are generally
+outweighed by the risk. First time builders of LFS are encouraged to build
+without custom optimizations. Your system will still be very fast and very
+stable at the same time.</para>
+
+<para>The order in which packages are installed in this chapter has
+to be strictly followed, to ensure that no program gets a path referring
+to <filename class="directory">/tools</filename> hard-wired into it.
+For the same reason, <emphasis>do not </emphasis> compile packages
+in parallel. Compiling in parallel may save you some time (especially on
+dual-CPU machines), but it could result in a program containing a
+hard-wired path to <filename class="directory">/tools</filename>,
+which will cause the program to stop working when that directory
+is removed.</para>
+
+<para>Before the installation instructions each installation page gives some
+information about the package: a concise description of what it contains,
+approximately how long it will take to build it, how much disk space it needs
+during this building process, the official download location of the package
+(in case you just want to update a few of them), and which other packages it
+needs in order to be built successfully. After the installation instructions
+follows a list of programs and libraries that the package installs, together
+with a series of short descriptions of these.</para>
+
+<para>If you wish to keep track of which package installs what files, you may
+want to use a package manager. For a general overview of package managers have
+a look at <ulink url="&blfs-root;view/cvs/introduction/pkgmgt.html"/>. And for
+a package management method specifically geared towards LFS see
+<ulink url="&hints-root;more_control_and_pkg_man.txt"/>.</para>
+
+</sect1>
diff --git a/chapter06/kbd.xml b/chapter06/kbd.xml
index 854be7e1a..4c37aade6 100644
--- a/chapter06/kbd.xml
+++ b/chapter06/kbd.xml
@@ -1,16 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-kbd" xreflabel="Kbd">
-<title>Installing Kbd-&kbd-version;</title>
-<?dbhtml filename="kbd.html" dir="chapter06"?>
+<title>Kbd-&kbd-version;</title>
+<?dbhtml filename="kbd.html"?>
-<para>The Kbd package contains keytable files and keyboard utilities.</para>
+<indexterm zone="ch-system-kbd"><primary sortas="a-Kbd">Kbd</primary></indexterm>
-<screen>&buildtime; &kbd-time;
-&diskspace; &kbd-compsize;</screen>
+<para>The Kbd package contains key-table files and keyboard utilities.</para>
+
+<screen>&buildtime; 0.1 SBU
+&diskspace; 12 MB</screen>
+
+<para>Kbd installation depends on: Bash, Binutils, Bison, Coreutils,
+Diffutils, Flex, GCC, Gettext, Glibc, Grep, Gzip, M4, Make, Sed.</para>
-&aa-kbd-down;
-&aa-kbd-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Kbd</title>
@@ -19,7 +26,7 @@
<command>setvesablank</command> and <command>getunimap</command>) are
not installed. First enable the compilation of these utilities:</para>
-<screen><userinput>patch -Np1 -i ../&kbd-patch;</userinput></screen>
+<screen><userinput>patch -Np1 -i ../kbd-&kbd-version;-more-programs-1.patch</userinput></screen>
<para>Now prepare Kbd for compilation:</para>
@@ -29,13 +36,16 @@ not installed. First enable the compilation of these utilities:</para>
<screen><userinput>make</userinput></screen>
-<para>And install it:</para>
+<para>Now install it:</para>
<screen><userinput>make install</userinput></screen>
</sect2>
-<sect2><title>Configuring your keyboard</title>
+<sect2 id="conf-kbd"><title>Configuring your keyboard</title>
+<indexterm zone="conf-kbd">
+<primary sortas="a-Kbd">Kbd</primary>
+<secondary>configuring</secondary></indexterm>
<para>Few things are more annoying than using Linux while a wrong keymap
for your keyboard is loaded. If you have a standard US keyboard, however, you
@@ -50,25 +60,123 @@ symlink by running the following command:</para>
<para>Of course, replace <filename>path/to/keymap</filename> with the path and
name of your keyboard's map file. For example, if you have a Dutch keyboard,
-you would use <filename>i386/qwerty/nl.map.gz</filename>.</para>
+you would use <filename>/usr/share/kbd/keymaps/i386/qwerty/nl.map.gz</filename>.</para>
<para>Another way to set your keyboard's layout is to compile the keymap
into the kernel. This ensures that your keyboard will always work as expected,
even when you boot into maintenance mode (by passing `init=/bin/sh' to the
kernel), as then the bootscript that normally sets up your keymap isn't run.</para>
-<para>When in <xref linkend="chapter-mixture"/> you're ready to compile the
+<para>When in <xref linkend="chapter-bootable"/> you're ready to compile the
kernel, run the following command to patch the current default keymap into the
source (you will have to repeat this command whenever you unpack a new
kernel):</para>
<screen><userinput>loadkeys -m /usr/share/kbd/keymaps/defkeymap.map.gz &gt; \
-&nbsp;&nbsp;&nbsp;&nbsp;/usr/src/linux-&kernel-version;/drivers/char/defkeymap.c</userinput></screen>
+ /usr/src/linux-2.4.25/drivers/char/defkeymap.c</userinput></screen>
</sect2>
-&aa-kbd-shortdesc;
-&aa-kbd-desc;
-</sect1>
+<sect2 id="contents-kbd"><title>Contents of Kbd</title>
+
+<para><emphasis>Installed programs</emphasis>: chvt, deallocvt, dumpkeys,
+fgconsole, getkeycodes, getunimap, kbd_mode, kbdrate, loadkeys, loadunimap,
+mapscrn, openvt, psfaddtable (link to psfxtable), psfgettable (link to
+psfxtable), psfstriptable (link to psfxtable), psfxtable, resizecons,
+setfont, setkeycodes, setleds, setlogcons, setmetamode, setvesablank,
+showconsolefont, showkey, unicode_start and unicode_stop</para>
+
+</sect2>
+
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-kbd chvt"><primary sortas="b-chvt">chvt</primary></indexterm>
+<para id="chvt"><command>chvt</command> changes the foreground virtual terminal.</para>
+
+<indexterm zone="ch-system-kbd deallocvt"><primary sortas="b-deallocvt">deallocvt</primary></indexterm>
+<para id="deallocvt"><command>deallocvt</command> deallocates unused virtual terminals.</para>
+
+<indexterm zone="ch-system-kbd dumpkeys"><primary sortas="b-dumpkeys">dumpkeys</primary></indexterm>
+<para id="dumpkeys"><command>dumpkeys</command> dumps the keyboard translation tables.</para>
+
+<indexterm zone="ch-system-kbd fgconsole"><primary sortas="b-fgconsole">fgconsole</primary></indexterm>
+<para id="fgconsole"><command>fgconsole</command> prints the number of the active virtual terminal.</para>
+
+<indexterm zone="ch-system-kbd getkeycodes"><primary sortas="b-getkeycodes">getkeycodes</primary></indexterm>
+<para id="getkeycodes"><command>getkeycodes</command> prints the kernel scancode-to-keycode
+mapping table.</para>
+
+<indexterm zone="ch-system-kbd getunimap"><primary sortas="b-getunimap">getunimap</primary></indexterm>
+<para id="getunimap"><command>getunimap</command> prints the currently used unimap.</para>
+
+<indexterm zone="ch-system-kbd kbd_mode"><primary sortas="b-kbd_mode">kbd_mode</primary></indexterm>
+<para id="kbd_mode"><command>kbd_mode</command> reports or sets the keyboard mode.</para>
+
+<indexterm zone="ch-system-kbd kbdrate"><primary sortas="b-kbdrate">kbdrate</primary></indexterm>
+<para id="kbdrate"><command>kbdrate</command> sets the keyboard repeat and delay rates.</para>
+
+<indexterm zone="ch-system-kbd loadkeys"><primary sortas="b-loadkeys">loadkeys</primary></indexterm>
+<para id="loadkeys"><command>loadkeys</command> loads the keyboard translation tables.</para>
+
+<indexterm zone="ch-system-kbd loadunimap"><primary sortas="b-loadunimap">loadunimap</primary></indexterm>
+<para id="loadunimap"><command>loadunimap</command> loads the kernel unicode-to-font mapping table.</para>
+
+<indexterm zone="ch-system-kbd mapscrn"><primary sortas="b-mapscrn">mapscrn</primary></indexterm>
+<para id="mapscrn"><command>mapscrn</command> is an obsolete program that used to load
+a user-defined output character mapping table into the console driver. This is
+now done by setfont.</para>
+<indexterm zone="ch-system-kbd openvt"><primary sortas="b-openvt">openvt</primary></indexterm>
+<para id="openvt"><command>openvt</command> starts a program on a new virtual terminal (VT).</para>
+
+<indexterm zone="ch-system-kbd psf"><primary sortas="b-psf*">psf*</primary></indexterm>
+<para id="psf"><command>psf*</command> are a set of tools for handling Unicode
+character tables for console fonts.</para>
+
+<indexterm zone="ch-system-kbd resizecons"><primary sortas="b-resizecons">resizecons</primary></indexterm>
+<para id="resizecons"><command>resizecons</command> changes the kernel idea of the console size.</para>
+
+<indexterm zone="ch-system-kbd setfont"><primary sortas="b-setfont">setfont</primary></indexterm>
+<para id="setfont"><command>setfont</command> lets you change the EGA/VGA fonts on the console.</para>
+
+<indexterm zone="ch-system-kbd setkeycodes"><primary sortas="b-setkeycodes">setkeycodes</primary></indexterm>
+<para id="setkeycodes"><command>setkeycodes</command> loads kernel scancode-to-keycode
+mapping table entries, useful if you have some unusual keys on your keyboard.</para>
+
+<indexterm zone="ch-system-kbd setleds"><primary sortas="b-setleds">setleds</primary></indexterm>
+<para id="setleds"><command>setleds</command> sets the keyboard flags and LEDs. Many
+people find it useful to have "Num Lock" on by default, setleds +num achieves this.</para>
+
+<indexterm zone="ch-system-kbd setlogcons"><primary sortas="b-setlogcons">setlogcons</primary></indexterm>
+<para id="setlogcons"><command>setlogcons</command> sends kernel messages to the console.</para>
+
+<indexterm zone="ch-system-kbd setmetamode"><primary sortas="b-setmetamode">setmetamode</primary></indexterm>
+<para id="setmetamode"><command>setmetamode</command> defines the keyboard meta-key handling.</para>
+
+<indexterm zone="ch-system-kbd setvesablank"><primary sortas="b-setvesablank">setvesablank</primary></indexterm>
+<para id="setvesablank"><command>setvesablank</command> lets you fiddle with the built-in
+hardware screensaver (no toasters, just a blank screen).</para>
+
+<indexterm zone="ch-system-kbd showconsolefont"><primary sortas="b-showconsolefont">showconsolefont</primary></indexterm>
+<para id="showconsolefont"><command>showconsolefont</command> shows the current EGA/VGA console
+screen font.</para>
+
+<indexterm zone="ch-system-kbd showkey"><primary sortas="b-showkey">showkey</primary></indexterm>
+<para id="showkey"><command>showkey</command> reports the scancodes and keycodes and
+ASCII codes of the keys pressed on the keyboard.</para>
+
+<indexterm zone="ch-system-kbd unicode_start"><primary sortas="b-unicode_start">unicode_start</primary></indexterm>
+<para id="unicode_start"><command>unicode_start</command> puts the keyboard and console in
+unicode mode.</para>
+
+<indexterm zone="ch-system-kbd unicode_stop"><primary sortas="b-unicode_stop">unicode_stop</primary></indexterm>
+<para id="unicode_stop"><command>unicode_stop</command> reverts keyboard and console from
+unicode mode.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/kernel-headers.xml b/chapter06/kernel-headers.xml
index 14d73d992..1a51b1a31 100644
--- a/chapter06/kernel-headers.xml
+++ b/chapter06/kernel-headers.xml
@@ -1,11 +1,19 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-kernel-headers">
-<title>Installing Linux-&kernel-version; headers</title>
-<?dbhtml filename="kernelheaders.html" dir="chapter06"?>
+<title>Linux-&linux-version; headers</title>
+<?dbhtml filename="kernelheaders.html"?>
-<screen>&buildtime; &kernel-time-headers;
-&diskspace; &kernel-compsize-headers;</screen>
+<indexterm zone="ch-system-kernel-headers">
+<primary sortas="a-Linux">Linux</primary>
+<secondary>system, headers</secondary></indexterm>
+
+<screen>&buildtime; 0.1 SBU
+&diskspace; 186 MB</screen>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of the kernel headers</title>
@@ -28,7 +36,6 @@ Create an empty <filename>autoconf.h</filename> file with:</para>
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Why we copy the kernel headers</title>
@@ -42,8 +49,8 @@ post by Linus Torvalds to the Linux Kernel Mailing List points out:</para>
<screen>I would suggest that people who compile new kernels should:
- not have a single symbolic link in sight (except the one that the
- kernel build itself sets up, namely the "linux/include/asm" symlink
- that is only used for the internal kernel compile itself)
+ kernel build itself sets up, namely the <quote>linux/include/asm</quote>
+ symlink that is only used for the internal kernel compile itself)
And yes, this is what I do. My /usr/src/linux still has the old 2.2.13
header files, even though I haven't run a 2.2.13 kernel in a _loong_
@@ -54,8 +61,8 @@ And this is actually what has been the suggested environment for at
least the last five years. I don't know why the symlink business keeps
on living on, like a bad zombie. Pretty much every distribution still
has that broken symlink, and people still remember that the linux
-sources should go into "/usr/src/linux" even though that hasn't been
-true in a _loong_ time.</screen>
+sources should go into <quote>/usr/src/linux</quote> even though that hasn't
+been true in a _loong_ time.</screen>
<para>The essential part is where Linus states that the header files should be
<emphasis>the ones which Glibc was compiled against</emphasis>. These are
@@ -71,4 +78,3 @@ symlinks.</para>
</sect2>
</sect1>
-
diff --git a/chapter06/less.xml b/chapter06/less.xml
index 1445b1529..e404cc8fa 100644
--- a/chapter06/less.xml
+++ b/chapter06/less.xml
@@ -1,16 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-less" xreflabel="Less">
-<title>Installing Less-&less-version;</title>
-<?dbhtml filename="less.html" dir="chapter06"?>
+<title>Less-&less-version;</title>
+<?dbhtml filename="less.html"?>
+
+<indexterm zone="ch-system-less"><primary sortas="a-Less">Less</primary></indexterm>
<para>The Less package contains a text file viewer.</para>
-<screen>&buildtime; &less-time;
-&diskspace; &less-compsize;</screen>
+<screen>&buildtime; 0.1 SBU
+&diskspace; 3.4 MB</screen>
+
+<para>Less installation depends on: Bash, Binutils, Coreutils, Diffutils,
+GCC, Glibc, Grep, Make, Ncurses, Sed.</para>
-&aa-less-down;
-&aa-less-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Less</title>
@@ -31,14 +38,37 @@ configuration files.</para></listitem>
<screen><userinput>make</userinput></screen>
-<para>And install it:</para>
+<para>Now install it:</para>
<screen><userinput>make install</userinput></screen>
</sect2>
-&aa-less-shortdesc;
-&aa-less-desc;
-</sect1>
+<sect2 id="contents-less"><title>Contents of Less</title>
+
+<para><emphasis>Installed programs</emphasis>: less, lessecho and lesskey</para>
+
+</sect2>
+
+
+<sect2><title>Short descriptions</title>
+<indexterm zone="ch-system-less less"><primary sortas="b-less">less</primary></indexterm>
+<para id="less"><command>less</command> is a file viewer or pager. It displays the
+contents of the given file, letting you scroll around, find strings, and jump
+to marks.</para>
+
+<indexterm zone="ch-system-less lessecho"><primary sortas="b-lessecho">lessecho</primary></indexterm>
+<para id="lessecho"><command>lessecho</command> is needed to expand meta-characters,
+such as * and ?, in filenames on Unix systems.</para>
+
+<indexterm zone="ch-system-less lesskey"><primary sortas="b-lesskey">lesskey</primary></indexterm>
+<para id="lesskey"><command>lesskey</command> is used to specify the key bindings
+for less.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/lfs-utils.xml b/chapter06/lfs-utils.xml
deleted file mode 100644
index a4a025126..000000000
--- a/chapter06/lfs-utils.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<sect1 id="ch-system-lfs-utils" xreflabel="Lfs-Utils">
-<title>Installing Lfs-Utils-&lfs-utils-version;</title>
-<?dbhtml filename="lfs-utils.html" dir="chapter06"?>
-
-<para>The Lfs-Utils package contains a few helper files.</para>
-
-<screen>&buildtime; &lfs-utils-time;
-&diskspace; &lfs-utils-compsize;</screen>
-
-&aa-lfs-utils-down;
-&aa-lfs-utils-dep;
-
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2>
-<title>Installation of Lfs-Utils</title>
-
-<para>Prepare Lfs-Utils for compilation:</para>
-
-<screen><userinput>./configure --prefix=/usr --with-libc</userinput></screen>
-
-<para>The meaning of the configure option:</para>
-
-<itemizedlist>
-<listitem><para><userinput>--with-libc</userinput>: This causes the
-<command>mktemp</command> program to use the <emphasis>mkstemp</emphasis>
-and <emphasis>mkdtemp</emphasis> functions from the system C
-library.</para></listitem>
-</itemizedlist>
-
-<para>Compile the package:</para>
-
-<screen><userinput>make</userinput></screen>
-
-<para>And install it:</para>
-
-<screen><userinput>make install</userinput></screen>
-
-<para>Now copy two supporting files included in the Lfs-Utils tarball to
-their destination:</para>
-
-<screen><userinput>cp etc/{services,protocols} /etc</userinput></screen>
-
-<para>The <filename>/etc/services</filename> file is used to resolve service
-numbers to human-readable names, and the <filename>/etc/protocols</filename>
-does the same for protocol numbers.</para>
-
-</sect2>
-
-&aa-lfs-utils-shortdesc;
-&aa-lfs-utils-desc;
-
-</sect1>
-
diff --git a/chapter06/libtool.xml b/chapter06/libtool.xml
index b38b28c82..0cd065c3b 100644
--- a/chapter06/libtool.xml
+++ b/chapter06/libtool.xml
@@ -1,18 +1,25 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-libtool" xreflabel="Libtool">
-<title>Installing Libtool-&libtool-version;</title>
-<?dbhtml filename="libtool.html" dir="chapter06"?>
+<title>Libtool-&libtool-version;</title>
+<?dbhtml filename="libtool.html"?>
+
+<indexterm zone="ch-system-libtool"><primary sortas="a-Libtool">Libtool</primary></indexterm>
<para>The Libtool package contains the GNU generic library support script.
It wraps the complexity of using shared libraries in a consistent, portable
interface.</para>
-<screen>&buildtime; &libtool-time;
-&diskspace; &libtool-compsize;</screen>
+<screen>&buildtime; 1.5 SBU
+&diskspace; 20 MB</screen>
+
+<para>Libtool installation depends on: Bash, Binutils, Coreutils, Diffutils,
+GCC, Glibc, Grep, Make, Sed.</para>
-&aa-libtool-down;
-&aa-libtool-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Libtool</title>
@@ -25,17 +32,41 @@ interface.</para>
<screen><userinput>make</userinput></screen>
-<para>To have the results tested, issue:
+<para>To test the results, issue:
<userinput>make check</userinput>.</para>
-<para>And install the package:</para>
+<para>Install the package:</para>
<screen><userinput>make install</userinput></screen>
</sect2>
-&aa-libtool-shortdesc;
-&aa-libtool-desc;
-</sect1>
+<sect2 id="contents-libtool"><title>Contents of Libtool</title>
+
+<para><emphasis>Installed programs</emphasis>: libtool and libtoolize</para>
+
+<para><emphasis>Installed libraries</emphasis>: libltdl.[a,so].</para>
+
+</sect2>
+
+
+<sect2><title>Short descriptions</title>
+<indexterm zone="ch-system-libtool libtool"><primary sortas="b-libtool">libtool</primary></indexterm>
+<para id="libtool"><command>libtool</command> provides generalized library-building
+support services.</para>
+
+<indexterm zone="ch-system-libtool libtoolize"><primary sortas="b-libtoolize">libtoolize</primary></indexterm>
+<para id="libtoolize"><command>libtoolize</command> provides a standard way to add
+libtool support to a package.</para>
+
+<indexterm zone="ch-system-libtool libltdl"><primary sortas="c-libltdl">libltdl</primary></indexterm>
+<para id="libltdl"><command>libltdl</command> hides the various difficulties of
+dlopening libraries.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/m4.xml b/chapter06/m4.xml
index d990a91e5..1ca0a6861 100644
--- a/chapter06/m4.xml
+++ b/chapter06/m4.xml
@@ -1,16 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-m4" xreflabel="M4">
-<title>Installing M4-&m4-version;</title>
-<?dbhtml filename="m4.html" dir="chapter06"?>
+<title>M4-&m4-version;</title>
+<?dbhtml filename="m4.html"?>
+
+<indexterm zone="ch-system-m4"><primary sortas="a-M4">M4</primary></indexterm>
<para>The M4 package contains a macro processor.</para>
-<screen>&buildtime; &m4-time;
-&diskspace; &m4-compsize;</screen>
+<screen>&buildtime; 0.1 SBU
+&diskspace; 3.0 MB</screen>
+
+<para>M4 installation depends on: Bash, Binutils, Coreutils, Diffutils, GCC,
+Gettext, Glibc, Grep, Make, Perl, Sed.</para>
-&aa-m4-down;
-&aa-m4-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of M4</title>
@@ -23,7 +30,7 @@
<screen><userinput>make</userinput></screen>
-<para>To have the results tested, issue:
+<para>To test the results, issue:
<userinput>make check</userinput>.</para>
<para>And install the package:</para>
@@ -32,8 +39,26 @@
</sect2>
-&aa-m4-shortdesc;
-&aa-m4-desc;
-</sect1>
+<sect2 id="contents-m4"><title>Contents of M4</title>
+
+<para><emphasis>Installed program</emphasis>: m4</para>
+
+</sect2>
+
+<sect2><title>Short description</title>
+<indexterm zone="ch-system-m4 m4"><primary sortas="b-m4">m4</primary></indexterm>
+<para id="m4"><command>m4</command> copies the given files
+while expanding the macros that they contain. These macros are either built-in
+or user-defined and can take any number of arguments. Besides just doing macro
+expansion, m4 has built-in functions for including named files, running Unix
+commands, doing integer arithmetic, manipulating text in various ways,
+recursion, and so on. The m4 program can be used either as a front-end to a
+compiler or as a macro processor in its own right.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/make.xml b/chapter06/make.xml
index e3d034f30..99b4d57bf 100644
--- a/chapter06/make.xml
+++ b/chapter06/make.xml
@@ -1,16 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-make" xreflabel="Make">
-<title>Installing Make-&make-version;</title>
-<?dbhtml filename="make.html" dir="chapter06"?>
+<title>Make-&make-version;</title>
+<?dbhtml filename="make.html"?>
+
+<indexterm zone="ch-system-make"><primary sortas="a-Make">Make</primary></indexterm>
<para>The Make package contains a program for compiling large packages.</para>
-<screen>&buildtime; &make-time;
-&diskspace; &make-compsize;</screen>
+<screen>&buildtime; 0.2 SBU
+&diskspace; 8.8 MB</screen>
+
+<para>Make installation depends on: Bash, Binutils, Coreutils, Diffutils,
+GCC, Gettext, Glibc, Grep, Sed.</para>
-&aa-make-down;
-&aa-make-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Make</title>
@@ -23,18 +30,31 @@
<screen><userinput>make</userinput></screen>
-<para>To have the results tested, issue:
-<userinput>make HOME=/root check</userinput>. The HOME environment variable
-needs to be set to prevent one of the tests from failing.</para>
+<para>To test the results, issue:
+<userinput>make check</userinput>.</para>
-<para>And install the package:</para>
+<para>Now install the package:</para>
<screen><userinput>make install</userinput></screen>
</sect2>
-&aa-make-shortdesc;
-&aa-make-desc;
-</sect1>
+<sect2 id="contents-make"><title>Contents of Make</title>
+
+<para><emphasis>Installed program</emphasis>: make</para>
+
+</sect2>
+
+<sect2><title>Short description</title>
+
+<indexterm zone="ch-system-make make"><primary sortas="b-make">make</primary></indexterm>
+<para id="make"><command>make</command> automatically determines which pieces of a
+large package need to be recompiled, and then issues the relevant commands.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/makedev.xml b/chapter06/makedev.xml
index a83f07885..6d6e08edb 100644
--- a/chapter06/makedev.xml
+++ b/chapter06/makedev.xml
@@ -1,17 +1,24 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-MAKEDEV" xreflabel="Make_devices">
<title>Creating devices with Make_devices-&makedev-version;</title>
-<?dbhtml filename="makedevices.html" dir="chapter06"?>
+<?dbhtml filename="makedevices.html"?>
+
+<indexterm zone="ch-system-MAKEDEV"><primary sortas="a-Make_devices">Make_devices</primary></indexterm>
<para>The Make_devices package contains a script for creating device
nodes.</para>
-<screen>&buildtime; &makedev-time;
-&diskspace; &makedev-compsize;</screen>
+<screen>&buildtime; 1 SBU
+&diskspace; 160 KB</screen>
+
+<para>For its installation Make_devices depends on: Bash, Bzip2,
+Coreutils.</para>
-&aa-makedev-down;
-&aa-makedev-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Making devices</title>
@@ -63,23 +70,36 @@ you are satisfied, run the script to create the device files:</para>
<screen><userinput>cd /dev
./make_devices</userinput></screen>
-<para>If you had success with mounting the devpts file system earlier in <xref
-linkend="ch-system-proc"/>, you can continue with the next section. If you were
+<para>If you had success with mounting the devpts file system earlier in
+<xref linkend="ch-system-proc"/>, you can continue with the next section. If you were
unable to mount devpts, you will have to create a few static ptyXX and ttyXX
device nodes instead. To do this, open <filename>make_devices</filename> in
-your editor, go to the section "Pseudo-TTY masters" and enable a few ptyXX
-devices -- a handful are enough to enable the test suites to run, but if you
-plan to run a kernel without devpts support you will probably need many more
-(every xterm, ssh connection, telnet connection, and the like, uses one of
-these pseudo terminals). In the immediately following section "Pseudo-TTY
-slaves", enable the corresponding ttyXX devices. When you are done, rerun
+your editor, go to the section <quote>Pseudo-TTY masters</quote> and enable a
+few ptyXX devices -- a handful are enough to enable the test suites to run, but
+if you plan to run a kernel without devpts support you will probably need many
+more (every xterm, ssh connection, telnet connection, and the like, uses one of
+these pseudo terminals). In the immediately following section <quote>Pseudo-TTY
+slaves</quote>, enable the corresponding ttyXX devices. When you are done, rerun
<command>./make_devices</command> from inside <filename>/dev</filename> to
have it create the new devices.</para>
</sect2>
-&aa-makedev-shortdesc;
-&aa-makedev-desc;
-</sect1>
+<sect2 id="contents-makedev"><title>Contents of Make_devices</title>
+
+<para><emphasis>Installed script</emphasis>: make_devices</para>
+
+</sect2>
+
+<sect2><title>Short description</title>
+<indexterm zone="ch-system-MAKEDEV make_devices"><primary sortas="d-make_devices">make_devices</primary></indexterm>
+<para id="make_devices"><command>make_devices</command> is a script for creating a basic set of
+static device nodes, usually residing in the <filename class="directory">/dev</filename> directory.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/man-pages.xml b/chapter06/man-pages.xml
new file mode 100644
index 000000000..755522fa5
--- /dev/null
+++ b/chapter06/man-pages.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-system-man-pages" xreflabel="Man-pages">
+<title>Man-pages-&man-pages-version;</title>
+<?dbhtml filename="man-pages.html"?>
+
+<indexterm zone="ch-system-man-pages"><primary sortas="a-Man-pages">Man-pages</primary></indexterm>
+
+<para>The Man-pages package contains over 1200 manual pages.</para>
+
+<screen>&buildtime; 0.1 SBU
+&diskspace; 15 MB</screen>
+
+<para>For its installation Man-pages depends on: Bash, Coreutils, Make.</para>
+
+
+
+<sect2>
+<title>Installation of Man-pages</title>
+
+<para>Install Man-pages by running:</para>
+
+<screen><userinput>make install</userinput></screen>
+
+</sect2>
+
+
+<sect2 id="contents-manpages"><title>Contents of Man-pages</title>
+
+<para><emphasis>Installed files</emphasis>: various manual pages</para>
+
+</sect2>
+
+
+<sect2><title>Short description</title>
+
+<indexterm zone="ch-system-man-pages manual-pages"><primary sortas="e-manual-pages">manual pages</primary></indexterm>
+<para id="manual-pages">Examples of provided <emphasis>manual pages</emphasis> are the pages
+describing all the C and C++ functions, important device files, and important
+configuration files.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/man.xml b/chapter06/man.xml
index d308a1263..37ec8c8e9 100644
--- a/chapter06/man.xml
+++ b/chapter06/man.xml
@@ -1,16 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-man" xreflabel="Man">
-<title>Installing Man-&man-version;</title>
-<?dbhtml filename="man.html" dir="chapter06"?>
+<title>Man-&man-version;</title>
+<?dbhtml filename="man.html"?>
+
+<indexterm zone="ch-system-man"><primary sortas="a-Man">Man</primary></indexterm>
<para>The Man package contains programs for finding and viewing manual pages.</para>
-<screen>&buildtime; &man-time;
-&diskspace; &man-compsize;</screen>
+<screen>&buildtime; 0.1 SBU
+&diskspace; 1.9MB</screen>
+
+<para>Man installation depends on: Bash, Binutils, Coreutils, Gawk, GCC,
+Glibc, Grep, Make, Sed.</para>
-&aa-man-down;
-&aa-man-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Man</title>
@@ -21,7 +28,7 @@
of Groff. In particular, man pages will now display using the full terminal
width instead of being limited to 80 characters:</para>
-<screen><userinput>patch -Np1 -i ../&man-80cols-patch;</userinput></screen>
+<screen><userinput>patch -Np1 -i ../man-&man-version;-80cols.patch</userinput></screen>
<para>The second is a sed substitution to add the <emphasis>-R</emphasis>
switch to the <emphasis>PAGER</emphasis> variable so that escape sequences are
@@ -29,9 +36,9 @@ properly handled by Less:</para>
<screen><userinput>sed -i 's/-is/&amp;R/' configure</userinput></screen>
-<para>The third is also a sed substitution to comment out the "MANPATH
-/usr/man" line in the <filename>man.conf</filename> file to prevent redundant
-results when using programs such as <command>whatis</command>:</para>
+<para>The third is also a sed substitution to comment out the <quote>MANPATH
+/usr/man</quote> line in the <filename>man.conf</filename> file to prevent
+redundant results when using programs such as <command>whatis</command>:</para>
<screen><userinput>sed -i 's%MANPATH./usr/man%#&amp;%' src/man.conf.in</userinput></screen>
@@ -46,8 +53,8 @@ results when using programs such as <command>whatis</command>:</para>
to select a sensible set of default options. For example: only English man
pages, no message catalogs, man not suid, handle compressed man pages, compress
cat pages, create cat pages whenever the appropriate directory exists, follow
-FHS by putting cat pages under /var/cache/man provided that that directory
-exists.</para></listitem>
+FHS by putting cat pages under /var/cache/man (provided that directory
+exists).</para></listitem>
<listitem><para><userinput>-confdir=/etc</userinput>: This tells the
<command>man</command> program to look for the <filename>man.conf</filename>
@@ -58,11 +65,11 @@ configuration file in the <filename>/etc</filename> directory.</para></listitem>
<screen><userinput>make</userinput></screen>
-<para>And install it:</para>
+<para>Lastly, install it:</para>
<screen><userinput>make install</userinput></screen>
-<note><para>If you wish to disable SGR escape sequences, you should edit the
+<note><para>If you wish to disable SGR (Select Graphic Rendition) escape sequences, you should edit the
<filename>man.conf</filename> file and add the <emphasis>-c</emphasis> switch
to NROFF.</para></note>
@@ -72,8 +79,43 @@ formatting and compression issues for man pages.</para>
</sect2>
-&aa-man-shortdesc;
-&aa-man-desc;
-</sect1>
+<sect2 id="contents-man"><title>Contents of Man</title>
+
+<para><emphasis>Installed programs</emphasis>: apropos, makewhatis, man,
+man2dvi, man2html and whatis</para>
+
+</sect2>
+
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-man apropos"><primary sortas="b-apropos">apropos</primary></indexterm>
+<para id="apropos"><command>apropos</command> searches the whatis database and displays
+the short descriptions of system commands that contain a given string.</para>
+
+<indexterm zone="ch-system-man makewhatis"><primary sortas="b-makewhatis">makewhatis</primary></indexterm>
+<para id="makewhatis"><command>makewhatis</command> builds the whatis database. It reads
+all the manual pages in the manpath and for each page writes the name and a
+short description in the whatis database.</para>
+<indexterm zone="ch-system-man man"><primary sortas="b-man">man</primary></indexterm>
+<para id="man"><command>man</command> formats and displays the requested on-line
+manual page.</para>
+
+<indexterm zone="ch-system-man man2dvi"><primary sortas="b-man2dvi">man2dvi</primary></indexterm>
+<para id="man2dvi"><command>man2dvi</command> converts a manual page into dvi format.</para>
+
+<indexterm zone="ch-system-man man2html"><primary sortas="b-man2html">man2html</primary></indexterm>
+<para id="man2html"><command>man2html</command> converts a manual page into html.</para>
+
+<indexterm zone="ch-system-man whatis"><primary sortas="b-whatis">whatis</primary></indexterm>
+<para id="whatis"><command>whatis</command> searches the whatis database and displays
+the short descriptions of system commands that contain the given keyword as a
+separate word.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/manpages.xml b/chapter06/manpages.xml
deleted file mode 100644
index 3956bfd72..000000000
--- a/chapter06/manpages.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<sect1 id="ch-system-man-pages" xreflabel="Man-pages">
-<title>Installing Man-pages-&man-pages-version;</title>
-<?dbhtml filename="man-pages.html" dir="chapter06"?>
-
-<para>The Man-pages package contains over 1200 manual pages.</para>
-
-<screen>&buildtime; &man-pages-time;
-&diskspace; &man-pages-compsize;</screen>
-
-&aa-manpages-down;
-&aa-manpages-dep;
-
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2>
-<title>Installation of Man-pages</title>
-
-<para>Install Man-pages by running:</para>
-
-<screen><userinput>make install</userinput></screen>
-
-</sect2>
-
-&aa-manpages-shortdesc;
-&aa-manpages-desc;
-
-</sect1>
-
diff --git a/chapter06/mktemp.xml b/chapter06/mktemp.xml
new file mode 100644
index 000000000..90087d771
--- /dev/null
+++ b/chapter06/mktemp.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-system-mktemp" xreflabel="Mktemp">
+<title>Mktemp-&mktemp-version;</title>
+<?dbhtml filename="mktemp.html"?>
+
+<indexterm zone="ch-system-mktemp"><primary sortas="a-Mktemp">Mktemp</primary></indexterm>
+
+<para>The Mktemp package contains programs used to create secure temporary
+files in shell scripts.</para>
+
+<screen>&buildtime; 0.1 SBU
+&diskspace; 317 KB</screen>
+
+<para>The installation dependencies for Mktemp haven't been checked yet.</para>
+
+
+
+<sect2>
+<title>Installation of Mktemp</title>
+
+<para>Many scripts still use the deprecated <command>tempfile</command>
+program, which has functionality much the same as <command>mktemp</command>.
+Patch mktemp to include a <command>tempfile</command> wrapper:</para>
+
+<screen><userinput>patch -Np1 -i ../mktemp-&mktemp-version;-add-tempfile.patch</userinput></screen>
+
+<para>Now prepare Mktemp for compilation:</para>
+
+<screen><userinput>./configure --prefix=/usr --with-libc</userinput></screen>
+
+<para>The meaning of the configure option:</para>
+
+<itemizedlist>
+<listitem><para><userinput>--with-libc</userinput>: This causes the
+<command>mktemp</command> program to use the <emphasis>mkstemp</emphasis>
+and <emphasis>mkdtemp</emphasis> functions from the system C
+library.</para></listitem>
+</itemizedlist>
+
+<para>Compile the package:</para>
+
+<screen><userinput>make</userinput></screen>
+
+<para>Now install it:</para>
+
+<screen><userinput>make install</userinput></screen>
+
+</sect2>
+
+
+<sect2 id="contents-mktemp"><title>Contents of Mktemp</title>
+
+<para><emphasis>Installed programs</emphasis>: mktemp, tempfile</para>
+
+</sect2>
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-mktemp mktemp"><primary sortas="b-mktemp">mktemp</primary></indexterm>
+<para id="mktemp"><command>mktemp</command> creates temporary files in a secure manner.
+It is used in scripts.</para>
+
+<indexterm zone="ch-system-mktemp tempfile"><primary sortas="b-tempfile">tempfile</primary></indexterm>
+<para id="tempfile"><command>tempfile</command> creates temporary files in a less secure
+manner than <command>mktemp</command>. It is installed for
+backwards-compatibility.</para>
+
+</sect2>
+
+
+</sect1>
diff --git a/chapter06/modutils.xml b/chapter06/modutils.xml
index 1f7c0fdbe..829dc4739 100644
--- a/chapter06/modutils.xml
+++ b/chapter06/modutils.xml
@@ -1,16 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-modutils" xreflabel="Modutils">
-<title>Installing Modutils-&modutils-version;</title>
-<?dbhtml filename="modutils.html" dir="chapter06"?>
+<title>Modutils-&modutils-version;</title>
+<?dbhtml filename="modutils.html"?>
+
+<indexterm zone="ch-system-modutils"><primary sortas="a-Modutils">Modutils</primary></indexterm>
<para>The Modutils package contains programs for handling kernel modules.</para>
-<screen>&buildtime; &modutils-time;
-&diskspace; &modutils-compsize;</screen>
+<screen>&buildtime; 0.1 SBU
+&buildtime; 2.9 MB</screen>
+
+<para>Modutils installation depends on: Bash, Binutils, Bison, Coreutils,
+Diffutils, Flex, GCC, Glibc, Grep, M4, Make, Sed.</para>
-&aa-modutils-down;
-&aa-modutils-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Modutils</title>
@@ -23,14 +30,66 @@
<screen><userinput>make</userinput></screen>
-<para>And install it:</para>
+<para>Install it:</para>
<screen><userinput>make install</userinput></screen>
</sect2>
-&aa-modutils-shortdesc;
-&aa-modutils-desc;
-</sect1>
+<sect2 id="contents-modutils"><title>Contents of Modutils</title>
+
+<para><emphasis>Installed programs</emphasis>: depmod, genksyms, insmod,
+insmod_ksymoops_clean, kallsyms (link to insmod), kernelversion, ksyms
+(link to insmod), lsmod (link to insmod), modinfo, modprobe (link to insmod)
+and rmmod (link to insmod)</para>
+
+</sect2>
+
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-modutils depmod"><primary sortas="b-depmod">depmod</primary></indexterm>
+<para id="depmod"><command>depmod</command> creates a dependency file, based on the
+symbols it finds in the existing set of modules. This dependency file is used
+by modprobe to automatically load the required modules.</para>
+
+<indexterm zone="ch-system-modutils genksyms"><primary sortas="b-genksyms">genksyms</primary></indexterm>
+<para id="genksyms"><command>genksyms</command> generates symbol version information.</para>
+
+<indexterm zone="ch-system-modutils insmod"><primary sortas="b-insmod">insmod</primary></indexterm>
+<para id="insmod"><command>insmod</command> installs a loadable module in the running kernel.</para>
+
+<indexterm zone="ch-system-modutils insmod_ksymoops_clean"><primary sortas="b-insmod_ksymoops_clean">insmod_ksymoops_clean</primary></indexterm>
+<para id="insmod_ksymoops_clean"><command>insmod_ksymoops_clean</command> deletes saved ksyms and
+modules not accessed for two days.</para>
+<indexterm zone="ch-system-modutils kallsyms"><primary sortas="b-kallsyms">kallsyms</primary></indexterm>
+<para id="kallsyms"><command>kallsyms</command> extracts all kernel symbols for debugging.</para>
+
+<indexterm zone="ch-system-modutils kernelversion"><primary sortas="b-kernelversion">kernelversion</primary></indexterm>
+<para id="kernelversion"><command>kernelversion</command> reports the major version of the
+running kernel.</para>
+
+<indexterm zone="ch-system-modutils ksyms"><primary sortas="b-ksyms">ksyms</primary></indexterm>
+<para id="ksyms"><command>ksyms</command> displays exported kernel symbols.</para>
+
+<indexterm zone="ch-system-modutils lsmod"><primary sortas="b-lsmod">lsmod</primary></indexterm>
+<para id="lsmod"><command>lsmod</command> shows which modules are loaded.</para>
+
+<indexterm zone="ch-system-modutils modinfo"><primary sortas="b-modinfo">modinfo</primary></indexterm>
+<para id="modinfo"><command>modinfo</command> examines an object file associated with
+a kernel module and displays any information that it can glean.</para>
+
+<indexterm zone="ch-system-modutils modprobe"><primary sortas="b-modprobe">modprobe</primary></indexterm>
+<para id="modprobe"><command>modprobe</command> uses a dependency file, created by
+depmod, to automatically load the relevant modules.</para>
+
+<indexterm zone="ch-system-modutils rmmod"><primary sortas="b-rmmod">rmmod</primary></indexterm>
+<para id="rmmod"><command>rmmod</command> unloads modules from the running kernel.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/ncurses.xml b/chapter06/ncurses.xml
index 700d81b9e..4be199096 100644
--- a/chapter06/ncurses.xml
+++ b/chapter06/ncurses.xml
@@ -1,17 +1,24 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-ncurses" xreflabel="Ncurses">
-<title>Installing Ncurses-&ncurses-version;</title>
-<?dbhtml filename="ncurses.html" dir="chapter06"?>
+<title>Ncurses-&ncurses-version;</title>
+<?dbhtml filename="ncurses.html"?>
-<para>The Ncurses package contains libraries for the terminal-independent
+<indexterm zone="ch-system-ncurses"><primary sortas="a-Ncurses">Ncurses</primary></indexterm>
+
+<para>The Ncurses package contains libraries for terminal-independent
handling of character screens.</para>
-<screen>&buildtime; &ncurses-time;
-&diskspace; &ncurses-compsize;</screen>
+<screen>&buildtime; 0.6 SBU
+&diskspace; 27 MB</screen>
+
+<para>Ncurses installation depends on: Bash, Binutils, Coreutils, Diffutils,
+Gawk, GCC, Glibc, Grep, Make, Sed.</para>
-&aa-ncurses-down;
-&aa-ncurses-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Ncurses</title>
@@ -32,7 +39,7 @@ handling of character screens.</para>
<screen><userinput>chmod 755 /usr/lib/*.&ncurses-version;</userinput></screen>
-<para>And fix a library that shouldn't be executable:</para>
+<para>Now fix a library that shouldn't be executable:</para>
<screen><userinput>chmod 644 /usr/lib/libncurses++.a</userinput></screen>
@@ -41,15 +48,85 @@ where they're expected to reside:</para>
<screen><userinput>mv /usr/lib/libncurses.so.5* /lib</userinput></screen>
-<para>Now the libraries have been moved, a few symlinks are pointing to
+<para>Because the libraries have been moved, a few symlinks are pointing to
non-existent files. Recreate those symlinks:</para>
<screen><userinput>ln -sf ../../lib/libncurses.so.5 /usr/lib/libncurses.so
ln -sf libncurses.so /usr/lib/libcurses.so</userinput></screen>
</sect2>
-&aa-ncurses-shortdesc;
-&aa-ncurses-desc;
-</sect1>
+<sect2 id="contents-ncurses"><title>Contents of Ncurses</title>
+
+<para><emphasis>Installed programs</emphasis>: captoinfo (link to tic), clear,
+infocmp, infotocap (link to tic), reset (link to tset), tack, tic, toe, tput
+and tset</para>
+
+<para><emphasis>Installed libraries</emphasis>: libcurses.[a,so] (link to
+libncurses.[a,so]), libform.[a,so], libmenu.[a,so], libncurses++.a,
+libncurses.[a,so], libpanel.[a,so]</para>
+
+</sect2>
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-ncurses captoinfo"><primary sortas="b-captoinfo">captoinfo</primary></indexterm>
+<para id="captoinfo"><command>captoinfo</command> converts a termcap description into a
+terminfo description.</para>
+
+<indexterm zone="ch-system-ncurses clear"><primary sortas="b-clear">clear</primary></indexterm>
+<para id="clear"><command>clear</command> clears the screen, if this is possible.</para>
+
+<indexterm zone="ch-system-ncurses infocmp"><primary sortas="b-infocmp">infocmp</primary></indexterm>
+<para id="infocmp"><command>infocmp</command> compares or prints out terminfo
+descriptions.</para>
+
+<indexterm zone="ch-system-ncurses infotocap"><primary sortas="b-infotocap">infotocap</primary></indexterm>
+<para id="infotocap"><command>infotocap</command> converts a terminfo description into
+a termcap description.</para>
+
+<indexterm zone="ch-system-ncurses reset"><primary sortas="b-reset">reset</primary></indexterm>
+<para id="reset"><command>reset</command> reinitializes a terminal to its default
+values.</para>
+
+<indexterm zone="ch-system-ncurses tack"><primary sortas="b-tack">tack</primary></indexterm>
+<para id="tack"><command>tack</command> is the terminfo action checker. It is mainly
+used to test the correctness of an entry in the terminfo database.</para>
+<indexterm zone="ch-system-ncurses tic"><primary sortas="b-tic">tic</primary></indexterm>
+<para id="tic"><command>tic</command> is the terminfo entry-description compiler.
+It translates a terminfo file from source format into the binary format needed
+for the ncurses library routines. A terminfo file contains information on the
+capabilities of a certain terminal.</para>
+
+<indexterm zone="ch-system-ncurses toe"><primary sortas="b-toe">toe</primary></indexterm>
+<para id="toe"><command>toe</command> lists all available terminal types, for each
+giving its primary name and its description.</para>
+
+<indexterm zone="ch-system-ncurses tput"><primary sortas="b-tput">tput</primary></indexterm>
+<para id="tput"><command>tput</command> makes the values of terminal-dependent
+capabilities available to the shell. It can also be used to reset or initialize
+a terminal, or report its long name.</para>
+
+<indexterm zone="ch-system-ncurses tset"><primary sortas="b-tset">tset</primary></indexterm>
+<para id="tset"><command>tset</command> can be used to initialize terminals.</para>
+
+<indexterm zone="ch-system-ncurses libncurses"><primary sortas="c-libncurses*">libncurses*</primary></indexterm>
+<para id="libncurses"><command>libncurses*</command> contains functions to display text in
+many complicated ways on a terminal screen. A good example of the use of these
+functions is the menu displayed during the kernel's make menuconfig.</para>
+
+<indexterm zone="ch-system-ncurses libform"><primary sortas="c-libform*">libform*</primary></indexterm>
+<para id="libform"><command>libform*</command> contains functions to implement forms.</para>
+
+<indexterm zone="ch-system-ncurses libmenu"><primary sortas="c-libmenu*">libmenu*</primary></indexterm>
+<para id="libmenu"><command>libmenu*</command> contains functions to implement menus.</para>
+
+<indexterm zone="ch-system-ncurses libpanel"><primary sortas="c-libpanel*">libpanel*</primary></indexterm>
+<para id="libpanel"><command>libpanel*</command> contains functions to implement panels.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/net-tools.xml b/chapter06/net-tools.xml
new file mode 100644
index 000000000..9eaa24b3c
--- /dev/null
+++ b/chapter06/net-tools.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-system-net-tools" xreflabel="Net-tools">
+<title>Net-tools-&net-tools-version;</title>
+<?dbhtml filename="net-tools.html"?>
+
+<indexterm zone="ch-system-net-tools"><primary sortas="a-Net-tools">Net-tools</primary></indexterm>
+
+<para>The Net-tools package contains programs for basic networking.</para>
+
+<screen>&buildtime; 0.1 SBU
+&diskspace; 9.4 MB</screen>
+
+<para>Net-tools installation depends on: Bash, Binutils, Coreutils, GCC,
+Glibc, Make.</para>
+
+
+
+<sect2>
+<title>Installation of Net-tools</title>
+
+<para>If you don't know what to answer to all the questions asked during the
+<command>make config</command> phase below, then just accept the defaults.
+This will be just fine in the majority of cases. What you're asked here is a
+bunch of questions about which network protocols you've enabled in your
+kernel. The default answers will enable the tools from this package to work
+with the most common protocols: TCP, PPP, and several others. You still need
+to actually enable these protocols in the kernel -- what you do here is merely
+telling the package to include support for those protocols in its programs,
+but it's up to the kernel to make the protocols available.</para>
+
+<para>First fix a small syntax problem in the sources of the
+<command>mii-tool</command> program:</para>
+
+<screen><userinput>patch -Np1 -i ../net-tools-&net-tools-version;-miitool-gcc33-1.patch</userinput></screen>
+
+<para>Now prepare Net-tools for compilation (if you intend to accept the
+defaults, you can skip all the questions by running <userinput>yes "" |
+make config</userinput> instead):</para>
+
+<screen><userinput>make config</userinput></screen>
+
+<para>Compile the package:</para>
+
+<screen><userinput>make</userinput></screen>
+
+<para>Now install it:</para>
+
+<screen><userinput>make update</userinput></screen>
+
+</sect2>
+
+
+<sect2 id="contents-net"><title>Contents of Net-tools</title>
+
+<para><emphasis>Installed programs</emphasis>: arp, dnsdomainname (link to
+hostname), domainname (link to hostname), hostname, ifconfig, nameif, netstat,
+nisdomainname (link to hostname), plipconfig, rarp, route, slattach and
+ypdomainname (link to hostname)</para>
+
+</sect2>
+
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-net-tools arp"><primary sortas="b-arp">arp</primary></indexterm>
+<para id="arp"><command>arp</command> is used to manipulate the kernel's ARP cache,
+usually to add or delete an entry, or to dump the entire cache.</para>
+
+<indexterm zone="ch-system-net-tools dnsdomainname"><primary sortas="b-dnsdomainname">dnsdomainname</primary></indexterm>
+<para id="dnsdomainname"><command>dnsdomainname</command> reports the system's DNS (Domain Name Server) domain
+name.</para>
+
+<indexterm zone="ch-system-net-tools domainname"><primary sortas="b-domainname">domainname</primary></indexterm>
+<para id="domainname"><command>domainname</command> reports or sets the system's NIS/YP
+domain name.</para>
+
+<indexterm zone="ch-system-net-tools hostname"><primary sortas="b-hostname">hostname</primary></indexterm>
+<para id="hostname"><command>hostname</command> reports or sets the name of the current
+host system.</para>
+
+<indexterm zone="ch-system-net-tools ifconfig"><primary sortas="b-ifconfig">ifconfig</primary></indexterm>
+<para id="ifconfig"><command>ifconfig</command> is the main utility for configuring
+network interfaces.</para>
+
+<indexterm zone="ch-system-net-tools nameif"><primary sortas="b-nameif">nameif</primary></indexterm>
+<para id="nameif"><command>nameif</command> names network interfaces based on MAC
+addresses.</para>
+
+<indexterm zone="ch-system-net-tools netstat"><primary sortas="b-netstat">netstat</primary></indexterm>
+<para id="netstat"><command>netstat</command> is used to report network connections,
+routing tables, and interface statistics..</para>
+
+<indexterm zone="ch-system-net-tools nisdomainname"><primary sortas="b-nisdomainname">nisdomainname</primary></indexterm>
+<para id="nisdomainname"><command>nisdomainname</command> does the same as domainname.</para>
+
+<indexterm zone="ch-system-net-tools plipconfig"><primary sortas="b-plipconfig">plipconfig</primary></indexterm>
+<para id="plipconfig"><command>plipconfig</command> is used to fine tune the PLIP device
+parameters, to improve its performance.</para>
+
+<indexterm zone="ch-system-net-tools rarp"><primary sortas="b-rarp">rarp</primary></indexterm>
+<para id="rarp"><command>rarp</command> is used to manipulate the kernel's RARP
+table.</para>
+
+<indexterm zone="ch-system-net-tools route"><primary sortas="b-route">route</primary></indexterm>
+<para id="route"><command>route</command> is used to manipulate the IP routing
+table.</para>
+
+<indexterm zone="ch-system-net-tools slattach"><primary sortas="b-slattach">slattach</primary></indexterm>
+<para id="slattach"><command>slattach</command> attaches a network interface to a serial
+line. This allows you to use normal terminal lines for point-to-point links to
+other computers.</para>
+
+<indexterm zone="ch-system-net-tools ypdomainname"><primary sortas="b-ypdomainname">ypdomainname</primary></indexterm>
+<para id="ypdomainname"><command>ypdomainname</command> does the same as domainname.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/nettools.xml b/chapter06/nettools.xml
deleted file mode 100644
index 2f149de11..000000000
--- a/chapter06/nettools.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<sect1 id="ch-system-net-tools" xreflabel="Net-tools">
-<title>Installing Net-tools-&net-tools-version;</title>
-<?dbhtml filename="net-tools.html" dir="chapter06"?>
-
-<para>The Net-tools package contains programs for basic networking.</para>
-
-<screen>&buildtime; &net-tools-time;
-&diskspace; &net-tools-compsize;</screen>
-
-&aa-nettools-down;
-&aa-nettools-dep;
-
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2>
-<title>Installation of Net-tools</title>
-
-<para>If you don't know what to answer to all the questions asked during the
-<command>make config</command> phase below, then just accept the defaults.
-This will be just fine in the majority of cases. What you're asked here is a
-bunch of questions about which network protocols you've enabled in your
-kernel. The default answers will enable the tools from this package to work
-with the most common protocols: TCP, PPP, and several others. You still need
-to actually enable these protocols in the kernel -- what you do here is merely
-telling the package to include support for those protocols in its programs,
-but it's up to the kernel to make the protocols available.</para>
-
-<para>First fix a small syntax problem in the sources of the
-<command>mii-tool</command> program:</para>
-
-<screen><userinput>patch -Np1 -i ../&net-tools-mii-patch;</userinput></screen>
-
-<para>Now prepare Net-tools for compilation (if you intend to accept the
-defaults, you can skip all the questions by running <userinput>yes "" |
-make config</userinput> instead):</para>
-
-<screen><userinput>make config</userinput></screen>
-
-<para>Compile the package:</para>
-
-<screen><userinput>make</userinput></screen>
-
-<para>And install it:</para>
-
-<screen><userinput>make update</userinput></screen>
-
-</sect2>
-
-&aa-nettools-shortdesc;
-&aa-nettools-desc;
-
-</sect1>
-
diff --git a/chapter06/patch.xml b/chapter06/patch.xml
index 8ff7e4c69..081d36278 100644
--- a/chapter06/patch.xml
+++ b/chapter06/patch.xml
@@ -1,21 +1,28 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-patch" xreflabel="Patch">
-<title>Installing Patch-&patch-version;</title>
-<?dbhtml filename="patch.html" dir="chapter06"?>
+<title>Patch-&patch-version;</title>
+<?dbhtml filename="patch.html"?>
+
+<indexterm zone="ch-system-patch"><primary sortas="a-Patch">Patch</primary></indexterm>
<para>The Patch package contains a program for modifying files.</para>
-<screen>&buildtime; &patch-time;
-&diskspace; &patch-compsize;</screen>
+<screen>&buildtime; 0.1 SBU
+&diskspace; 1.9 MB</screen>
+
+<para>Patch installation depends on: Bash, Binutils, Coreutils, Diffutils,
+GCC, Glibc, Grep, Make, Sed.</para>
-&aa-patch-down;
-&aa-patch-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Patch</title>
-<para>Prepare Patch for compilation (setting the preprocessor flags to
+<para>Prepare Patch for compilation (the preprocessor flag
<emphasis>-D_GNU_SOURCE</emphasis> is only needed on PowerPCs, on other
machines you can leave it out):</para>
@@ -25,14 +32,31 @@ machines you can leave it out):</para>
<screen><userinput>make</userinput></screen>
-<para>And install it:</para>
+<para>Now install it:</para>
<screen><userinput>make install</userinput></screen>
</sect2>
-&aa-patch-shortdesc;
-&aa-patch-desc;
-</sect1>
+<sect2 id="contents-patch"><title>Contents of Patch</title>
+
+<para><emphasis>Installed program</emphasis>: patch</para>
+
+</sect2>
+
+<sect2><title>Short description</title>
+
+<indexterm zone="ch-system-patch patch"><primary sortas="b-patch">patch</primary></indexterm>
+<para id="patch"><command>patch</command> modifies files according to a patch file.
+A patch file normally is a difference listing created with the diff program.
+By applying these differences to the original files, patch creates the patched
+versions. Using patches instead of entirely new tarballs to keep your sources
+up-to-date can save you a lot of download time.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/perl.xml b/chapter06/perl.xml
index 594d98426..62aa4d9bf 100644
--- a/chapter06/perl.xml
+++ b/chapter06/perl.xml
@@ -1,25 +1,30 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-perl" xreflabel="Perl">
-<title>Installing Perl-&perl-version;</title>
-<?dbhtml filename="perl.html" dir="chapter06"?>
+<title>Perl-&perl-version;</title>
+<?dbhtml filename="perl.html"?>
+
+<indexterm zone="ch-system-perl"><primary sortas="a-Perl">Perl</primary></indexterm>
<para>The Perl package contains the Practical Extraction and Report Language.</para>
-<screen>&buildtime; &perl-time;
-&diskspace; &perl-compsize;</screen>
+<screen>&buildtime; 2.9 SBU
+&diskspace; 143 MB</screen>
-<literallayout>Official download location for Perl (&perl-version;):
-<ulink url="http://www.perl.com/"/></literallayout>
+<para>Perl installation depends on: Bash, Binutils, Coreutils, Diffutils,
+Gawk, GCC, Glibc, Grep, Make, Sed.</para>
-&aa-perl-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Perl</title>
<para>If you want full control over the way Perl is set up, you can run the
interactive <command>Configure</command> script and hand-pick the way this
-package is built. If, however, you guess you can live with the (sensible)
+package is built. If you think you can live with the (sensible)
defaults it auto-detects, then prepare Perl for compilation with:</para>
<screen><userinput>./configure.gnu --prefix=/usr -Dpager="/bin/less -isR"</userinput></screen>
@@ -46,14 +51,129 @@ resolve the name <emphasis>localhost</emphasis>:</para>
<screen><userinput>make test</userinput></screen>
-<para>And install the package:</para>
+<para>Finally, install the package:</para>
<screen><userinput>make install</userinput></screen>
</sect2>
-&aa-perl-shortdesc;
-&aa-perl-desc;
-</sect1>
+<sect2 id="contents-perl"><title>Contents of Perl</title>
+
+<para><emphasis>Installed programs</emphasis>: a2p, c2ph, dprofpp, enc2xs,
+find2perl, h2ph, h2xs, libnetcfg, perl, perl&perl-version; (link to perl),
+perlbug, perlcc, perldoc, perlivp, piconv, pl2pm, pod2html, pod2latex, pod2man,
+pod2text, pod2usage, podchecker, podselect, psed (link to s2p), pstruct (link
+to c2ph), s2p, splain and xsubpp</para>
+
+<para><emphasis>Installed libraries</emphasis>: (too many to name)</para>
+
+</sect2>
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-perl a2p"><primary sortas="b-a2p">a2p</primary></indexterm>
+<para id="a2p"><command>a2p</command> translates awk to perl.</para>
+
+<indexterm zone="ch-system-perl c2ph"><primary sortas="b-c2ph">c2ph</primary></indexterm>
+<para id="c2ph"><command>c2ph</command> dumps C structures as generated from
+"cc -g -S" stabs.</para>
+
+<indexterm zone="ch-system-perl dprofpp"><primary sortas="b-dprofpp">dprofpp</primary></indexterm>
+<para id="dprofpp"><command>dprofpp</command> displays perl profile data.</para>
+
+<indexterm zone="ch-system-perl en2cxs"><primary sortas="b-en2cxs">en2cxs</primary></indexterm>
+<para id="en2cxs"><command>en2cxs</command> builds a Perl extension for the Encode module,
+from either Unicode Character Mappings or Tcl Encoding Files.</para>
+
+<indexterm zone="ch-system-perl find2perl"><primary sortas="b-find2perl">find2perl</primary></indexterm>
+<para id="find2perl"><command>find2perl</command> translates find commands to perl.</para>
+
+<indexterm zone="ch-system-perl h2ph"><primary sortas="b-h2ph">h2ph</primary></indexterm>
+<para id="h2ph"><command>h2ph</command> converts .h C header files to .ph Perl header files.</para>
+
+<indexterm zone="ch-system-perl h2xs"><primary sortas="b-h2xs">h2xs</primary></indexterm>
+<para id="h2xs"><command>h2xs</command> converts .h C header files to Perl extensions.</para>
+
+<indexterm zone="ch-system-perl libnetcfg"><primary sortas="b-libnetcfg">libnetcfg</primary></indexterm>
+<para id="libnetcfg"><command>libnetcfg</command> can be used to configure the libnet.</para>
+
+<indexterm zone="ch-system-perl perl"><primary sortas="b-perl">perl</primary></indexterm>
+<para id="perl"><command>perl</command> combines some of the best features of C, sed,
+awk and sh into a single swiss-army language.</para>
+
+<indexterm zone="ch-system-perl perlbug"><primary sortas="b-perlbug">perlbug</primary></indexterm>
+<para id="perlbug"><command>perlbug</command> is used to generate bug reports about
+Perl or the modules that come with it, and mail them.</para>
+
+<indexterm zone="ch-system-perl perlcc"><primary sortas="b-perlcc">perlcc</primary></indexterm>
+<para id="perlcc"><command>perlcc</command> generates executables from Perl programs.</para>
+
+<indexterm zone="ch-system-perl perldoc"><primary sortas="b-perldoc">perldoc</primary></indexterm>
+<para id="perldoc"><command>perldoc</command> displays a piece of documentation in pod
+format that is embedded in the perl installation tree or in a perl script.</para>
+
+<indexterm zone="ch-system-perl perlivp"><primary sortas="b-perlivp">perlivp</primary></indexterm>
+<para id="perlivp"><command>perlivp</command> is the Perl Installation Verification
+Procedure. It can be used to verify that Perl and its libraries have been
+installed correctly.</para>
+<indexterm zone="ch-system-perl piconv"><primary sortas="b-piconv">piconv</primary></indexterm>
+<para id="piconv"><command>piconv</command> is a Perl version of the character encoding
+converter <command>iconv</command>.</para>
+
+<indexterm zone="ch-system-perl pl2pm"><primary sortas="b-pl2pm">pl2pm</primary></indexterm>
+<para id="pl2pm"><command>pl2pm</command> is a rough tool for converting Perl4 .pl
+files to Perl5 .pm modules.</para>
+
+<indexterm zone="ch-system-perl pod2html"><primary sortas="b-pod2html">pod2html</primary></indexterm>
+<para id="pod2html"><command>pod2html</command> converts files from pod format to HTML
+format.</para>
+
+<indexterm zone="ch-system-perl pod2latex"><primary sortas="b-pod2latex">pod2latex</primary></indexterm>
+<para id="pod2latex"><command>pod2latex</command> converts files from pod format to LaTeX
+format.</para>
+
+<indexterm zone="ch-system-perl pod2man"><primary sortas="b-pod2man">pod2man</primary></indexterm>
+<para id="pod2man"><command>pod2man</command> converts pod data to formatted *roff
+input.</para>
+
+<indexterm zone="ch-system-perl pod2text"><primary sortas="b-pod2text">pod2text</primary></indexterm>
+<para id="pod2text"><command>pod2text</command> converts pod data to formatted ASCII
+text.</para>
+
+<indexterm zone="ch-system-perl pod2usage"><primary sortas="b-pod2usage">pod2usage</primary></indexterm>
+<para id="pod2usage"><command>pod2usage</command> prints usage messages from embedded
+pod docs in files.</para>
+
+<indexterm zone="ch-system-perl podchecker"><primary sortas="b-podchecker">podchecker</primary></indexterm>
+<para id="podchecker"><command>podchecker</command> checks the syntax of pod format
+documentation files.</para>
+
+<indexterm zone="ch-system-perl podselect"><primary sortas="b-podselect">podselect</primary></indexterm>
+<para id="podselect"><command>podselect</command> displays selected sections of pod
+documentation.</para>
+
+<indexterm zone="ch-system-perl psed"><primary sortas="b-psed">psed</primary></indexterm>
+<para id="psed"><command>psed</command> is a Perl version of the stream editor
+<userinput>sed</userinput>.</para>
+
+<indexterm zone="ch-system-perl pstruct"><primary sortas="b-pstruct">pstruct</primary></indexterm>
+<para id="pstruct"><command>pstruct</command> dumps C structures as generated from
+"cc -g -S" stabs.</para>
+
+<indexterm zone="ch-system-perl s2p"><primary sortas="b-s2p">s2p</primary></indexterm>
+<para id="s2p"><command>s2p</command> translates sed to perl.</para>
+
+<indexterm zone="ch-system-perl splain"><primary sortas="b-splain">splain</primary></indexterm>
+<para id="splain"><command>splain</command> is used to force verbose warning
+diagnostics in perl.</para>
+
+<indexterm zone="ch-system-perl xsubpp"><primary sortas="b-xsubpp">xsubpp</primary></indexterm>
+<para id="xsubpp"><command>xsubpp</command> converts Perl XS code into C code.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/proc.xml b/chapter06/proc.xml
new file mode 100644
index 000000000..919abf6a8
--- /dev/null
+++ b/chapter06/proc.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<sect1 id="ch-system-proc">
+<title>Mounting the proc and devpts file systems</title>
+<?dbhtml filename="proc.html"?>
+
+<para>In order for certain programs to function properly, the
+<emphasis>proc</emphasis> and <emphasis>devpts</emphasis> file systems must be
+available within the chroot environment. The proc file system is the process
+information pseudo file system through which the kernel provides information
+about the status of the system. And the devpts file system is nowadays the most
+common way pseudo terminals (PTYs) are implemented. Since kernel version 2.4, a
+file system can be mounted as many times and in as many places as you like,
+thus it's not a problem that these file systems are already mounted on your
+host system, especially so because they are virtual file systems.</para>
+
+<para>First become <emphasis>root</emphasis>, as only <emphasis>root</emphasis>
+can mount file systems in unusual places. Then check again that the LFS
+environment variable is set correctly by running <userinput>echo
+$LFS</userinput> and making sure it shows the path to your LFS partition's
+mount point, which is <filename class="directory">/mnt/lfs</filename> if you
+followed our example.</para>
+
+<para>Now make the mount points for these filesystems:</para>
+
+<screen><userinput>mkdir -p $LFS/{proc,dev/pts}</userinput></screen>
+
+<para>Mount the <emphasis>proc</emphasis> file system with:</para>
+
+<screen><userinput>mount proc $LFS/proc -t proc</userinput></screen>
+
+<para>And mount the <emphasis>devpts</emphasis> file system with:</para>
+
+<screen><userinput>mount devpts $LFS/dev/pts -t devpts</userinput></screen>
+
+<para>This last command might fail with an error like:</para>
+
+<blockquote><screen>filesystem devpts not supported by kernel</screen></blockquote>
+
+<para>The most likely cause for this is that your host system's kernel was
+compiled without support for the devpts file system (you can check which file
+systems your kernel supports with <command>cat /proc/filesystems</command>,
+for example). A few PTYs are needed to be able to run the suites for Binutils
+and GCC later on. If your kernel does not support devpts, do not worry, there
+is another way to get them working inside the chroot environment. We'll cover
+this shortly in the <xref linkend="ch-system-MAKEDEV"/> section.</para>
+
+<para>Remember that if for any reason you stop working on your LFS, and start
+again later, it's important to check that these file systems are mounted again
+before entering the chroot environment, otherwise problems could occur.</para>
+
+</sect1>
diff --git a/chapter06/procinfo.xml b/chapter06/procinfo.xml
index f8d59a2e0..41249115b 100644
--- a/chapter06/procinfo.xml
+++ b/chapter06/procinfo.xml
@@ -1,16 +1,22 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-procinfo" xreflabel="Procinfo">
-<title>Installing Procinfo-&procinfo-version;</title>
-<?dbhtml filename="procinfo.html" dir="chapter06"?>
+<title>Procinfo-&procinfo-version;</title>
+<?dbhtml filename="procinfo.html"?>
+
+<indexterm zone="ch-system-procinfo"><primary sortas="a-Procinfo">Procinfo</primary></indexterm>
<para>The Procinfo package contains programs for displaying system information.</para>
-<screen>&buildtime; &procinfo-time;
-&diskspace; &procinfo-compsize;</screen>
+<screen>&buildtime; 0.1 SBU
+&diskspace; 0.2 MB</screen>
+
+<para>Procinfo installation depends on: Binutils, GCC, Glibc, Make, Ncurses.</para>
-&aa-procinfo-down;
-&aa-procinfo-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Procinfo</title>
@@ -26,14 +32,37 @@ to use the <filename>libncurses</filename> library instead of the
long-obsolete <filename>libtermcap</filename>.</para></listitem>
</itemizedlist>
-<para>And install the package:</para>
+<para>Install the package:</para>
<screen><userinput>make install</userinput></screen>
</sect2>
-&aa-procinfo-shortdesc;
-&aa-procinfo-desc;
-</sect1>
+<sect2 id="contents-procinfo"><title>Contents of Procinfo</title>
+
+<para><emphasis>Installed programs</emphasis>: lsdev, procinfo and
+socklist</para>
+
+</sect2>
+
+
+<sect2><title>Short descriptions</title>
+<indexterm zone="ch-system-procinfo lsdev"><primary sortas="b-lsdev">lsdev</primary></indexterm>
+<para id="lsdev"><command>lsdev</command> lists the devices present in your system,
+and which IRQs (Interrupt ReQuest) and IO ports they use.</para>
+
+<indexterm zone="ch-system-procinfo procinfo"><primary sortas="b-procinfo">procinfo</primary></indexterm>
+<para id="procinfo"><command>procinfo</command> displays an overview of some of the information
+present in the virtual proc file system.</para>
+
+<indexterm zone="ch-system-procinfo socklist"><primary sortas="b-socklist">socklist</primary></indexterm>
+<para id="socklist"><command>socklist</command> lists the open sockets, reporting their
+type, port number, and other specifics.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/procps.xml b/chapter06/procps.xml
index 4e80e190d..8ab64a1e4 100644
--- a/chapter06/procps.xml
+++ b/chapter06/procps.xml
@@ -1,16 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-procps" xreflabel="Procps">
-<title>Installing Procps-&procps-version;</title>
-<?dbhtml filename="procps.html" dir="chapter06"?>
+<title>Procps-&procps-version;</title>
+<?dbhtml filename="procps.html"?>
+
+<indexterm zone="ch-system-procps"><primary sortas="a-Procps">Procps</primary></indexterm>
<para>The Procps package contains programs for monitoring processes.</para>
-<screen>&buildtime; &procps-time;
-&diskspace; &procps-compsize;</screen>
+<screen>&buildtime; 0.1 SBU
+&diskspace; 6.2 MB</screen>
+
+<para>Procps installation depends on: Bash, Binutils, Coreutils, GCC, Glibc,
+Make, Ncurses.</para>
-&aa-procps-down;
-&aa-procps-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Procps</title>
@@ -23,14 +30,90 @@
<screen><userinput>make install</userinput></screen>
-<para>And remove a spurious library link:</para>
+<para>Remove a spurious library link:</para>
<screen><userinput>rm /lib/libproc.so</userinput></screen>
</sect2>
-&aa-procps-shortdesc;
-&aa-procps-desc;
-</sect1>
+<sect2 id="contents-procps"><title>Contents of Procps</title>
+
+<para><emphasis>Installed programs</emphasis>: free, kill, pgrep, pkill,
+pmap, ps, skill, snice, sysctl, tload, top, uptime, vmstat, w and watch</para>
+
+<para><emphasis>Installed library</emphasis>: libproc.so</para>
+
+</sect2>
+
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-procps free"><primary sortas="b-free">free</primary></indexterm>
+<para id="free"><command>free</command> reports the amount of free and used memory
+in the system, both physical and swap memory.</para>
+
+<indexterm zone="ch-system-procps kill"><primary sortas="b-kill">kill</primary></indexterm>
+<para id="kill"><command>kill</command> is used to send signals to processes.</para>
+
+<indexterm zone="ch-system-procps pgrep"><primary sortas="b-pgrep">pgrep</primary></indexterm>
+<para id="pgrep"><command>pgrep</command> looks up processes based on their name
+and other attributes.</para>
+
+<indexterm zone="ch-system-procps pkill"><primary sortas="b-pkill">pkill</primary></indexterm>
+<para id="pkill"><command>pkill</command> signals processes based on their name
+and other attributes.</para>
+
+<indexterm zone="ch-system-procps pmap"><primary sortas="b-pmap">pmap</primary></indexterm>
+<para id="pmap"><command>pmap</command> reports the memory map of the given
+process.</para>
+
+<indexterm zone="ch-system-procps ps"><primary sortas="b-ps">ps</primary></indexterm>
+<para id="ps"><command>ps</command> gives a snapshot of the current processes.</para>
+<indexterm zone="ch-system-procps skill"><primary sortas="b-skill">skill</primary></indexterm>
+<para id="skill"><command>skill</command> sends signals to processes matching the
+given criteria.</para>
+
+<indexterm zone="ch-system-procps snice"><primary sortas="b-snice">snice</primary></indexterm>
+<para id="snice"><command>snice</command> changes the scheduling priority of processes
+matching the given criteria.</para>
+
+<indexterm zone="ch-system-procps sysctl"><primary sortas="b-sysctl">sysctl</primary></indexterm>
+<para id="sysctl"><command>sysctl</command> modifies kernel parameters at run time.</para>
+
+<indexterm zone="ch-system-procps tload"><primary sortas="b-tload">tload</primary></indexterm>
+<para id="tload"><command>tload</command> prints a graph of the current system load
+average.</para>
+
+<indexterm zone="ch-system-procps top"><primary sortas="b-top">top</primary></indexterm>
+<para id="top"><command>top</command> displays the top CPU processes. It provides
+an ongoing look at processor activity in real time.</para>
+
+<indexterm zone="ch-system-procps uptime"><primary sortas="b-uptime">uptime</primary></indexterm>
+<para id="uptime"><command>uptime</command> reports how long the system has been
+running, how many users are logged on, and the system load averages.</para>
+
+<indexterm zone="ch-system-procps vmstat"><primary sortas="b-vmstat">vmstat</primary></indexterm>
+<para id="vmstat"><command>vmstat</command> reports virtual memory statistics, giving
+information about processes, memory, paging, block IO, traps, and CPU
+activity.</para>
+
+<indexterm zone="ch-system-procps w"><primary sortas="b-w">w</primary></indexterm>
+<para id="w"><command>w</command> shows which users are currently logged on,
+where and since when.</para>
+
+<indexterm zone="ch-system-procps watch"><primary sortas="b-watch">watch</primary></indexterm>
+<para id="watch"><command>watch</command> runs a given command repeatedly,
+displaying the first screen-full of its output. This allows you to watch the
+output change over time.</para>
+
+<indexterm zone="ch-system-procps libproc"><primary sortas="c-libproc">libproc</primary></indexterm>
+<para id="libproc"><command>libproc</command> contains the functions used by most
+programs in this package.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/psmisc.xml b/chapter06/psmisc.xml
index f506ed5b8..2378d60ff 100644
--- a/chapter06/psmisc.xml
+++ b/chapter06/psmisc.xml
@@ -1,17 +1,24 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-psmisc" xreflabel="Psmisc">
-<title>Installing Psmisc-&psmisc-version;</title>
-<?dbhtml filename="psmisc.html" dir="chapter06"?>
+<title>Psmisc-&psmisc-version;</title>
+<?dbhtml filename="psmisc.html"?>
+
+<indexterm zone="ch-system-psmisc"><primary sortas="a-Psmisc">Psmisc</primary></indexterm>
<para>The Psmisc package contains programs for displaying information on
processes.</para>
-<screen>&buildtime; &psmisc-time;
-&diskspace; &psmisc-compsize;</screen>
+<screen>&buildtime; 0.1 SBU
+&diskspace; 2.2 MB</screen>
+
+<para>Psmisc installation depends on: Bash, Binutils, Coreutils, Diffutils,
+GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed.</para>
-&aa-psmisc-down;
-&aa-psmisc-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Psmisc</title>
@@ -24,7 +31,7 @@ processes.</para>
<itemizedlist>
<listitem><para><userinput>--exec-prefix=/</userinput>: This causes the
-binaries to be installed in <filename>/bin</filename> and not in
+binaries to be installed in <filename>/bin</filename> instead of
<filename>/usr/bin</filename>. As the Psmisc programs are often used in
bootscripts, they should be available also when the <filename>/usr</filename>
file system isn't mounted.</para></listitem>
@@ -34,7 +41,7 @@ file system isn't mounted.</para></listitem>
<screen><userinput>make</userinput></screen>
-<para>And install it:</para>
+<para>Now install it:</para>
<screen><userinput>make install</userinput></screen>
@@ -58,8 +65,34 @@ creating the following symlink:</para>
</sect2>
-&aa-psmisc-shortdesc;
-&aa-psmisc-desc;
-</sect1>
+<sect2 id="contents-psmisc"><title>Contents of Psmisc</title>
+
+<para><emphasis>Installed programs</emphasis>: fuser, killall, pstree and
+pstree.x11 (link to pstree)</para>
+
+</sect2>
+
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-psmisc fuser"><primary sortas="b-fuser">fuser</primary></indexterm>
+<para id="fuser"><command>fuser</command> reports the PIDs of processes that use
+the given files or file systems.</para>
+<indexterm zone="ch-system-psmisc killall"><primary sortas="b-killall">killall</primary></indexterm>
+<para id="killall"><command>killall</command> kills processes by name. It sends a signal
+to all processes running any of the given commands.</para>
+
+<indexterm zone="ch-system-psmisc pstree"><primary sortas="b-pstree">pstree</primary></indexterm>
+<para id="pstree"><command>pstree</command> displays running processes as a tree.</para>
+
+<indexterm zone="ch-system-psmisc pstree.x11"><primary sortas="b-pstree.x11">pstree.x11</primary></indexterm>
+<para id="pstree.x11"><command>pstree.x11</command> same as pstree except that it waits for
+confirmation before exiting.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/pwdgroup.xml b/chapter06/pwdgroup.xml
new file mode 100644
index 000000000..a515de425
--- /dev/null
+++ b/chapter06/pwdgroup.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-system-pwdgroup">
+<title>Creating the passwd, group and log files</title>
+<?dbhtml filename="pwdgroup.html"?>
+
+<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/etc/passwd">/etc/passwd</primary></indexterm>
+<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/etc/group">/etc/group</primary></indexterm>
+<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/run/utmp">/var/run/utmp</primary></indexterm>
+<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/btmp">/var/log/btmp</primary></indexterm>
+<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/lastlog">/var/log/lastlog</primary></indexterm>
+<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/wtmp">/var/log/wtmp</primary></indexterm>
+
+<para>In order for <emphasis>root</emphasis> to be able to login and for the
+name <quote>root</quote> to be recognized, there need to be relevant entries in
+the <filename>/etc/passwd</filename> and <filename>/etc/group</filename> files.
+</para>
+
+<para>Create the <filename>/etc/passwd</filename> file by running the following
+command:</para>
+
+<screen><userinput>cat &gt; /etc/passwd &lt;&lt; "EOF"</userinput>
+root:x:0:0:root:/root:/bin/bash
+<userinput>EOF</userinput></screen>
+
+<para>The actual password for <emphasis>root</emphasis> (the <quote>x</quote>
+here is just a placeholder) will be set later.</para>
+
+<para>Create the <filename>/etc/group</filename> file by running the following
+command:</para>
+
+<screen><userinput>cat &gt; /etc/group &lt;&lt; "EOF"</userinput>
+root:x:0:
+bin:x:1:
+sys:x:2:
+kmem:x:3:
+tty:x:4:
+tape:x:5:
+daemon:x:6:
+floppy:x:7:
+disk:x:8:
+lp:x:9:
+dialout:x:10:
+audio:x:11:
+<userinput>EOF</userinput></screen>
+
+<para>The created groups aren't part of any standard -- they are some of the
+groups that the <command>make_devices</command> script in the next section
+uses. The LSB (<ulink url="http://www.linuxbase.org/">Linux Standard
+Base</ulink>) recommends only that, beside the group <quote>root</quote> with a
+GID of 0, a group <quote>bin</quote> with a GID of 1 be present. All other group
+names and GIDs can be chosen freely by the system administrator, since
+well-written packages don't depend on GID numbers but use the group's name.
+</para>
+
+<para>To get rid of the <quote>I have no name!</quote> prompt, we will start a
+new shell. Since we installed a full Glibc in
+<xref linkend="chapter-temporary-tools"/>, and have just created the
+<filename>/etc/passwd</filename> and <filename>/etc/group</filename> files,
+user name and group name resolution will now work.</para>
+
+<screen><userinput>exec /tools/bin/bash --login +h</userinput></screen>
+
+<para>Note the use of the <emphasis>+h</emphasis> directive. This tells
+<command>bash</command> not to use its internal path hashing. Without this
+directive, <command>bash</command> would remember the paths to binaries it
+has executed. Since we want to use our newly compiled binaries as soon as
+they are installed, we turn off this function for the duration of this
+chapter.</para>
+
+<para>The <command>login</command>, <command>agetty</command> and
+<command>init</command> programs (and some others) use a number of log
+files to record information such as who was logged into the system and when.
+These programs, however, won't write to the log files if they don't already
+exist. Initialize the log files and give them their proper permissions:</para>
+
+<screen><userinput>touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
+chmod 644 /var/run/utmp /var/log/{btmp,lastlog,wtmp}</userinput></screen>
+
+<para>The <filename>/var/run/utmp</filename> file records the users that are
+currently logged in. The <filename>/var/log/wtmp</filename> file records all
+logins and logouts. The <filename>/var/log/lastlog</filename> file records for
+each user when he or she last logged in. The <filename>/var/log/btmp</filename>
+file records the bad login attempts.</para>
+
+</sect1>
diff --git a/chapter06/readjusting.xml b/chapter06/readjusting.xml
new file mode 100644
index 000000000..48efb8805
--- /dev/null
+++ b/chapter06/readjusting.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-system-readjusting">
+<title>Re-adjusting the toolchain</title>
+<?dbhtml filename="readjusting.html"?>
+
+<para>Now that the new and final C libraries have been installed, it's time to
+adjust our toolchain again. We'll adjust it so that it will link any newly
+compiled program against these new libraries. This is in fact the same thing we
+did in the <quote>Adjusting</quote> phase in the beginning of the previous
+chapter, even though it looks like the reverse: then we guided the chain from
+the host's <filename class="directory">/{,usr/}lib</filename> to the new
+<filename class="directory">/tools/lib</filename>, now we guide it from that
+same <filename class="directory">/tools/lib</filename> to the LFS's <filename
+class="directory">/{,usr/}lib</filename>.</para>
+
+<para>First we adjust the linker. For this we retained the
+source and build directories from the second pass over Binutils. Install the
+adjusted linker by running the following from within the
+<filename class="directory">binutils-build</filename> directory:</para>
+
+<screen><userinput>make -C ld INSTALL=/tools/bin/install install</userinput></screen>
+
+<note><para>If you somehow missed the earlier warning to retain the Binutils
+source and build directories from the second pass in
+<xref linkend="chapter-temporary-tools"/>, or otherwise accidentally deleted them or just
+don't have access to them, don't worry, all is not lost. Just ignore the above
+command. The result will be that the next package, Binutils, will link against
+the C libraries in <filename class="directory">/tools</filename> rather
+than in <filename class="directory">/{,usr/}lib</filename>. This is not ideal,
+however, our testing has shown that the resulting Binutils program binaries
+should be identical.</para></note>
+
+<para>From now on every compiled program will link <emphasis>only</emphasis>
+against the libraries in <filename>/usr/lib</filename> and
+<filename>/lib</filename>. The extra
+<emphasis>INSTALL=/tools/bin/install</emphasis> is needed because the Makefile
+created during the second pass still contains the reference to
+<filename>/usr/bin/install</filename>, which we obviously haven't installed yet.
+Some host distributions contain a <filename class="symlink">ginstall</filename>
+symbolic link which takes precedence in the Makefile and thus can cause a
+problem here. The above command takes care of this also.</para>
+
+<para>You can now remove the Binutils source and build directories.</para>
+
+<para>The next thing to do is to amend our GCC specs file so that it points
+to the new dynamic linker. Just like earlier on, we use a sed to accomplish
+this:</para>
+
+<!-- Ampersands are needed to allow cut and paste -->
+
+<screen><userinput>SPECFILE=/tools/lib/gcc-lib/*/*/specs &amp;&amp;
+sed -e 's@ /tools/lib/ld-linux.so.2@ /lib/ld-linux.so.2@g' \
+ $SPECFILE &gt; newspecfile &amp;&amp;
+mv -f newspecfile $SPECFILE &amp;&amp;
+unset SPECFILE</userinput></screen>
+
+<para>Again, cutting and pasting the above is recommended. And just like
+before, it is a good idea to visually inspect the specs file to verify the
+intended change was actually made.</para>
+
+<important><para>If you are working on a platform where the name of the dynamic
+linker is something other than <filename>ld-linux.so.2</filename>, you
+<emphasis>must</emphasis> substitute <filename>ld-linux.so.2</filename> with the
+name of your platform's dynamic linker in the above commands. Refer back to
+<xref linkend="ch-tools-toolchaintechnotes"/> if necessary.</para></important>
+
+
+<caution><para>It is imperative at this point to stop and ensure that the
+basic functions (compiling and linking) of the adjusted toolchain are working
+as expected. For this we are going to perform a simple sanity check:</para>
+
+<screen><userinput>echo 'main(){}' &gt; dummy.c
+cc dummy.c
+readelf -l a.out | grep ': /lib'</userinput></screen>
+
+<para>If everything is working correctly, there should be no errors, and the
+output of the last command will be (allowing for platform specific differences
+in dynamic linker name):</para>
+
+<blockquote><screen>[Requesting program interpreter: /lib/ld-linux.so.2]</screen></blockquote>
+
+<para>Note especially that <filename class="directory">/lib</filename> is now
+the prefix of our dynamic linker.</para>
+
+<para> If you did not receive the output
+as shown above, or received no output at all, then something is seriously wrong.
+You will need to investigate and retrace your steps to find out where the
+problem is and correct it. There is no point in continuing until this is done.
+Most likely something went wrong with the specs file amendment above.</para>
+
+<para>Once you are satisfied that all is well, clean up the test files:</para>
+
+<screen><userinput>rm dummy.c a.out</userinput></screen>
+</caution>
+
+
+</sect1>
diff --git a/chapter06/revisedchroot.xml b/chapter06/revisedchroot.xml
new file mode 100644
index 000000000..796fa80ee
--- /dev/null
+++ b/chapter06/revisedchroot.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-system-revisedchroot">
+<title>Cleaning up</title>
+<?dbhtml filename="revisedchroot.html"?>
+
+<para>From now on, when you exit the chroot environment and wish to reenter
+it, you should use the following modified chroot command:</para>
+
+<screen><userinput>chroot "$LFS" /usr/bin/env -i \
+ HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
+ PATH=/bin:/usr/bin:/sbin:/usr/sbin \
+ /bin/bash --login</userinput></screen>
+
+<para>The reason for this is that, since the programs in <filename
+class="directory">/tools</filename> are no longer needed, you may want to
+delete the whole directory and regain the space. Before actually deleting the
+directory, exit from chroot and reenter it with the above command. Also, before
+removing <filename class="directory">/tools</filename>, you may want to tar it
+up and store it in a safe place, in case you want to build another LFS system
+soon.</para>
+
+<note><para>Removing <filename class="directory">/tools</filename> will also
+remove the temporary copies of Tcl, Expect and DejaGnu, which were used for
+running the toolchain tests. If you want to use these programs later on, you
+will need to recompile and re-install them. The installation instructions are
+the same as in <xref linkend="chapter-temporary-tools"/>, apart from changing
+the prefix from <emphasis>/tools</emphasis> to <emphasis>/usr</emphasis>. The
+BLFS book discusses a slightly different approach to installing Tcl, see
+<ulink url="&blfs-root;"/>.</para></note>
+
+<para>You may also want to move the packages and patches stored in <filename
+class="directory">/sources</filename> to a more usual location, such as
+<filename class="directory">/usr/src/packages</filename>, and remove the
+directory -- or simply delete the whole directory if you've burned its contents
+on a CD).</para>
+
+</sect1>
diff --git a/chapter06/sed.xml b/chapter06/sed.xml
index 705653686..2b32b6f42 100644
--- a/chapter06/sed.xml
+++ b/chapter06/sed.xml
@@ -1,16 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-sed" xreflabel="Sed">
-<title>Installing Sed-&sed-version;</title>
-<?dbhtml filename="sed.html" dir="chapter06"?>
+<title>Sed-&sed-version;</title>
+<?dbhtml filename="sed.html"?>
+
+<indexterm zone="ch-system-sed"><primary sortas="a-Sed">Sed</primary></indexterm>
<para>The Sed package contains a stream editor.</para>
-<screen>&buildtime; &sed-time;
-&diskspace; &sed-compsize;</screen>
+<screen>&buildtime; 0.2 SBU
+&diskspace; 5.2 MB</screen>
+
+<para>Sed installation depends on: Bash, Binutils, Coreutils,
+Diffutils, GCC, Gettext, Glibc, Grep, Make, Texinfo.</para>
-&aa-sed-down;
-&aa-sed-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Sed</title>
@@ -23,17 +30,31 @@
<screen><userinput>make</userinput></screen>
-<para>To have the results tested, issue:
+<para>To test the results, issue:
<userinput>make check</userinput>.</para>
-<para>And install the package:</para>
+<para>Now install the package:</para>
<screen><userinput>make install</userinput></screen>
</sect2>
-&aa-sed-shortdesc;
-&aa-sed-desc;
-</sect1>
+<sect2 id="contents-sed"><title>Contents of Sed</title>
+
+<para><emphasis>Installed program</emphasis>: sed</para>
+
+</sect2>
+
+<sect2><title>Short description</title>
+
+<indexterm zone="ch-system-sed sed"><primary sortas="b-sed">sed</primary></indexterm>
+<para id="sed"><command>sed</command> is used to filter and transform text files
+in a single pass.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/shadow.xml b/chapter06/shadow.xml
index 714393c2a..76ea1f075 100644
--- a/chapter06/shadow.xml
+++ b/chapter06/shadow.xml
@@ -1,17 +1,24 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-shadow" xreflabel="Shadow">
-<title>Installing Shadow-&shadow-version;</title>
-<?dbhtml filename="shadow.html" dir="chapter06"?>
+<title>Shadow-&shadow-version;</title>
+<?dbhtml filename="shadow.html"?>
+
+<indexterm zone="ch-system-shadow"><primary sortas="a-Shadow">Shadow</primary></indexterm>
<para>The Shadow package contains programs for handling passwords in a secure
way.</para>
-<screen>&buildtime; &shadow-time;
-&diskspace; &shadow-compsize;</screen>
+<screen>&buildtime; 0.4 SBU
+&diskspace; 11 MB</screen>
+
+<para>Shadow installation depends on: Bash, Binutils, Bison, Coreutils,
+Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed.</para>
-&aa-shadow-down;
-&aa-shadow-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Shadow</title>
@@ -40,7 +47,7 @@ working:</para>
<screen><userinput>make</userinput></screen>
-<para>And install it:</para>
+<para>Then install it:</para>
<screen><userinput>make install</userinput></screen>
@@ -51,17 +58,17 @@ system. Install these two config files:</para>
<para>Instead of using the default <emphasis>crypt</emphasis> method, we want
to use the more secure <emphasis>MD5</emphasis> method of password encryption,
-which in addition allows passwords longer than 8 characters. We also need to
+which also allows passwords longer than 8 characters. We also need to
change the obsolete <filename class="directory">/var/spool/mail</filename>
-location for user mailboxes that Shadow uses by default to the <filename
-class="directory">/var/mail</filename> location used nowadays. We accomplish
+location for user mailboxes that Shadow uses by default to the <filename
+class="directory">/var/mail</filename> location used currently. We accomplish
both these things by changing the relevant configuration file while copying it
to its destination (it's probably better to cut-and-paste this rather than try
and type it all in):</para>
<screen><userinput>sed -e 's%#MD5_CRYPT_ENAB.no%MD5_CRYPT_ENAB yes%' \
-&nbsp;&nbsp;&nbsp;&nbsp;-e 's%/var/spool/mail%/var/mail%' \
-&nbsp;&nbsp;&nbsp;&nbsp;etc/login.defs.linux &gt; /etc/login.defs</userinput></screen>
+ -e 's%/var/spool/mail%/var/mail%' \
+ etc/login.defs.linux &gt; /etc/login.defs</userinput></screen>
<para>Move some misplaced symlinks to their proper locations:</para>
@@ -91,9 +98,11 @@ installed by Shadow:</para>
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-<sect2><title>Configuring Shadow</title>
+<sect2 id="conf-shadow"><title>Configuring Shadow</title>
+<indexterm zone="conf-shadow">
+<primary sortas="a-Shadow">Shadow</primary>
+<secondary>configuring</secondary></indexterm>
<para>This package contains utilities to add, modify and delete users and
groups, set and change their passwords, and other such administrative tasks.
@@ -108,7 +117,7 @@ need to be able to work with shadowed passwords.</para>
<screen><userinput>pwconv</userinput></screen>
-<para>And to enable shadowed group passwords, run:</para>
+<para>To enable shadowed group passwords, run:</para>
<screen><userinput>grpconv</userinput></screen>
@@ -119,7 +128,6 @@ any group passwords with the <command>gpasswd</command> command.</para>
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Setting the root password</title>
@@ -130,8 +138,153 @@ any group passwords with the <command>gpasswd</command> command.</para>
</sect2>
-&aa-shadow-shortdesc;
-&aa-shadow-desc;
-</sect1>
+<sect2 id="contents-shadow"><title>Contents of Shadow</title>
+
+<para><emphasis>Installed programs</emphasis>: chage, chfn, chpasswd, chsh,
+dpasswd, expiry, faillog, gpasswd, groupadd, groupdel, groupmod, groups, grpck,
+grpconv, grpunconv, lastlog, login, logoutd, mkpasswd, newgrp, newusers,
+passwd, pwck, pwconv, pwunconv, sg (link to newgrp), useradd, userdel, usermod,
+vigr (link to vipw) and vipw</para>
+
+</sect2>
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-shadow chage"><primary sortas="b-chage">chage</primary></indexterm>
+<para id="chage"><command>chage</command> is used to change the maximum number of
+days between obligatory password changes.</para>
+
+<indexterm zone="ch-system-shadow chfn"><primary sortas="b-chfn">chfn</primary></indexterm>
+<para id="chfn"><command>chfn</command> is used to change a user's full name and
+some other info.</para>
+
+<indexterm zone="ch-system-shadow chpasswd"><primary sortas="b-chpasswd">chpasswd</primary></indexterm>
+<para id="chpasswd"><command>chpasswd</command> is used to update the passwords of a
+whole series of user accounts in one go.</para>
+
+<indexterm zone="ch-system-shadow chsh"><primary sortas="b-chsh">chsh</primary></indexterm>
+<para id="chsh"><command>chsh</command> is used to change a user's default
+ login shell.</para>
+
+<indexterm zone="ch-system-shadow dpasswd"><primary sortas="b-dpasswd">dpasswd</primary></indexterm>
+<para id="dpasswd"><command>dpasswd</command> is used to change dial-up passwords for
+user login shells.</para>
+
+<indexterm zone="ch-system-shadow expiry"><primary sortas="b-expiry">expiry</primary></indexterm>
+<para id="expiry"><command>expiry</command> checks and enforces the current password
+expiration policy.</para>
+
+<indexterm zone="ch-system-shadow faillog"><primary sortas="b-faillog">faillog</primary></indexterm>
+<para id="faillog"><command>faillog</command> is used to examine the log of login
+failures, to set a maximum number of failures before an account is blocked,
+or to reset the failure count.</para>
+
+<indexterm zone="ch-system-shadow gpasswd"><primary sortas="b-gpasswd">gpasswd</primary></indexterm>
+<para id="gpasswd"><command>gpasswd</command> is used to add and delete members and
+administrators to groups.</para>
+
+<indexterm zone="ch-system-shadow groupadd"><primary sortas="b-groupadd">groupadd</primary></indexterm>
+<para id="groupadd"><command>groupadd</command> creates a group with the given
+name.</para>
+
+<indexterm zone="ch-system-shadow groupdel"><primary sortas="b-groupdel">groupdel</primary></indexterm>
+<para id="groupdel"><command>groupdel</command> deletes the group with the given
+name.</para>
+
+<indexterm zone="ch-system-shadow groupmod"><primary sortas="b-groupmod">groupmod</primary></indexterm>
+<para id="groupmod"><command>groupmod</command> is used to modify the given group's
+name or GID.</para>
+
+<indexterm zone="ch-system-shadow groups"><primary sortas="b-groups">groups</primary></indexterm>
+<para id="groups"><command>groups</command> reports the groups of which the given
+users are members.</para>
+
+<indexterm zone="ch-system-shadow grpck"><primary sortas="b-grpck">grpck</primary></indexterm>
+<para id="grpck"><command>grpck</command> verifies the integrity of the group files,
+<filename>/etc/group</filename> and <filename>/etc/gshadow</filename>.</para>
+
+<indexterm zone="ch-system-shadow grpconv"><primary sortas="b-grpconv">grpconv</primary></indexterm>
+<para id="grpconv"><command>grpconv</command> creates or updates the shadow group file
+from the normal group file.</para>
+
+<indexterm zone="ch-system-shadow grpunconv"><primary sortas="b-grpunconv">grpunconv</primary></indexterm>
+<para id="grpunconv"><command>grpunconv</command> updates <filename>/etc/group</filename>
+from <filename>/etc/gshadow</filename> and then deletes the latter.</para>
+
+<indexterm zone="ch-system-shadow lastlog"><primary sortas="b-lastlog">lastlog</primary></indexterm>
+<para id="lastlog"><command>lastlog</command> reports the most recent login of all
+users, or of a given user.</para>
+<indexterm zone="ch-system-shadow login"><primary sortas="b-login">login</primary></indexterm>
+<para id="login"><command>login</command> is used by the system to let users sign on.</para>
+
+<indexterm zone="ch-system-shadow logoutd"><primary sortas="b-logoutd">logoutd</primary></indexterm>
+<para id="logoutd"><command>logoutd</command> is a daemon used to enforce restrictions
+on log-on time and ports.</para>
+
+<indexterm zone="ch-system-shadow mkpasswd"><primary sortas="b-mkpasswd">mkpasswd</primary></indexterm>
+<para id="mkpasswd"><command>mkpasswd</command> encrypts the given password using the
+also given perturbation.</para>
+
+<indexterm zone="ch-system-shadow newgrp"><primary sortas="b-newgrp">newgrp</primary></indexterm>
+<para id="newgrp"><command>newgrp</command> is used to change the current GID during
+a login session.</para>
+
+<indexterm zone="ch-system-shadow newusers"><primary sortas="b-newusers">newusers</primary></indexterm>
+<para id="newusers"><command>newusers</command> is used to create or update a whole
+series of user accounts in one go.</para>
+
+<indexterm zone="ch-system-shadow passwd"><primary sortas="b-passwd">passwd</primary></indexterm>
+<para id="passwd"><command>passwd</command> is used to change the password for a user
+or group account.</para>
+
+<indexterm zone="ch-system-shadow pwck"><primary sortas="b-pwck">pwck</primary></indexterm>
+<para id="pwck"><command>pwck</command> verifies the integrity of the password files,
+<filename>/etc/passwd</filename> and <filename>/etc/shadow</filename>.</para>
+
+<indexterm zone="ch-system-shadow pwconv"><primary sortas="b-pwconv">pwconv</primary></indexterm>
+<para id="pwconv"><command>pwconv</command> creates or updates the shadow password file
+from the normal password file.</para>
+
+<indexterm zone="ch-system-shadow pwunconv"><primary sortas="b-pwunconv">pwunconv</primary></indexterm>
+<para id="pwunconv"><command>pwunconv</command> updates <filename>/etc/passwd</filename>
+from <filename>/etc/shadow</filename> and then deletes the latter.</para>
+
+<indexterm zone="ch-system-shadow sg"><primary sortas="b-sg">sg</primary></indexterm>
+<para id="sg"><command>sg</command> executes a given command while the user's GID
+is set to that of the given group.</para>
+
+<indexterm zone="ch-system-shadow useradd"><primary sortas="b-useradd">useradd</primary></indexterm>
+<para id="useradd"><command>useradd</command> creates a new user with the given name,
+or updates the default new-user information.</para>
+
+<indexterm zone="ch-system-shadow userdel"><primary sortas="b-userdel">userdel</primary></indexterm>
+<para id="userdel"><command>userdel</command> deletes the given user account.</para>
+
+<indexterm zone="ch-system-shadow usermod"><primary sortas="b-usermod">usermod</primary></indexterm>
+<para id="usermod"><command>usermod</command> is used to modify the given user's
+login name, UID (User Identification), shell, initial group, home directory, and the like.</para>
+
+<indexterm zone="ch-system-shadow vigr"><primary sortas="b-vigr">vigr</primary></indexterm>
+<para id="vigr"><command>vigr</command> can be used to edit the
+<filename>/etc/group</filename> or <filename>/etc/gshadow</filename>
+files.</para>
+
+<indexterm zone="ch-system-shadow vipw"><primary sortas="b-vipw">vipw</primary></indexterm>
+<para id="vipw"><command>vipw</command> can be used to edit the
+<filename>/etc/passwd</filename> or <filename>/etc/shadow</filename>
+files.</para>
+
+<indexterm zone="ch-system-shadow libmisc"><primary sortas="c-libmisc">libmisc</primary></indexterm>
+<para id="libmisc"><command>libmisc</command>...</para>
+
+<indexterm zone="ch-system-shadow libshadow"><primary sortas="c-libshadow">libshadow</primary></indexterm>
+<para id="libshadow"><command>libshadow</command> contains functions used by most
+programs in this package.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/sysklogd.xml b/chapter06/sysklogd.xml
index 9043544e8..1d85acec1 100644
--- a/chapter06/sysklogd.xml
+++ b/chapter06/sysklogd.xml
@@ -1,17 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-sysklogd" xreflabel="Sysklogd">
-<title>Installing Sysklogd-&sysklogd-version;</title>
-<?dbhtml filename="sysklogd.html" dir="chapter06"?>
+<title>Sysklogd-&sysklogd-version;</title>
+<?dbhtml filename="sysklogd.html"?>
+
+<indexterm zone="ch-system-sysklogd"><primary sortas="a-Sysklogd">Sysklogd</primary></indexterm>
<para>The Sysklogd package contains programs for logging system messages, such
as those given by the kernel when unusual things happen.</para>
-<screen>&buildtime; &sysklogd-time;
-&diskspace; &sysklogd-compsize;</screen>
+<screen>&buildtime; 0.1 SBU
+&diskspace; 0.5 MB</screen>
+
+<para>Sysklogd installation depends on: Binutils, Coreutils, GCC, Glibc, Make.</para>
-&aa-sysklogd-down;
-&aa-sysklogd-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Sysklogd</title>
@@ -20,15 +26,19 @@ as those given by the kernel when unusual things happen.</para>
<screen><userinput>make</userinput></screen>
-<para>And install it:</para>
+<para>Now install it:</para>
<screen><userinput>make install</userinput></screen>
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-<sect2><title>Configuring Sysklogd</title>
+<sect2 id="conf-sysklogd"><title>Configuring Sysklogd</title>
+<indexterm zone="conf-sysklogd">
+<primary sortas="a-Sysklogd">Sysklogd</primary>
+<secondary>configuring</secondary></indexterm>
+
+<indexterm zone="conf-sysklogd"><primary sortas="e-/etc/syslog.conf">/etc/syslog.conf</primary></indexterm>
<para>Create a new <filename>/etc/syslog.conf</filename> file by running the
following:</para>
@@ -49,8 +59,28 @@ user.* -/var/log/user.log
</sect2>
-&aa-sysklogd-shortdesc;
-&aa-sysklogd-desc;
-</sect1>
+<sect2 id="contents-sysklogd"><title>Contents of Sysklogd</title>
+
+<para><emphasis>Installed programs</emphasis>: klogd and syslogd</para>
+
+</sect2>
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-sysklogd klogd"><primary sortas="b-klogd">klogd</primary></indexterm>
+<para id="klogd"><command>klogd</command> is a system daemon for intercepting and
+logging kernel messages.</para>
+
+<indexterm zone="ch-system-sysklogd syslogd"><primary sortas="b-syslogd">syslogd</primary></indexterm>
+<para id="syslogd"><command>syslogd</command> logs the messages that system programs
+offer for logging. Every logged message contains at least a date stamp and a
+hostname, and normally the program's name too, but that depends on how
+trusting the logging daemon is told to be.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/sysvinit.xml b/chapter06/sysvinit.xml
index 37e0046b5..48418db53 100644
--- a/chapter06/sysvinit.xml
+++ b/chapter06/sysvinit.xml
@@ -1,47 +1,56 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-sysvinit" xreflabel="Sysvinit">
-<title>Installing Sysvinit-&sysvinit-version;</title>
-<?dbhtml filename="sysvinit.html" dir="chapter06"?>
+<title>Sysvinit-&sysvinit-version;</title>
+<?dbhtml filename="sysvinit.html"?>
+
+<indexterm zone="ch-system-sysvinit"><primary sortas="a-Sysvinit">Sysvinit</primary></indexterm>
<para>The Sysvinit package contains programs for controlling the startup,
running, and shutdown of your system.</para>
-<screen>&buildtime; &sysvinit-time;
-&diskspace; &sysvinit-compsize;</screen>
+<screen>&buildtime; 0.1 SBU
+&diskspace; 0.9 MB</screen>
+
+<para>Sysvinit installation depends on: Binutils, Coreutils, GCC, Glibc, Make.</para>
-&aa-sysvinit-down;
-&aa-sysvinit-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Sysvinit</title>
-<para>When runlevels are changed (for example, when halting the system),
-<command>init</command> sends termination signals to those processes that it
-itself started and that shouldn't be running in the new runlevel. While doing
-this, <command>init</command> outputs messages like "Sending processes the TERM
-signal" which seem to imply that it is sending these signals to all currently
-running processes. To avoid this misinterpretation, you can modify the source
-so that these messages read like "Sending processes started by init the TERM
-signal" instead:</para>
+<para>When run-levels are changed (for example, when halting the system),
+<command>init</command> sends termination signals to those processes that
+<command>init</command> itself started and that shouldn't be running in the new
+run-level. While doing this, <command>init</command> outputs messages like
+<quote>Sending processes the TERM signal</quote> which seem to imply that it is sending these signals to all currently running processes. To avoid this
+misinterpretation, you can modify the source so that these messages read like
+<quote>Sending processes started by init the TERM signal</quote> instead:</para>
<screen><userinput>cp src/init.c{,.backup}
sed 's/Sending processes/&amp; started by init/g' \
-&nbsp;&nbsp;&nbsp;&nbsp;src/init.c.backup &gt; src/init.c</userinput></screen>
+ src/init.c.backup &gt; src/init.c</userinput></screen>
<para>Compile Sysvinit:</para>
<screen><userinput>make -C src</userinput></screen>
-<para>And install it:</para>
+<para>Then install it:</para>
<screen><userinput>make -C src install</userinput></screen>
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-<sect2><title>Configuring Sysvinit</title>
+<sect2 id="conf-sysvinit"><title>Configuring Sysvinit</title>
+<indexterm zone="conf-sysvinit">
+<primary sortas="a-Sysvinit">Sysvinit</primary>
+<secondary>configuring</secondary></indexterm>
+
+<indexterm zone="conf-sysvinit"><primary sortas="e-/etc/inittab">/etc/inittab</primary></indexterm>
<para>Create a new <filename>/etc/inittab</filename> file by running the
following:</para>
@@ -77,8 +86,84 @@ su:S016:once:/sbin/sulogin
</sect2>
-&aa-sysvinit-shortdesc;
-&aa-sysvinit-desc;
-</sect1>
+<sect2 id="contents-sysvinit"><title>Contents of Sysvinit</title>
+
+<para><emphasis>Installed programs</emphasis>: halt, init, killall5, last,
+lastb (link to last), mesg, pidof (link to killall5), poweroff (link to halt),
+reboot (link to halt), runlevel, shutdown, sulogin, telinit (link to init),
+utmpdump and wall</para>
+
+</sect2>
+
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-sysvinit halt"><primary sortas="b-halt">halt</primary></indexterm>
+<para id="halt"><command>halt</command> normally invokes shutdown with the -h flag,
+except when already in run-level 0, then it tells the kernel to halt the system.
+But first it notes in the file <filename>/var/log/wtmp</filename> that the
+system is being brought down.</para>
+
+<indexterm zone="ch-system-sysvinit init"><primary sortas="b-init">init</primary></indexterm>
+<para id="init"><command>init</command> is the mother of all processes. It reads its
+commands from <filename>/etc/inittab</filename>, which normally tell it which
+scripts to run for which run-level, and how many gettys to spawn.</para>
+
+<indexterm zone="ch-system-sysvinit killall5"><primary sortas="b-killall5">killall5</primary></indexterm>
+<para id="killall5"><command>killall5</command> sends a signal to all processes, except
+the processes in its own session -- so it won't kill the shell running the
+script that called it.</para>
+
+<indexterm zone="ch-system-sysvinit last"><primary sortas="b-last">last</primary></indexterm>
+<para id="last"><command>last</command> shows which users last logged in (and out),
+searching back through the file <filename>/var/log/wtmp</filename>. It can
+also show system boots and shutdowns, and run-level changes.</para>
+
+<indexterm zone="ch-system-sysvinit lastb"><primary sortas="b-lastb">lastb</primary></indexterm>
+<para id="lastb"><command>lastb</command> shows the failed login attempts, as logged
+in <filename>/var/log/btmp</filename>.</para>
+
+<indexterm zone="ch-system-sysvinit mesg"><primary sortas="b-mesg">mesg</primary></indexterm>
+<para id="mesg"><command>mesg</command> controls whether other users can send
+messages to the current user's terminal.</para>
+<indexterm zone="ch-system-sysvinit pidof"><primary sortas="b-pidof">pidof</primary></indexterm>
+<para id="pidof"><command>pidof</command> reports the PIDs of the given programs.</para>
+
+<indexterm zone="ch-system-sysvinit poweroff"><primary sortas="b-poweroff">poweroff</primary></indexterm>
+<para id="poweroff"><command>poweroff</command> tells the kernel to halt the system and
+switch off the computer. But see halt.</para>
+
+<indexterm zone="ch-system-sysvinit reboot"><primary sortas="b-reboot">reboot</primary></indexterm>
+<para id="reboot"><command>reboot</command> tells the kernel to reboot the system.
+But see halt.</para>
+
+<indexterm zone="ch-system-sysvinit runlevel"><primary sortas="b-runlevel">runlevel</primary></indexterm>
+<para id="runlevel"><command>runlevel</command> reports the previous and the current
+run-level, as noted in the last run-level record in
+<filename>/var/run/utmp</filename>.</para>
+
+<indexterm zone="ch-system-sysvinit shutdown"><primary sortas="b-shutdown">shutdown</primary></indexterm>
+<para id="shutdown"><command>shutdown</command> brings the system down in a secure way,
+signaling all processes and notifying all logged-in users.</para>
+
+<indexterm zone="ch-system-sysvinit sulogin"><primary sortas="b-sulogin">sulogin</primary></indexterm>
+<para id="sulogin"><command>sulogin</command> allows the superuser to log in. It is
+normally invoked by init when the system goes into single user mode.</para>
+
+<indexterm zone="ch-system-sysvinit telinit"><primary sortas="b-telinit">telinit</primary></indexterm>
+<para id="telinit"><command>telinit</command> tells init which run-level to enter.</para>
+
+<indexterm zone="ch-system-sysvinit utmpdump"><primary sortas="b-utmpdump">utmpdump</primary></indexterm>
+<para id="utmpdump"><command>utmpdump</command> displays the content of the given login
+file in a friendlier format.</para>
+
+<indexterm zone="ch-system-sysvinit wall"><primary sortas="b-wall">wall</primary></indexterm>
+<para id="wall"><command>wall</command> writes a message to all logged-in users.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/tar.xml b/chapter06/tar.xml
index 3c96fe1fe..089ab91e6 100644
--- a/chapter06/tar.xml
+++ b/chapter06/tar.xml
@@ -1,16 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-tar" xreflabel="Tar">
-<title>Installing Tar-&tar-version;</title>
-<?dbhtml filename="tar.html" dir="chapter06"?>
+<title>Tar-&tar-version;</title>
+<?dbhtml filename="tar.html"?>
+
+<indexterm zone="ch-system-tar"><primary sortas="a-Tar">Tar</primary></indexterm>
<para>The Tar package contains an archiving program.</para>
-<screen>&buildtime; &tar-time;
-&diskspace; &tar-compsize;</screen>
+<screen>&buildtime; 0.2 SBU
+&diskspace; 10 MB</screen>
+
+<para>Tar installation depends on: Bash, Binutils, Coreutils,
+Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed.</para>
-&aa-tar-down;
-&aa-tar-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Tar</title>
@@ -23,17 +30,34 @@
<screen><userinput>make</userinput></screen>
-<para>To have the results tested, issue:
+<para>To test the results, issue:
<userinput>make check</userinput>.</para>
-<para>And install the package:</para>
+<para>Now install the package:</para>
<screen><userinput>make install</userinput></screen>
</sect2>
-&aa-tar-shortdesc;
-&aa-tar-desc;
-</sect1>
+<sect2 id="contents-tar"><title>Contents of Tar</title>
+
+<para><emphasis>Installed programs</emphasis>: rmt and tar</para>
+
+</sect2>
+
+<sect2><title>Short descriptions</title>
+<indexterm zone="ch-system-tar rmt"><primary sortas="b-rmt">rmt</primary></indexterm>
+<para id="rmt"><command>rmt</command> is used to remotely manipulate a magnetic
+tape drive, through an interprocess communication connection.</para>
+
+<indexterm zone="ch-system-tar tar"><primary sortas="b-tar">tar</primary></indexterm>
+<para id="tar"><command>tar</command> is used to create and extract files from
+archives, also known as tarballs.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/texinfo.xml b/chapter06/texinfo.xml
index f9e8cff54..a2a672d84 100644
--- a/chapter06/texinfo.xml
+++ b/chapter06/texinfo.xml
@@ -1,17 +1,24 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-texinfo" xreflabel="Texinfo">
-<title>Installing Texinfo-&texinfo-version;</title>
-<?dbhtml filename="texinfo.html" dir="chapter06"?>
+<title>Texinfo-&texinfo-version;</title>
+<?dbhtml filename="texinfo.html"?>
+
+<indexterm zone="ch-system-texinfo"><primary sortas="a-Texinfo">Texinfo</primary></indexterm>
<para>The Texinfo package contains programs for reading, writing, and
converting Info documents.</para>
-<screen>&buildtime; &texinfo-time;
-&diskspace; &texinfo-compsize;</screen>
+<screen>&buildtime; 0.2 SBU
+&diskspace; 17 MB</screen>
+
+<para>Texinfo installation depends on: Bash, Binutils, Coreutils,
+Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed.</para>
-&aa-texinfo-down;
-&aa-texinfo-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Texinfo</title>
@@ -24,14 +31,14 @@ converting Info documents.</para>
<screen><userinput>make</userinput></screen>
-<para>To have the results tested, issue:
+<para>To test the results, issue:
<userinput>make check</userinput>.</para>
<para>Install the package:</para>
<screen><userinput>make install</userinput></screen>
-<para>And optionally install the components belonging in a TeX installation:</para>
+<para>Optionally install the components belonging in a TeX installation:</para>
<screen><userinput>make TEXMF=/usr/share/texmf install-tex</userinput></screen>
@@ -54,13 +61,47 @@ will accomplish the task:</para>
<screen><userinput>cd /usr/share/info
rm dir
for f in *
-do install-info $f dir 2>/dev/null
+do install-info $f dir 2&gt;/dev/null
done</userinput></screen>
</sect2>
-&aa-texinfo-shortdesc;
-&aa-texinfo-desc;
-</sect1>
+<sect2 id="contents-texinfo"><title>Contents of Texinfo</title>
+
+<para><emphasis>Installed programs</emphasis>: info, infokey, install-info,
+makeinfo, texi2dvi and texindex</para>
+
+</sect2>
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-texinfo info"><primary sortas="b-info">info</primary></indexterm>
+<para id="info"><command>info</command> is used to read Info documents. Info
+documents are a bit like man pages, but often go much deeper than just
+explaining all the flags. Compare for example man tar and info tar.</para>
+
+<indexterm zone="ch-system-texinfo infokey"><primary sortas="b-infokey">infokey</primary></indexterm>
+<para id="infokey"><command>infokey</command> compiles a source file containing Info
+customizations into a binary format.</para>
+<indexterm zone="ch-system-texinfo install-info"><primary sortas="b-install-info">install-info</primary></indexterm>
+<para id="install-info"><command>install-info</command> is used to install Info files. It
+updates entries in the Info index file.</para>
+
+<indexterm zone="ch-system-texinfo makeinfo"><primary sortas="b-makeinfo">makeinfo</primary></indexterm>
+<para id="makeinfo"><command>makeinfo</command> translates the given Texinfo source
+documents into various other formats: Info files, plain text, or HTML.</para>
+
+<indexterm zone="ch-system-texinfo texi2dvi"><primary sortas="b-texi2dvi">texi2dvi</primary></indexterm>
+<para id="texi2dvi"><command>texi2dvi</command> is used to format the given Texinfo
+document into a device-independent file that can be printed.</para>
+
+<indexterm zone="ch-system-texinfo texindex"><primary sortas="b-texindex">texindex</primary></indexterm>
+<para id="texindex"><command>texindex</command> is used to sort Texinfo index files.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/util-linux.xml b/chapter06/util-linux.xml
new file mode 100644
index 000000000..38aa75a84
--- /dev/null
+++ b/chapter06/util-linux.xml
@@ -0,0 +1,314 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-system-util-linux" xreflabel="Util-linux">
+<title>Util-linux-&util-linux-version;</title>
+<?dbhtml filename="util-linux.html"?>
+
+<indexterm zone="ch-system-util-linux"><primary sortas="a-Util-linux">Util-linux</primary></indexterm>
+
+<para>The Util-linux package contains miscellaneous utility programs. Among
+them are utilities for handling file systems, consoles, partitions, and
+messages.</para>
+
+<screen>&buildtime; 0.2 SBU
+&diskspace; 16 MB</screen>
+
+<para>Util-linux installation depends on: Bash, Binutils, Coreutils,
+Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed, Zlib.</para>
+
+
+
+<sect2>
+<title>FHS compliance notes</title>
+
+<para>The FHS recommends that we use <filename>/var/lib/hwclock</filename>,
+instead of the usual <filename>/etc</filename>, as the location for the
+<filename>adjtime</filename> file. To make the <command>hwclock</command>
+program FHS-compliant, run the following:</para>
+
+<screen><userinput>cp hwclock/hwclock.c{,.backup}
+sed 's%etc/adjtime%var/lib/hwclock/adjtime%' \
+ hwclock/hwclock.c.backup &gt; hwclock/hwclock.c
+mkdir -p /var/lib/hwclock</userinput></screen>
+
+</sect2>
+
+<sect2>
+<title>Installation of Util-linux</title>
+
+<para>Prepare Util-linux for compilation:</para>
+
+<screen><userinput>./configure</userinput></screen>
+
+<para>Compile the package:</para>
+
+<screen><userinput>make HAVE_KILL=yes HAVE_SLN=yes</userinput></screen>
+
+<para>The meaning of the make parameters:</para>
+
+<itemizedlist>
+<listitem><para><userinput>HAVE_KILL=yes</userinput>: This prevents the
+<command>kill</command> program (already installed by Procps) from being
+built and installed again.</para></listitem>
+
+<listitem><para><userinput>HAVE_SLN=yes</userinput>: This prevents the
+<command>sln</command> program (a statically linked
+<command>ln</command> already installed by Glibc) from being built and
+installed again.</para></listitem>
+</itemizedlist>
+
+<para>Now install the package:</para>
+
+<screen><userinput>make HAVE_KILL=yes HAVE_SLN=yes install</userinput></screen>
+
+</sect2>
+
+
+<sect2 id="contents-utillinux"><title>Contents of Util-linux</title>
+
+<para><emphasis>Installed programs</emphasis>: agetty, arch, blockdev, cal,
+cfdisk, chkdupexe, col, colcrt, colrm, column, ctrlaltdel, cytune, ddate,
+dmesg, elvtune, fdformat, fdisk, fsck.cramfs, fsck.minix, getopt, hexdump,
+hwclock, ipcrm, ipcs, isosize, line, logger, look, losetup, mcookie, mkfs,
+mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap, more, mount, namei, pg, pivot_root,
+ramsize (link to rdev), raw, rdev, readprofile, rename, renice, rev, rootflags
+(link to rdev), script, setfdprm, setsid, setterm, sfdisk, swapoff (link to
+swapon), swapon, tunelp, ul, umount, vidmode (link to rdev), whereis and
+write</para>
+
+</sect2>
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-util-linux agetty"><primary sortas="b-agetty">agetty</primary></indexterm>
+<para id="agetty"><command>agetty</command> opens a tty port, prompts for a login name,
+and then invokes the login program.</para>
+
+<indexterm zone="ch-system-util-linux arch"><primary sortas="b-arch">arch</primary></indexterm>
+<para id="arch"><command>arch</command> reports the machine's architecture.</para>
+
+<indexterm zone="ch-system-util-linux blockdev"><primary sortas="b-blockdev">blockdev</primary></indexterm>
+<para id="blockdev"><command>blockdev</command> allows you to call block device ioctls
+from the command line.</para>
+
+<indexterm zone="ch-system-util-linux cal"><primary sortas="b-cal">cal</primary></indexterm>
+<para id="cal"><command>cal</command> displays a simple calendar.</para>
+
+<indexterm zone="ch-system-util-linux cfdisk"><primary sortas="b-cfdisk">cfdisk</primary></indexterm>
+<para id="cfdisk"><command>cfdisk</command> is used to manipulate the partition table
+of the given device.</para>
+
+<indexterm zone="ch-system-util-linux chkdupexe"><primary sortas="b-chkdupexe">chkdupexe</primary></indexterm>
+<para id="chkdupexe"><command>chkdupexe</command> finds duplicate executables.</para>
+
+<indexterm zone="ch-system-util-linux col"><primary sortas="b-col">col</primary></indexterm>
+<para id="col"><command>col</command> filters out reverse line feeds.</para>
+
+<indexterm zone="ch-system-util-linux colcrt"><primary sortas="b-colcrt">colcrt</primary></indexterm>
+<para id="colcrt"><command>colcrt</command> is used to filter nroff output for terminals
+that lack some capabilities such as overstriking and half-lines.</para>
+
+<indexterm zone="ch-system-util-linux colrm"><primary sortas="b-colrm">colrm</primary></indexterm>
+<para id="colrm"><command>colrm</command> filters out the given columns.</para>
+
+<indexterm zone="ch-system-util-linux column"><primary sortas="b-column">column</primary></indexterm>
+<para id="column"><command>column</command> formats a given file into multiple
+columns.</para>
+
+<indexterm zone="ch-system-util-linux ctrlaltdel"><primary sortas="b-ctrlaltdel">ctrlaltdel</primary></indexterm>
+<para id="ctrlaltdel"><command>ctrlaltdel</command> sets the function of the Ctrl+Alt+Del
+ key combination to a hard or a soft reset.</para>
+
+<indexterm zone="ch-system-util-linux cytune"><primary sortas="b-cytune">cytune</primary></indexterm>
+<para id="cytune"><command>cytune</command> was used to tune the parameters of the
+serial line drivers for Cyclades cards.</para>
+
+<indexterm zone="ch-system-util-linux ddate"><primary sortas="b-ddate">ddate</primary></indexterm>
+<para id="ddate"><command>ddate</command> gives the Discordian date, or converts the
+given Gregorian date to a Discordian one.</para>
+
+<indexterm zone="ch-system-util-linux dmesg"><primary sortas="b-dmesg">dmesg</primary></indexterm>
+<para id="dmesg"><command>dmesg</command> dumps the kernel boot messages.</para>
+
+<indexterm zone="ch-system-util-linux elvtune"><primary sortas="b-elvtune">elvtune</primary></indexterm>
+<para id="elvtune"><command>elvtune</command> can be used to tune the performance
+and interactivity of a block device.</para>
+
+<indexterm zone="ch-system-util-linux fdformat"><primary sortas="b-fdformat">fdformat</primary></indexterm>
+<para id="fdformat"><command>fdformat</command> low-level formats a floppy disk.</para>
+
+<indexterm zone="ch-system-util-linux fdisk"><primary sortas="b-fdisk">fdisk</primary></indexterm>
+<para id="fdisk"><command>fdisk</command> could be used to manipulate the partition
+table of the given device.</para>
+
+<indexterm zone="ch-system-util-linux fsck.cramfs"><primary sortas="b-fsck.cramfs">fsck.cramfs</primary></indexterm>
+<para id="fsck.cramfs"><command>fsck.cramfs</command> performs a consistency check on the
+Cramfs file system on the given device.</para>
+
+<indexterm zone="ch-system-util-linux fsck.minix"><primary sortas="b-fsck.minix">fsck.minix</primary></indexterm>
+<para id="fsck.minix"><command>fsck.minix</command> performs a consistency check on the
+Minix file system on the given device.</para>
+
+<indexterm zone="ch-system-util-linux getopt"><primary sortas="b-getopt">getopt</primary></indexterm>
+<para id="getopt"><command>getopt</command> parses options in the given command line.</para>
+
+<indexterm zone="ch-system-util-linux hexdump"><primary sortas="b-hexdump">hexdump</primary></indexterm>
+<para id="hexdump"><command>hexdump</command> dumps the given file in hexadecimal, or
+in another given format.</para>
+
+<indexterm zone="ch-system-util-linux hwclock"><primary sortas="b-hwclock">hwclock</primary></indexterm>
+<para id="hwclock"><command>hwclock</command> is used to read or set the system's
+hardware clock, also called the RTC (Real-Time Clock) or BIOS (Basic Input-Output System) clock.</para>
+
+<indexterm zone="ch-system-util-linux ipcrm"><primary sortas="b-ipcrm">ipcrm</primary></indexterm>
+<para id="ipcrm"><command>ipcrm</command> removes the given IPC resource.</para>
+
+<indexterm zone="ch-system-util-linux ipcs"><primary sortas="b-ipcs">ipcs</primary></indexterm>
+<para id="ipcs"><command>ipcs</command> provides IPC status information.</para>
+
+<indexterm zone="ch-system-util-linux isosize"><primary sortas="b-isosize">isosize</primary></indexterm>
+<para id="isosize"><command>isosize</command> reports the size of an iso9660
+file system.</para>
+
+<indexterm zone="ch-system-util-linux line"><primary sortas="b-line">line</primary></indexterm>
+<para id="line"><command>line</command> copies a single line.</para>
+
+<indexterm zone="ch-system-util-linux logger"><primary sortas="b-logger">logger</primary></indexterm>
+<para id="logger"><command>logger</command> enters the given message into the system
+log.</para>
+
+<indexterm zone="ch-system-util-linux look"><primary sortas="b-look">look</primary></indexterm>
+<para id="look"><command>look</command> displays lines that begin with the given
+string.</para>
+
+<indexterm zone="ch-system-util-linux losetup"><primary sortas="b-losetup">losetup</primary></indexterm>
+<para id="losetup"><command>losetup</command> is used to set up and control loop devices.</para>
+
+<indexterm zone="ch-system-util-linux mcookie"><primary sortas="b-mcookie">mcookie</primary></indexterm>
+<para id="mcookie"><command>mcookie</command> generates magic cookies, 128-bit random
+hexadecimal numbers, for xauth.</para>
+
+<indexterm zone="ch-system-util-linux mkfs"><primary sortas="b-mkfs">mkfs</primary></indexterm>
+<para id="mkfs"><command>mkfs</command> is used to build a file system on a device
+(usually a hard disk partition).</para>
+
+<indexterm zone="ch-system-util-linux mkfs.bfs"><primary sortas="b-mkfs.bfs">mkfs.bfs</primary></indexterm>
+<para id="mkfs.bfs"><command>mkfs.bfs</command> creates an SCO (Santa Cruz Operations) bfs file system.</para>
+
+<indexterm zone="ch-system-util-linux mkfs.cramfs"><primary sortas="b-mkfs.cramfs">mkfs.cramfs</primary></indexterm>
+<para id="mkfs.cramfs"><command>mkfs.cramfs</command> creates a cramfs file system.</para>
+
+<indexterm zone="ch-system-util-linux mkfs.minix"><primary sortas="b-mkfs.minix">mkfs.minix</primary></indexterm>
+<para id="mkfs.minix"><command>mkfs.minix</command> creates a Minix file system.</para>
+
+<indexterm zone="ch-system-util-linux mkswap"><primary sortas="b-mkswap">mkswap</primary></indexterm>
+<para id="mkswap"><command>mkswap</command> initializes the given device or file to be
+used as a swap area.</para>
+
+<indexterm zone="ch-system-util-linux more"><primary sortas="b-more">more</primary></indexterm>
+<para id="more"><command>more</command> is a filter for paging through text one
+screen full at a time. But less is much better.</para>
+
+<indexterm zone="ch-system-util-linux mount"><primary sortas="b-mount">mount</primary></indexterm>
+<para id="mount"><command>mount</command> attaches the file system on the given device
+to a specified directory (thus hiding the contents of that directory) in the file-system tree.</para>
+
+<indexterm zone="ch-system-util-linux namei"><primary sortas="b-namei">namei</primary></indexterm>
+<para id="namei"><command>namei</command> shows the symbolic links in the given
+pathnames.</para>
+
+<indexterm zone="ch-system-util-linux pg"><primary sortas="b-pg">pg</primary></indexterm>
+<para id="pg"><command>pg</command> displays a text file one screen full at a
+time.</para>
+
+<indexterm zone="ch-system-util-linux pivot_root"><primary sortas="b-pivot_root">pivot_root</primary></indexterm>
+<para id="pivot_root"><command>pivot_root</command> makes the given file system the new
+root file system of the current process.</para>
+
+<indexterm zone="ch-system-util-linux ramsize"><primary sortas="b-ramsize">ramsize</primary></indexterm>
+<para id="ramsize"><command>ramsize</command> is used to set the size of the
+RAM disk in a bootable image.</para>
+
+<indexterm zone="ch-system-util-linux rdev"><primary sortas="b-rdev">rdev</primary></indexterm>
+<para id="rdev"><command>rdev</command> is used to query and set the root
+device and other things in a bootable image.</para>
+
+<indexterm zone="ch-system-util-linux readprofile"><primary sortas="b-readprofile">readprofile</primary></indexterm>
+<para id="readprofile"><command>readprofile</command> reads kernel profiling information.</para>
+
+<indexterm zone="ch-system-util-linux rename"><primary sortas="b-rename">rename</primary></indexterm>
+<para id="rename"><command>rename</command> renames the given files, replacing a given
+string with another.</para>
+
+<indexterm zone="ch-system-util-linux renice"><primary sortas="b-renice">renice</primary></indexterm>
+<para id="renice"><command>renice</command> is used to alter the priority of running
+processes.</para>
+
+<indexterm zone="ch-system-util-linux rev"><primary sortas="b-rev">rev</primary></indexterm>
+<para id="rev"><command>rev</command> reverses the lines of a given file.</para>
+
+<indexterm zone="ch-system-util-linux rootflags"><primary sortas="b-rootflags">rootflags</primary></indexterm>
+<para id="rootflags"><command>rootflags</command> is used to set the rootflags
+in a bootable image.</para>
+
+<indexterm zone="ch-system-util-linux script"><primary sortas="b-script">script</primary></indexterm>
+<para id="script"><command>script</command> makes a typescript of a terminal
+session, of everything printed to the terminal.</para>
+
+<indexterm zone="ch-system-util-linux setfdprm"><primary sortas="b-setfdprm">setfdprm</primary></indexterm>
+<para id="setfdprm"><command>setfdprm</command> sets user-provided floppy disk
+parameters.</para>
+
+<indexterm zone="ch-system-util-linux setsid"><primary sortas="b-setsid">setsid</primary></indexterm>
+<para id="setsid"><command>setsid</command> runs the given program in a new session.</para>
+
+<indexterm zone="ch-system-util-linux setterm"><primary sortas="b-setterm">setterm</primary></indexterm>
+<para id="setterm"><command>setterm</command> is used to set terminal attributes.</para>
+
+<indexterm zone="ch-system-util-linux sfdisk"><primary sortas="b-sfdisk">sfdisk</primary></indexterm>
+<para id="sfdisk"><command>sfdisk</command> is a disk partition table manipulator.</para>
+
+<indexterm zone="ch-system-util-linux swapdev"><primary sortas="b-swapdev">swapdev</primary></indexterm>
+<para id="swapdev"><command>swapdev</command> is used to set the swap device
+in a bootable image.</para>
+
+<indexterm zone="ch-system-util-linux swapoff"><primary sortas="b-swapoff">swapoff</primary></indexterm>
+<para id="swapoff"><command>swapoff</command> disables devices and files for paging
+and swapping.</para>
+
+<indexterm zone="ch-system-util-linux swapon"><primary sortas="b-swapon">swapon</primary></indexterm>
+<para id="swapon"><command>swapon</command> enables devices and files for paging
+and swapping.</para>
+
+<indexterm zone="ch-system-util-linux tunelp"><primary sortas="b-tunelp">tunelp</primary></indexterm>
+<para id="tunelp"><command>tunelp</command> is used to tune the parameters of the
+line printer.</para>
+
+<indexterm zone="ch-system-util-linux ul"><primary sortas="b-ul">ul</primary></indexterm>
+<para id="ul"><command>ul</command> is a filter for translating underscores into
+escape sequences indicating underlining for the terminal in use.</para>
+
+<indexterm zone="ch-system-util-linux umount"><primary sortas="b-umount">umount</primary></indexterm>
+<para id="umount"><command>umount</command> disconnects a file system from the
+system's file tree.</para>
+
+<indexterm zone="ch-system-util-linux vidmode"><primary sortas="b-vidmode">vidmode</primary></indexterm>
+<para id="vidmode"><command>vidmode</command> could be used to set the video mode
+in a bootable image.</para>
+
+<indexterm zone="ch-system-util-linux whereis"><primary sortas="b-whereis">whereis</primary></indexterm>
+<para id="whereis"><command>whereis</command> reports the location of binary, the
+source, and the manual page for the given command.</para>
+
+<indexterm zone="ch-system-util-linux write"><primary sortas="b-write">write</primary></indexterm>
+<para id="write"><command>write</command> sends a message to the given user,
+<emphasis>if</emphasis> that user has not disabled such messages.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/utillinux.xml b/chapter06/utillinux.xml
deleted file mode 100644
index fd543bdbb..000000000
--- a/chapter06/utillinux.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<sect1 id="ch-system-util-linux" xreflabel="Util-linux">
-<title>Installing Util-linux-&util-linux-version;</title>
-<?dbhtml filename="util-linux.html" dir="chapter06"?>
-
-<para>The Util-linux package contains miscellaneous utility programs. Among
-them are utilities for handling file systems, consoles, partitions, and
-messages.</para>
-
-<screen>&buildtime; &util-linux-time;
-&diskspace; &util-linux-compsize;</screen>
-
-&aa-utillinux-down;
-&aa-utillinux-dep;
-
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-
-<sect2>
-<title>FHS compliance notes</title>
-
-<para>The FHS recommends that we use <filename>/var/lib/hwclock</filename>,
-instead of the usual <filename>/etc</filename>, as the location for the
-<filename>adjtime</filename> file. To make the <command>hwclock</command>
-program FHS-compliant, run the following:</para>
-
-<screen><userinput>cp hwclock/hwclock.c{,.backup}
-sed 's%etc/adjtime%var/lib/hwclock/adjtime%' \
-&nbsp;&nbsp;&nbsp;&nbsp;hwclock/hwclock.c.backup &gt; hwclock/hwclock.c
-mkdir -p /var/lib/hwclock</userinput></screen>
-
-</sect2>
-
-<sect2>
-<title>Installation of Util-linux</title>
-
-<para>Prepare Util-linux for compilation:</para>
-
-<screen><userinput>./configure</userinput></screen>
-
-<para>Compile the package:</para>
-
-<screen><userinput>make HAVE_KILL=yes HAVE_SLN=yes</userinput></screen>
-
-<para>The meaning of the make parameters:</para>
-
-<itemizedlist>
-<listitem><para><userinput>HAVE_KILL=yes</userinput>: This prevents the
-<command>kill</command> program (already installed by Procps) from being
-built and installed again.</para></listitem>
-
-<listitem><para><userinput>HAVE_SLN=yes</userinput>: This prevents the
-<command>sln</command> program (a statically linked
-<command>ln</command>, already installed by Glibc) from being built and
-installed again.</para></listitem>
-</itemizedlist>
-
-<para>And install the package:</para>
-
-<screen><userinput>make HAVE_KILL=yes HAVE_SLN=yes install</userinput></screen>
-
-</sect2>
-
-&aa-utillinux-shortdesc;
-&aa-utillinux-desc;
-
-</sect1>
-
diff --git a/chapter06/vim.xml b/chapter06/vim.xml
index 272b1f4cf..a11a4dca9 100644
--- a/chapter06/vim.xml
+++ b/chapter06/vim.xml
@@ -1,16 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-vim" xreflabel="Vim">
-<title>Installing Vim-&vim-version;</title>
-<?dbhtml filename="vim.html" dir="chapter06"?>
+<title>Vim-&vim-version;</title>
+<?dbhtml filename="vim.html"?>
+
+<indexterm zone="ch-system-vim"><primary sortas="a-Vim">Vim</primary></indexterm>
<para>The Vim package contains a powerful text editor.</para>
-<screen>&buildtime; &vim-time;
-&diskspace; &vim-compsize;</screen>
+<screen>&buildtime; 0.4 SBU
+&diskspace; 34 MB</screen>
+
+<para>Vim installation depends on: Bash, Binutils, Coreutils, Diffutils,
+GCC, Glibc, Grep, Make, Ncurses, Sed.</para>
-&aa-vim-down;
-&aa-vim-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Alternatives to Vim</title>
@@ -19,14 +26,12 @@ have a look at <ulink url="&blfs-root;view/stable/postlfs/editors.html"/> for
suggested installation instructions.</para>
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Vim</title>
<para>First change the default locations of the <filename>vimrc</filename> and
-<filename>gvimrc</filename> configuration files to <filename
-class="directory">/etc</filename>.</para>
+<filename>gvimrc</filename> configuration files to <filename class="directory">/etc</filename>.</para>
<screen><userinput>echo '#define SYS_VIMRC_FILE "/etc/vimrc"' &gt;&gt; src/feature.h
echo '#define SYS_GVIMRC_FILE "/etc/gvimrc"' &gt;&gt; src/feature.h</userinput></screen>
@@ -39,18 +44,19 @@ echo '#define SYS_GVIMRC_FILE "/etc/gvimrc"' &gt;&gt; src/feature.h</userinput><
<screen><userinput>make</userinput></screen>
-<para>To have the results tested, you can issue:
+<para>To test the results, you can issue:
<userinput>make check</userinput>. However, this test suite outputs a lot of
seemingly garbage characters to the screen, and this can wreak havoc with the
settings of the current terminal. Therefore the running of the test suite here
is strictly optional.</para>
-<para>And install the package:</para>
+<para>Now install the package:</para>
<screen><userinput>make install</userinput></screen>
-<para>When called as <command>vi</command>, <command>vim</command>
-will run in old-fashioned vi-mode. To allow this, create a symlink:</para>
+<para>Many users are used to using <command>vi</command>, instead of
+<command>vim</command>. To let them execute <command>vim</command> when
+they habitually enter <command>vi</command>, create a symlink:</para>
<screen><userinput>ln -s vim /usr/bin/vi</userinput></screen>
@@ -61,14 +67,18 @@ installed. For more information read the Vim documentation.</para>
</sect2>
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
-<sect2><title>Configuring Vim</title>
+<sect2 id="conf-vim"><title>Configuring Vim</title>
+<indexterm zone="conf-vim"><primary sortas="e-/etc/vim">/etc/vim</primary></indexterm>
-<para>By default, <command>vim</command> runs in vi-compatible mode. Some
-people might like this, but we prefer to run <command>vim</command> in its
+<para>By default, <command>vim</command> runs in vi-incompatible mode. Some
+people might not like this, but we prefer to run <command>vim</command> in its
own mode (else we wouldn't have included it in this book, but the original
-<command>vi</command>). Create a default vim configuration file by running
+<command>vi</command>). We've included the setting of "nocompatible"
+below to high-light the fact that the new behavior is being used. It
+also reminds those who would change to "compatible" mode that it should
+appear first because it changes other settings and overrides must come
+after this setting. Create a default vim configuration file by running
the following:</para>
<screen><userinput>cat &gt; /etc/vimrc &lt;&lt; "EOF"</userinput>
@@ -81,17 +91,103 @@ syntax on
" End /etc/vimrc
<userinput>EOF</userinput></screen>
-<para>The <emphasis>set nocompatible</emphasis> will make
-<command>vim</command> behave in a more useful way than the default
-vi-compatible manner. The <emphasis>set backspace=2</emphasis> allows
-backspacing over line breaks, autoindent and the start of insert. And the
-<emphasis>syntax on</emphasis> switches on <command>vim</command>'s
-semantic colouring.</para>
+<para>The <emphasis>set nocompatible</emphasis> makes
+<command>vim</command> behave in a more useful way (the default) than the
+vi-compatible manner. Remove the "no" if you want the old <command>vi</command>
+behavior. The <emphasis>set backspace=2</emphasis> allows
+backspacing over line breaks, autoindents and the start of insert. The
+<emphasis>syntax on</emphasis> enables <command>vim</command>'s
+semantic coloring.</para>
</sect2>
-&aa-vim-shortdesc;
-&aa-vim-desc;
-</sect1>
+<sect2 id="contents-vim"><title>Contents of Vim</title>
+
+<para><emphasis>Installed programs</emphasis>: efm_filter.pl, efm_perl.pl, ex
+(link to vim), less.sh, mve.awk, pltags.pl, ref, rview (link to vim), rvim
+(link to vim), shtags.pl, tcltags, vi (link to vim), view (link to vim), vim,
+vim132, vim2html.pl, vimdiff (link to vim), vimm, vimspell.sh, vimtutor
+and xxd</para>
+
+</sect2>
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-system-vim efm_filter.pl"><primary sortas="b-efm_filter.pl">efm_filter.pl</primary></indexterm>
+<para id="efm_filter.pl"><command>efm_filter.pl</command> is a filter for creating an error
+file that can be read by vim.</para>
+
+<indexterm zone="ch-system-vim efm_perl.pl"><primary sortas="b-efm_perl.pl">efm_perl.pl</primary></indexterm>
+<para id="efm_perl.pl"><command>efm_perl.pl</command> reformats the error messages of the
+Perl interpreter for use with the <quote>quickfix</quote> mode of vim.</para>
+
+<indexterm zone="ch-system-vim ex"><primary sortas="b-ex">ex</primary></indexterm>
+<para id="ex"><command>ex</command> starts vim in ex mode.</para>
+
+<indexterm zone="ch-system-vim less.sh"><primary sortas="b-less.sh">less.sh</primary></indexterm>
+<para id="less.sh"><command>less.sh</command> is a script that starts vim with less.vim.</para>
+
+<indexterm zone="ch-system-vim mve.awk"><primary sortas="b-mve.awk">mve.awk</primary></indexterm>
+<para id="mve.awk"><command>mve.awk</command> processes vim errors.</para>
+
+<indexterm zone="ch-system-vim pltags.pl"><primary sortas="b-pltags.pl">pltags.pl</primary></indexterm>
+<para id="pltags.pl"><command>pltags.pl</command> creates a tags file for perl code,
+for use by vim.</para>
+
+<indexterm zone="ch-system-vim ref"><primary sortas="b-ref">ref</primary></indexterm>
+<para id="ref"><command>ref</command> checks the spelling of arguments.</para>
+
+<indexterm zone="ch-system-vim rview"><primary sortas="b-rview">rview</primary></indexterm>
+<para id="rview"><command>rview</command> is a restricted version of view: no shell
+commands can be started and view can't be suspended.</para>
+
+<indexterm zone="ch-system-vim rvim"><primary sortas="b-rvim">rvim</primary></indexterm>
+<para id="rvim"><command>rvim</command> is a restricted version of vim: no shell
+commands can be started and vim can't be suspended.</para>
+<indexterm zone="ch-system-vim shtags.pl"><primary sortas="b-shtags.pl">shtags.pl</primary></indexterm>
+<para id="shtags.pl"><command>shtags.pl</command> generates a tag file for perl scripts.</para>
+
+<indexterm zone="ch-system-vim tcltags"><primary sortas="b-tcltags">tcltags</primary></indexterm>
+<para id="tcltags"><command>tcltags</command> generates a tag file for TCL code.</para>
+
+<indexterm zone="ch-system-vim view"><primary sortas="b-view">view</primary></indexterm>
+<para id="view"><command>view</command> starts vim in read-only mode.</para>
+
+<indexterm zone="ch-system-vim vim"><primary sortas="b-vim">vim</primary></indexterm>
+<para id="vim"><command>vim</command> is the editor.</para>
+
+<indexterm zone="ch-system-vim vim132"><primary sortas="b-vim132">vim132</primary></indexterm>
+<para id="vim132"><command>vim132</command> starts vim with the terminal in
+132-column mode.</para>
+
+<indexterm zone="ch-system-vim vim2html.pl"><primary sortas="b-vim2html.pl">vim2html.pl</primary></indexterm>
+<para id="vim2html.pl"><command>vim2html.pl</command> converts vim documentation to
+HTML.</para>
+
+<indexterm zone="ch-system-vim vimdiff"><primary sortas="b-vimdiff">vimdiff</primary></indexterm>
+<para id="vimdiff"><command>vimdiff</command> edits two or three versions of a file with
+vim and show differences.</para>
+
+<indexterm zone="ch-system-vim vimm"><primary sortas="b-vimm">vimm</primary></indexterm>
+<para id="vimm"><command>vimm</command> enables the DEC locator input model on a
+remote terminal.</para>
+
+<indexterm zone="ch-system-vim vimspell.sh"><primary sortas="b-vimspell.sh">vimspell.sh</primary></indexterm>
+<para id="vimspell.sh"><command>vimspell.sh</command> is a script which spells a file and generates the syntax
+statements necessary to highlight in vim.</para>
+
+<indexterm zone="ch-system-vim vimtutor"><primary sortas="b-vimtutor">vimtutor</primary></indexterm>
+<para id="vimtutor"><command>vimtutor</command> teaches you the basic keys and commands
+of vim.</para>
+
+<indexterm zone="ch-system-vim xxd"><primary sortas="b-xxd">xxd</primary></indexterm>
+<para id="xxd"><command>xxd</command> makes a hex dump of the given file. It can
+also do the reverse, so it can be used for binary patching.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter06/zlib.xml b/chapter06/zlib.xml
index 798f3cb1f..9059de651 100644
--- a/chapter06/zlib.xml
+++ b/chapter06/zlib.xml
@@ -1,17 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-system-zlib" xreflabel="Zlib">
-<title>Installing Zlib-&zlib-version;</title>
-<?dbhtml filename="zlib.html" dir="chapter06"?>
+<title>Zlib-&zlib-version;</title>
+<?dbhtml filename="zlib.html"?>
-<para>The Zlib package contains compression and uncompression routines used by
+<indexterm zone="ch-system-zlib"><primary sortas="a-Zlib">Zlib</primary></indexterm>
+
+<para>The Zlib package contains compression and un-compression routines used by
some programs.</para>
-<screen>&buildtime; &zlib-time;
-&diskspace; &zlib-compsize;</screen>
+<screen>&buildtime; 0.1 SBU
+&diskspace; 1.5 MB</screen>
+
+<para>Zlib installation depends on: Binutils, Coreutils, GCC, Glibc, Make, Sed.</para>
-&aa-zlib-down;
-&aa-zlib-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of Zlib</title>
@@ -30,7 +36,7 @@ afterwards.</para></note>
<screen><userinput>make</userinput></screen>
-<para>To have the results tested, issue:
+<para>To test the results, issue:
<userinput>make check</userinput>.</para>
<para>Install the shared library:</para>
@@ -42,7 +48,7 @@ afterwards.</para></note>
./configure --prefix=/usr
make</userinput></screen>
-<para>To have the results tested again, issue:
+<para>To again test the results, issue:
<userinput>make check</userinput>.</para>
<para>Install the static library:</para>
@@ -75,8 +81,22 @@ because we just moved the file it points to:</para>
</sect2>
-&aa-zlib-shortdesc;
-&aa-zlib-desc;
-</sect1>
+<sect2 id="contents-zlib"><title>Contents of Zlib</title>
+
+<para><emphasis>Installed libraries</emphasis>: libz[a,so]</para>
+
+</sect2>
+
+<sect2><title>Short description</title>
+
+<indexterm zone="ch-system-zlib libz"><primary sortas="c-libz*">libz*</primary></indexterm>
+<para id="libz"><command>libz*</command> contains compression and un-compression
+functions used by some programs.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter07/bootscripts.xml b/chapter07/bootscripts.xml
index dc90e2e68..9ee79f203 100644
--- a/chapter07/bootscripts.xml
+++ b/chapter07/bootscripts.xml
@@ -1,33 +1,121 @@
-<sect1 id="ch-system-lfs-bootscripts" xreflabel="Bootscripts">
-<title>Installing LFS-Bootscripts-&bootscripts-version;</title>
-<?dbhtml filename="bootscripts.html" dir="chapter07"?>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-scripts-bootscripts" xreflabel="Bootscripts">
+<title>LFS-Bootscripts-&bootscripts-version;</title>
+<?dbhtml filename="bootscripts.html"?>
+
+<indexterm zone="ch-scripts-bootscripts"><primary sortas="a-Bootscripts">Bootscripts</primary></indexterm>
<para>The LFS-Bootscripts package contains a set of bootscripts.</para>
-<screen>&buildtime; &bootscripts-time;
-&diskspace; &bootscripts-compsize;</screen>
+<screen>&buildtime; 0.1 SBU
+&diskspace; 0.3 MB</screen>
+
+<para>LFS-Bootscripts installation depends on: Bash, Coreutils.</para>
-&bootscripts-down;
-&bootscripts-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of LFS-Bootscripts</title>
-<para>Install the boot scripts simply by copying them to their
-destination:</para>
+<para>Installation of the bootscripts is very simple:</para>
+
+<screen><userinput>make install</userinput></screen>
+
+</sect2>
-<screen><userinput>cp -a rc.d sysconfig /etc</userinput></screen>
-<para>Make sure <emphasis>root</emphasis> is owner of the scripts:</para>
+<sect2 id="contents-bootscripts"><title>Contents of LFS-bootscripts</title>
-<screen><userinput>chown -R root:root /etc/rc.d /etc/sysconfig</userinput></screen>
+<para><emphasis>Installed scripts</emphasis>: checkfs, cleanfs, functions,
+halt, ifdown, ifup, loadkeys, localnet, mountfs, mountkernfs, network, rc,
+reboot, sendsignals, setclock, static, swap, sysklogd and template</para>
</sect2>
-&bootscripts-shortdesc;
-&bootscripts-desc;
-</sect1>
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-scripts-bootscripts checkfs-bootscripts"><primary sortas="d-checkfs">checkfs</primary></indexterm>
+<para id="checkfs-bootscripts">The <command>checkfs</command> script checks the file systems just
+before they are mounted (with the exception of journal and network based
+file systems).</para>
+
+<indexterm zone="ch-scripts-bootscripts cleanfs-bootscripts"><primary sortas="d-cleanfs">cleanfs</primary></indexterm>
+<para id="cleanfs-bootscripts">The <command>cleanfs</command> script removes files that shouldn't be
+preserved between reboots, such as those in <filename>/var/run/</filename> and
+<filename>/var/lock/</filename>. It re-creates <filename>/var/run/utmp</filename>
+and removes the possibly present <filename>/etc/nologin</filename>,
+<filename>/fastboot</filename> and <filename>/forcefsck</filename> files.</para>
+
+<indexterm zone="ch-scripts-bootscripts functions-bootscripts"><primary sortas="d-functions">functions</primary></indexterm>
+<para id="functions-bootscripts">The <command>functions</command> script contains functions shared among
+different scripts, such as error and status checking.</para>
+
+<indexterm zone="ch-scripts-bootscripts halt-bootscripts"><primary sortas="d-halt">halt</primary></indexterm>
+<para id="halt-bootscripts">The <command>halt</command> script halts the system.</para>
+
+<indexterm zone="ch-scripts-bootscripts ifdown-bootscripts"><primary sortas="d-ifdown">ifdown</primary></indexterm>
+<para id="ifdown-bootscripts">The <command>ifdown</command> and <command>ifup</command> scripts assist
+the network script with network devices.</para>
+
+<indexterm zone="ch-scripts-bootscripts loadkeys-bootscripts"><primary sortas="d-loadkeys">loadkeys</primary></indexterm>
+<para id="loadkeys-bootscripts">The <command>loadkeys</command> script loads the keymap table you
+specified as proper for your keyboard layout.</para>
+
+<indexterm zone="ch-scripts-bootscripts localnet-bootscripts"><primary sortas="d-localnet">localnet</primary></indexterm>
+<para id="localnet-bootscripts">The <command>localnet</command> script sets up the system's hostname and
+local loopback device.</para>
+
+<indexterm zone="ch-scripts-bootscripts mountfs-bootscripts"><primary sortas="d-mountfs">mountfs</primary></indexterm>
+<para id="mountfs-bootscripts">The <command>mountfs</command> script mounts all file systems that
+aren't marked <emphasis>noauto</emphasis> or aren't network based.</para>
+
+<indexterm zone="ch-scripts-bootscripts mountkernfs-bootscripts"><primary sortas="d-mountkernfs">mountkernfs</primary></indexterm>
+<para id="mountkernfs-bootscripts">The <command>mountkernfs</command> script is used to mount
+kernel-provided file systems, such as /proc.</para>
+<indexterm zone="ch-scripts-bootscripts network-bootscripts"><primary sortas="d-network">network</primary></indexterm>
+<para id="network-bootscripts">The <command>network</command> script sets up network interfaces, such
+as network cards, and sets up the default gateway where applicable.</para>
+
+<indexterm zone="ch-scripts-bootscripts rc-bootscripts"><primary sortas="d-rc">rc</primary></indexterm>
+<para id="rc-bootscripts">The <command>rc</command> script is the master run-level control script.
+It is responsible for running all the other scripts one-by-one, in a sequence
+determined by the name of the symbolic links being processed.</para>
+
+<indexterm zone="ch-scripts-bootscripts reboot-bootscripts"><primary sortas="d-reboot">reboot</primary></indexterm>
+<para id="reboot-bootscripts">The <command>reboot</command> script reboots the system.</para>
+
+<indexterm zone="ch-scripts-bootscripts sendsignals-bootscripts"><primary sortas="d-sendsignals">sendsignals</primary></indexterm>
+<para id="sendsignals-bootscripts">The <command>sendsignals</command> script makes sure every process is
+terminated before the system reboots or halts.</para>
+
+<indexterm zone="ch-scripts-bootscripts setclock-bootscripts"><primary sortas="d-setclock">setclock</primary></indexterm>
+<para id="setclock-bootscripts">The <command>setclock</command> script resets the kernel clock to
+localtime in case the hardware clock isn't set to GMT time.</para>
+
+<indexterm zone="ch-scripts-bootscripts static-bootscripts"><primary sortas="d-static">static</primary></indexterm>
+<para id="static-bootscripts">The <command>static</command> script provides the functionality needed
+to assign a static IP address to a network interface.</para>
+
+<indexterm zone="ch-scripts-bootscripts swap-bootscripts"><primary sortas="d-swap">swap</primary></indexterm>
+<para id="swap-bootscripts">The <command>swap</command> script enables and disables swap files and
+partitions.</para>
+
+<indexterm zone="ch-scripts-bootscripts sysklogd-bootscripts"><primary sortas="d-sysklogd">sysklogd</primary></indexterm>
+<para id="sysklogd-bootscripts">The <command>sysklogd</command> script starts and stops the system and
+kernel log daemons.</para>
+
+<indexterm zone="ch-scripts-bootscripts template-bootscripts"><primary sortas="d-template">template</primary></indexterm>
+<para id="template-bootscripts">The <command>template</command> script is a template you can use to
+create your own bootscripts for your other daemons.</para>
+
+</sect2>
+
+
+
+</sect1>
diff --git a/chapter07/chapter07.xml b/chapter07/chapter07.xml
index 9dc8bc3ac..6482e26a8 100644
--- a/chapter07/chapter07.xml
+++ b/chapter07/chapter07.xml
@@ -1,37 +1,40 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<chapter id="chapter-bootscripts" xreflabel="Chapter 7">
+<?dbhtml dir="chapter07"?>
<title>Setting up system boot scripts</title>
-<?dbhtml filename="chapter07.html" dir="chapter07"?>
+<?dbhtml filename="chapter07.html"?>
-<sect1 id="ch-scripts-introduction">
-<title>Introduction</title>
-<?dbhtml filename="introduction.html" dir="chapter07"?>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/>
-<para>In this chapter we will install the bootscripts and set them up
-properly. Most of these scripts will work without needing to modify them, but
-a few require additional configuration files, since they deal with hardware
-dependent information.</para>
-<para>We have chosen to use System-V style init scripts simply because they
-are widely used and we feel comfortable with them. If you would prefer to try
-something else: Marc Heerdink has written a hint about BSD style init scripts,
-to be found at <ulink url="&hints-root;bsd-init.txt"/>. And if you'd like
-something more radical, search the LFS mailing lists for "depinit".</para>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bootscripts.xml"/>
-<para>If you decide to use some other style of init scripts, you can skip this
-chapter and move on to <xref linkend="chapter-mixture"/>.</para>
-</sect1>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="usage.xml"/>
-&bootscripts;
-&c7-usage;
-&c7-setclock;
-&c7-loadkeys;
-&c7-sysklogd;
-&c7-hostname;
-&c7-hosts;
-&c7-network;
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="setclock.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="loadkeys.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sysklogd.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="hostname.xml"/>
-</chapter>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="hosts.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="network.xml"/>
+
+
+
+</chapter>
diff --git a/chapter07/hostname.xml b/chapter07/hostname.xml
index ad9ae08d7..c68b5cb2d 100644
--- a/chapter07/hostname.xml
+++ b/chapter07/hostname.xml
@@ -1,6 +1,15 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-scripts-hostname">
<title>Configuring the localnet script</title>
-<?dbhtml filename="hostname.html" dir="chapter07"?>
+<?dbhtml filename="hostname.html"?>
+
+<indexterm zone="ch-scripts-hostname">
+<primary sortas="d-localnet">localnet</primary>
+<secondary>configuring</secondary></indexterm>
<para>Part of the localnet script is setting up the system's hostname. This
needs to be configured in the /etc/sysconfig/network.</para>
@@ -16,4 +25,3 @@ Name) here. That information will be put in the
<filename>/etc/hosts</filename> file later on.</para>
</sect1>
-
diff --git a/chapter07/hosts.xml b/chapter07/hosts.xml
index 6c1f5eb5c..d83f202b7 100644
--- a/chapter07/hosts.xml
+++ b/chapter07/hosts.xml
@@ -1,6 +1,21 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-scripts-hosts">
<title>Creating the /etc/hosts file</title>
-<?dbhtml filename="hosts.html" dir="chapter07"?>
+<?dbhtml filename="hosts.html"?>
+
+<indexterm zone="ch-scripts-hosts"><primary sortas="e-/etc/hosts">/etc/hosts</primary></indexterm>
+
+<indexterm zone="ch-scripts-hosts">
+<primary sortas="d-localnet">localnet</primary>
+<secondary>/etc/hosts</secondary></indexterm>
+
+<indexterm zone="ch-scripts-hosts">
+<primary sortas="d-network">network</primary>
+<secondary>/etc/hosts</secondary></indexterm>
<para>If a network card is to be configured, you have to decide on the
IP-address, FQDN and possible aliases for use in the /etc/hosts file. The
@@ -8,7 +23,7 @@ syntax is:</para>
<screen>&lt;IP address&gt; myhost.example.org aliases</screen>
-<para>You should make sure that the IP-address is in the private network
+<para>Unless your computer is to be visible to the Internet (e.g. you have a registered domain and a valid block of assigned IP addresses - most of us don't have this)you should make sure that the IP-address is in the private network
IP-address range. Valid ranges are:</para>
<screen> Class Networks
@@ -17,7 +32,7 @@ IP-address range. Valid ranges are:</para>
C 192.168.0.0 through 192.168.255.0</screen>
<para>A valid IP address could be 192.168.1.1. A valid FQDN for this IP could
-be www.linuxfromscratch.org.</para>
+be www.linuxfromscratch.org (not recommended as this is a valid registered domain address and could cause your domain name server problems).</para>
<para>If you aren't going to use a network card, you still need to
come up with a FQDN. This is necessary for certain programs to operate
@@ -52,4 +67,3 @@ by a network/system administrator and this machine is planned to be connected
to an existing network).</para>
</sect1>
-
diff --git a/chapter07/introduction.xml b/chapter07/introduction.xml
new file mode 100644
index 000000000..9f1343c54
--- /dev/null
+++ b/chapter07/introduction.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-scripts-introduction">
+<title>Introduction</title>
+<?dbhtml filename="introduction.html"?>
+
+<para>In this chapter we will install the bootscripts and set them up
+properly. Most of these scripts will work without needing to modify them, but
+a few require additional configuration files, since they deal with hardware
+dependent information.</para>
+
+<para>We have chosen to use System-V style init scripts simply because they
+are widely used and we feel comfortable with them. If you would prefer to try
+something else: Marc Heerdink has written a hint about BSD style init scripts,
+to be found at <ulink url="&hints-root;bsd-init.txt"/>. And if you'd like
+something more radical, search the LFS mailing lists for <quote>depinit</quote>.
+</para>
+
+<para>If you decide to use some other style of init scripts, you can skip this
+chapter and move on to <xref linkend="chapter-bootable"/>.</para>
+
+</sect1>
diff --git a/chapter07/loadkeys.xml b/chapter07/loadkeys.xml
index 3628993e9..d3abf96e4 100644
--- a/chapter07/loadkeys.xml
+++ b/chapter07/loadkeys.xml
@@ -1,18 +1,25 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-scripts-loadkeys">
<title>Do I need the loadkeys script?</title>
-<?dbhtml filename="loadkeys.html" dir="chapter07"?>
+<?dbhtml filename="loadkeys.html"?>
-<para>If back in <xref linkend="chapter-building-system"/> you decided to go
-compile your keymap directly into the kernel (later on in <xref
-linkend="chapter-mixture"/>), then strictly speaking you don't need to run this
-loadkeys script, since the kernel will set up the keymap for you. If you wish,
-you can still run the script, it isn't going to hurt you. Keeping it could even
-be beneficial, in case you run a lot of different kernels and can't be sure
-that the keymap is compiled into every one of them.</para>
+<indexterm zone="ch-scripts-loadkeys">
+<primary sortas="d-loadkeys">loadkeys</primary>
+<secondary>configuring</secondary></indexterm>
+
+<para>If you plan to compile the keymap directly in the kernel during <xref
+linkend="chapter-bootable"/> (see <xref linkend="ch-system-kbd"/>), then strictly
+speaking you don't need to run this loadkeys script, since the kernel will set
+up the keymap for you. If you wish, you can still run the script, it isn't going
+to hurt you. Keeping it could even be beneficial, in case you run a lot of
+different kernels and can't be sure that the keymap is compiled into every one
+of them.</para>
<para>If you decided you don't need or don't want to use the loadkeys script,
-remove the <filename
-class="symlink">/etc/rc.d/rcsysinit.d/S70loadkeys</filename> symlink.</para>
+remove the <filename class="symlink">/etc/rc.d/rcsysinit.d/S70loadkeys</filename> symlink.</para>
</sect1>
-
diff --git a/chapter07/network.xml b/chapter07/network.xml
index f8a1f3e58..18b44411f 100644
--- a/chapter07/network.xml
+++ b/chapter07/network.xml
@@ -1,6 +1,15 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-scripts-network">
<title>Configuring the network script</title>
-<?dbhtml filename="network.html" dir="chapter07"?>
+<?dbhtml filename="network.html"?>
+
+<indexterm zone="ch-scripts-network">
+<primary sortas="d-network">network</primary>
+<secondary>configuring</secondary></indexterm>
<para>This section only applies if you're going to configure a network
card.</para>
@@ -8,13 +17,13 @@ card.</para>
<para>If you don't have any network cards, you are most likely not going to
create any configuration files relating to network cards. If that is the
case, you must remove the <filename>network</filename> symlinks from all the
-runlevel directories
+run-level directories
(<filename class="directory">/etc/rc.d/rc*.d</filename>)</para>
<sect2>
<title>Configuring default gateway</title>
-<para>If you're on a network you may need to set up the default gateway for
+<para>If you're on a network you may need to set up the default gateway (a node on your network that provides access to other networks) for
this machine. This is done by adding the proper values to the
/etc/sysconfig/network file by running the following:</para>
@@ -42,11 +51,12 @@ network interface name (such as eth0 or eth0:1)</para>
directory, make sure you update the /etc/sysconfig/rc file as well and
update the network_devices by providing it with the new path.</para>
-<para>Now, new files are created in that directory containing the following.
+<para>Now, new files are created in that directory.
The following command creates a sample ifconfig.eth0 file:</para>
<screen><userinput>cat &gt; /etc/sysconfig/network-devices/ifconfig.eth0 &lt;&lt; "EOF"</userinput>
ONBOOT=yes
+SERVICE=static
IP=192.168.1.1
NETMASK=255.255.255.0
BROADCAST=192.168.1.255
@@ -54,18 +64,25 @@ BROADCAST=192.168.1.255
<para>Of course, the values of those variables have to be changed
in every file to match the proper setup. If the ONBOOT variable is set
-to yes, the network script will bring it up during the booting of the system.
-If set to anything else but yes, it will be ignored by the network script
-and thus not brought up.</para>
+to yes, the network script will bring up the equivalent NIC (Network Interface Card)
+ during the booting of the system.
+If set to anything but yes, the equivalent NIC will be ignored by the network script
+and not brought up.</para>
+
+<para>The SERVICE entry defines the method of obtaining the IP address.
+The LFS bootscripts have a modular IP assignment format, and by creating
+additional files in /etc/sysconfig/network-devices/services, you can allow
+other IP assignment methods. This would commonly be used if you need DHCP,
+which is addressed in the BLFS book.</para>
</sect2>
<sect2>
<title>Creating the /etc/resolv.conf file</title>
-<para>If you're going to be connected to the internet then most likely you'll
-need some means of DNS name resolution to resolve internet domain names to IP
-addresses. This is best achieved by placing the IP address of a DNS server
+<para>If you're going to be connected to the Internet then most likely you'll
+need some means of DNS name resolution to resolve Internet domain names to IP
+addresses. This is best achieved by placing the IP address of your DNS, available from your ISP (Internet Service Provider) or network administrator,
into <filename>/etc/resolv.conf</filename>. Create the file by running the
following:</para>
@@ -78,10 +95,9 @@ nameserver &lt;IP address of your nameserver&gt;
<userinput>EOF</userinput></screen>
<para>Of course, replace &lt;IP address of your nameserver&gt; with the IP
-address of the DNS server most appropriate for your setup. This will often be
-provided by your ISP or it may even be a router on your local network.</para>
+address of the DNS most appropriate for your setup. There will often be
+more than one entry (requirements demand secondary servers for fallback capability). The IP address may even be a router on your local network.</para>
</sect2>
</sect1>
-
diff --git a/chapter07/setclock.xml b/chapter07/setclock.xml
index 5030b170d..5ebdfdc76 100644
--- a/chapter07/setclock.xml
+++ b/chapter07/setclock.xml
@@ -1,9 +1,18 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-scripts-setclock">
<title>Configuring the setclock script</title>
-<?dbhtml filename="setclock.html" dir="chapter07"?>
+<?dbhtml filename="setclock.html"?>
-<para>This setclock script reads the time from your hardware clock (also
-known as BIOS or CMOS clock) and either converts that time to localtime
+<indexterm zone="ch-scripts-setclock">
+<primary sortas="d-setclock">setclock</primary>
+<secondary>configuring</secondary></indexterm>
+
+<para>This setclock script reads the time from your hardware clock, also
+known as BIOS or CMOS (Complementry Metal-Oxide Semiconductor) clock, and either converts that time to localtime
using the <filename>/etc/localtime</filename> file (if the hardware clock
is set to GMT) or not (if the hardware clock is already set to localtime).
There is no way to auto-detect whether the hardware clock is set to GMT or
@@ -30,4 +39,3 @@ It explains issues such as time zones, UTC, and the TZ environment
variable.</para>
</sect1>
-
diff --git a/chapter07/sysklogd.xml b/chapter07/sysklogd.xml
index 4c1b02af0..e11cc7f10 100644
--- a/chapter07/sysklogd.xml
+++ b/chapter07/sysklogd.xml
@@ -1,6 +1,15 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-scripts-sysklogd">
<title>Configuring the sysklogd script</title>
-<?dbhtml filename="sysklogd.html" dir="chapter07"?>
+<?dbhtml filename="sysklogd.html"?>
+
+<indexterm zone="ch-scripts-sysklogd">
+<primary sortas="d-sysklogd">sysklogd</primary>
+<secondary>configuring</secondary></indexterm>
<para>The <filename>sysklogd</filename> script invokes the
<command>syslogd</command> program with the <emphasis>-m 0</emphasis> option.
@@ -11,4 +20,3 @@ If you want to turn on this periodic timestamp mark, edit the
<userinput>man syslogd</userinput> for more information.</para>
</sect1>
-
diff --git a/chapter07/usage.xml b/chapter07/usage.xml
index e0810c403..6fedb31d9 100644
--- a/chapter07/usage.xml
+++ b/chapter07/usage.xml
@@ -1,21 +1,30 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-scripts-usage">
<title>How does the booting process with these scripts work?</title>
-<?dbhtml filename="usage.html" dir="chapter07"?>
+<?dbhtml filename="usage.html"?>
+
+<indexterm zone="ch-scripts-usage">
+<primary sortas="a-Bootscripts">Bootscripts</primary>
+<secondary>usage</secondary></indexterm>
<para>Linux uses a special booting facility named SysVinit. It's based on a
-concept of <emphasis>runlevels</emphasis>. It can be widely different
+concept of <emphasis>run-levels</emphasis>. It can be widely different
from one system to another, so it can't be assumed that because things
worked in &lt;insert distro name&gt; they should work like that in LFS
too. LFS has its own way of doing things, but it respects generally
accepted standards.</para>
<para>SysVinit (which we'll call <emphasis>init</emphasis> from now on) works
-using a runlevels scheme. There are 7 (from 0 to 6) runlevels
-(actually, there are more runlevels but they are for special cases and
+using a run-levels scheme. There are 7 (from 0 to 6) run-levels
+(actually, there are more run-levels but they are for special cases and
generally not used. The init man page describes those details), and each
one of those corresponds to the things the computer is supposed to do when
-it starts up. The default runlevel is 3. Here are the descriptions of the
-different runlevels as they are often implemented:</para>
+it starts up. The default run-level is 3. Here are the descriptions of the
+different run-levels as they are often implemented:</para>
<literallayout>0: halt the computer
1: single-user mode
@@ -25,20 +34,20 @@ different runlevels as they are often implemented:</para>
5: same as 4, it is usually used for GUI login (like X's xdm or KDE's kdm)
6: reboot the computer</literallayout>
-<para>The command used to change runlevels is <command>init
-&lt;runlevel&gt;</command> where &lt;runlevel&gt; is the target runlevel. For
+<para>The command used to change run-levels is <command>init
+&lt;runlevel&gt;</command> where &lt;runlevel&gt; is the target run-level. For
example, to reboot the computer, a user would issue the <command>init
6</command> command. The <command>reboot</command> command is just an alias for
it, as is the <command>halt</command> command an alias for <command>init
0</command>.</para>
<para>There are a number of directories under <filename>/etc/rc.d</filename>
-that look like like rc?.d where ? is the number of the runlevel and rcsysinit.d
-which contain a number of symbolic links. Some begin with a K, the others begin
+that look like like rc?.d (where ? is the number of the run-level) and rcsysinit.d
+all containing a number of symbolic links. Some begin with a K, the others begin
with an S, and all of them have two numbers following the initial letter. The K
means to stop (kill) a service, and the S means to start a service. The numbers
determine the order in which the scripts are run, from 00 to 99; the lower the
-number the sooner it gets executed. When init switches to another runlevel, the
+number the sooner it gets executed. When init switches to another run-level, the
appropriate services get killed and others get started.</para>
<para>The real scripts are in /etc/rc.d/init.d. They do all the work, and the
@@ -46,7 +55,7 @@ symlinks all point to them. Killing links and starting links point to
the same script in /etc/rc.d/init.d. That's because the scripts can be
called with different parameters like start, stop, restart, reload,
status. When a K link is encountered, the appropriate script is run with
-the stop argument. When a S link is encountered, the appropriate script
+the stop argument. When an S link is encountered, the appropriate script
is run with the start argument.</para>
<para>There is one exception. Links that start with an S in the
@@ -85,4 +94,3 @@ own LFS system). The files given here are just an example of how it can be
done in a nice way (well, what we consider nice -- you may hate it).</para>
</sect1>
-
diff --git a/chapter08/chapter08.xml b/chapter08/chapter08.xml
index b83bf7691..01fec81e3 100644
--- a/chapter08/chapter08.xml
+++ b/chapter08/chapter08.xml
@@ -1,10 +1,23 @@
-<chapter id="chapter-mixture" xreflabel="Chapter 8">
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<chapter id="chapter-bootable" xreflabel="Chapter 8">
+<?dbhtml dir="chapter08"?>
<title>Making the LFS system bootable</title>
-<?dbhtml filename="chapter08.html" dir="chapter08"?>
+<?dbhtml filename="chapter08.html"?>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="fstab.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kernel.xml"/>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grub.xml"/>
+
-&c8-introduction;
-&c8-fstab;
-&c8-kernel;
-&c8-grub-conf;
</chapter>
diff --git a/chapter08/fstab.xml b/chapter08/fstab.xml
index 5959d891a..83b32fbd1 100644
--- a/chapter08/fstab.xml
+++ b/chapter08/fstab.xml
@@ -1,9 +1,16 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-bootable-fstab">
<title>Creating the /etc/fstab file</title>
-<?dbhtml filename="fstab.html" dir="chapter08"?>
+<?dbhtml filename="fstab.html"?>
+
+<indexterm zone="ch-bootable-fstab"><primary sortas="e-/etc/fstab">/etc/fstab</primary></indexterm>
<para>The <filename>/etc/fstab</filename> file is used by some programs to
-determine where partitions are to be mounted by default, which file systems
+determine where file systems are to be mounted by default, which
must be checked and in which order. Create a new file systems table like
this:</para>
@@ -50,4 +57,3 @@ use USB devices:</para>
compiled into your kernel.</para>
</sect1>
-
diff --git a/chapter08/grub.xml b/chapter08/grub.xml
index 1a14968b8..aca02cada 100644
--- a/chapter08/grub.xml
+++ b/chapter08/grub.xml
@@ -1,19 +1,28 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-bootable-grub">
<title>Making the LFS system bootable</title>
-<?dbhtml filename="grub.html" dir="chapter08"?>
+<?dbhtml filename="grub.html"?>
+
+<indexterm zone="ch-bootable-grub">
+<primary sortas="a-Grub">Grub</primary>
+<secondary>configuring</secondary></indexterm>
<para>Your shiny new LFS system is almost complete. One of the last things to
do is ensure you can boot it. The instructions below apply only to computers of
-IA-32 architecture, meaning mainstream PCs. Information on "boot loading" for
-other architectures should be available in the usual resource specific
-locations for those architectures.</para>
+IA-32 architecture, meaning mainstream PCs. Information on <quote>boot
+loading</quote> for other architectures should be available in the usual
+resource-specific locations for those architectures.</para>
<para>Boot loading can be a complex area. First, a few cautionary words. You
really should be familiar with your current boot loader and any other
operating systems present on your hard drive(s) that you might wish to keep
bootable. Please make sure that you have an emergency boot disk ready, so that
you can rescue your computer if, by any chance, your computer becomes unusable
-(unbootable).</para>
+(un-bootable).</para>
<para>Earlier, we compiled and installed the Grub boot loader software in
preparation for this step. The procedure involves writing some special Grub
@@ -44,24 +53,20 @@ following example, we'll assume your root (or separate boot) partition is
<filename>hda4</filename>.</para>
<para>First, tell Grub where to search for its <filename>stage{1,2}</filename>
-files -- you can use Tab everywhere to make Grub show the alternatives:</para>
+files -- you can use the Tab key everywhere to make Grub show the alternatives:</para>
<screen><userinput>root (hd0,3)</userinput></screen>
-<!-- HACK - Force some whitespace to appease tidy -->
-<literallayout></literallayout>
<warning><para>The following command will overwrite your current boot loader.
Don't run the command if this is not what you want. For example, you may be
using a third party boot manager to manage your MBR (Master Boot Record). In
this scenario, it would probably make more sense to install Grub into the
-"boot sector" of the LFS partition, in which case the command would become:
-<userinput>setup (hd0,3)</userinput>.</para></warning>
+<quote>boot sector</quote> of the LFS partition, in which case this next command
+would become: <userinput>setup (hd0,3)</userinput>.</para></warning>
-<!-- HACK - Force some whitespace to appease tidy -->
-<literallayout></literallayout>
-<para>Then tell it to install itself into the MBR (Master Boot Record) of
+<para>Tell Grub to install itself into the MBR (Master Boot Record) of
<filename>hda</filename>:</para>
<screen><userinput>setup (hd0)</userinput></screen>
@@ -71,8 +76,8 @@ this scenario, it would probably make more sense to install Grub into the
<screen><userinput>quit</userinput></screen>
-<para>Now we need to create a "menu list" file, defining Grub's boot
-menu:</para>
+<para>Now we need to create a <quote>menu list</quote> file, defining Grub's
+boot menu:</para>
<screen><userinput>cat &gt; /boot/grub/menu.lst &lt;&lt; "EOF"</userinput>
# Begin /boot/grub/menu.lst
@@ -92,11 +97,12 @@ root (hd0,3)
kernel --no-mem-option /boot/lfskernel root=/dev/hda4
<userinput>EOF</userinput></screen>
-<note><para>By default, Grub will automatically pass a "mem=xxx" command line
-argument to the kernel. However, Grub occasionally gets the amount of memory
-wrong which can lead to problems in some circumstances. It's best to disable
-this functionality and let the kernel determine the amount of memory itself,
-hence the use of the <emphasis>--no-mem-option</emphasis> above.</para></note>
+<note><para>By default, Grub will automatically pass a <quote>mem=xxx</quote>
+command line argument to the kernel. However, Grub occasionally gets the amount
+of memory wrong which can lead to problems in some circumstances. It's best to
+disable this functionality and let the kernel determine the amount of memory
+itself, hence the use of the <emphasis>--no-mem-option</emphasis> above.</para>
+</note>
<para>You may want to add an entry for your host distribution. It might look
like this:</para>
@@ -122,4 +128,3 @@ know, you can find more information regarding Grub on its website, located at:
<ulink url="http://www.gnu.org/software/grub/"/>.</para>
</sect1>
-
diff --git a/chapter08/introduction.xml b/chapter08/introduction.xml
index e4a4d4f83..6d8723909 100644
--- a/chapter08/introduction.xml
+++ b/chapter08/introduction.xml
@@ -1,11 +1,15 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-bootable-introduction">
<title>Introduction</title>
-<?dbhtml filename="introduction.html" dir="chapter08"?>
+<?dbhtml filename="introduction.html"?>
<para>This chapter will make LFS bootable. This chapter deals with creating a
-new fstab file, building a
-new kernel for the new LFS system and installing the Grub bootloader
+fstab file, building a
+kernel for the new LFS system and installing the Grub bootloader
so that the LFS system can be selected for booting at startup.</para>
</sect1>
-
diff --git a/chapter08/kernel.xml b/chapter08/kernel.xml
index 5f1f69d8d..5ad76a1a4 100644
--- a/chapter08/kernel.xml
+++ b/chapter08/kernel.xml
@@ -1,16 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-bootable-kernel" xreflabel="Linux">
-<title>Installing Linux-&kernel-version;</title>
-<?dbhtml filename="kernel.html" dir="chapter08"?>
+<title>Linux-&linux-version;</title>
+<?dbhtml filename="kernel.html"?>
+
+<indexterm zone="ch-bootable-kernel"><primary sortas="a-Linux">Linux</primary></indexterm>
<para>The Linux package contains the kernel and the header files.</para>
-<screen>Estimated build time: &kernel-time;
-Estimated required disk space: &kernel-compsize;</screen>
+<screen>&buildtime; All default options: 4.20 SBU
+&diskspace; All default options: 181 MB</screen>
+
+<para>Linux installation depends on: Bash, Binutils, Coreutils, Findutils,
+GCC, Glibc, Grep, Gzip, Make, Modutils, Perl, Sed.</para>
-&aa-kernel-down;
-&aa-kernel-dep;
-<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<sect2>
<title>Installation of the kernel</title>
@@ -27,7 +34,7 @@ methods.</para>
<para>This ensures that the kernel tree is absolutely clean. The kernel team
recommends that this command be issued prior to <emphasis>each</emphasis>
kernel compilation. You shouldn't rely on the source tree being clean after
-untarring.</para>
+un-tarring.</para>
<para>Configure the kernel via a menu-driven interface:</para>
@@ -39,15 +46,15 @@ information.</para>
<para>If you wish, you may skip kernel configuration by simply copying the
kernel config file, <filename>.config</filename>, from your host system
-(assuming it is available) to the unpacked <filename
-class="directory">linux-&kernel-version;</filename> directory. However, we
+(assuming it is available) to the unpacked <filename class="directory">linux-&linux-version;</filename>
+directory. However, we
don't recommend this option. You're much better off exploring all the
configuration menus and creating your own kernel configuration from
scratch.</para>
<para>For POSIX shared memory support, ensure that the kernel config option
-"Virtual memory file system support" is enabled. It resides within the
-"File systems" menu and is normally enabled by default.</para>
+<quote>Virtual memory file system support</quote> is enabled. It resides within
+the <quote>File systems</quote> menu and is normally enabled by default.</para>
<para>Verify dependencies and create dependency information files:</para>
@@ -65,9 +72,9 @@ scratch.</para>
<filename>/etc/modules.conf</filename> file. Information pertaining
to modules and to kernel configuration in general may be found in the
kernel documentation, which is found in the
-<filename>linux-&kernel-version;/Documentation</filename> directory. The
+<filename>linux-2.4.25/Documentation</filename> directory. The
modules.conf man page and the kernel HOWTO at
-<ulink url="&tldp-root;HOWTO/Kernel-HOWTO.html"/> may also be of
+<ulink url="http://www.tldp.org/HOWTO/Kernel-HOWTO.html"/> may also be of
interest to you.</para>
<para>Install the modules:</para>
@@ -98,7 +105,7 @@ using. Issue the following command to install the kernel:</para>
<screen><userinput>cp arch/i386/boot/bzImage /boot/lfskernel</userinput></screen>
<para><filename>System.map</filename> is a symbol file for the kernel. It maps
-the function entrypoints of every function in the kernel API, as well as the
+the function entry points of every function in the kernel API (Application Programming Interface), as well as the
addresses of the kernel data structures for the running kernel. Issue the
following command to install the map file:</para>
@@ -123,12 +130,43 @@ person would have write access to the kernel source.</para>
<para>If you are going to keep the kernel source tree around, you may want to
run <userinput>chown -R 0:0</userinput> on the
-<filename>linux-&kernel-version;</filename> directory to ensure all files are
+<filename>linux-2.4.25</filename> directory to ensure all files are
owned by user <emphasis>root</emphasis>.</para>
</sect2>
-&aa-kernel-shortdesc;
-&aa-kernel-desc;
+
+<sect2 id="contents-kernel"><title>Contents of Linux</title>
+
+<para><emphasis>Installed files</emphasis>: the kernel, the kernel headers,
+and the System.map</para>
+
+</sect2>
+
+<sect2><title>Short descriptions</title>
+
+<indexterm zone="ch-bootable-kernel kernel"><primary sortas="b-kernel">kernel</primary></indexterm>
+<para id="kernel">The <emphasis>kernel</emphasis> is the engine of your GNU/Linux system.
+When switching on your box, the kernel is the first part of your operating
+system that gets loaded. It detects and initializes all the components of your
+computer's hardware, then makes these components available as a tree of files
+to the software, and turns a single CPU into a multi-tasking machine capable
+of running scores of programs seemingly at the same time.</para>
+
+<indexterm zone="ch-bootable-kernel kernel-headers"><primary sortas="e-kernel-headers">kernel headers</primary></indexterm>
+<para id="kernel-headers">The <emphasis>kernel headers</emphasis> define the interface to the
+services that the kernel provides. The headers in your system's
+<filename>include</filename> directory should <emphasis>always</emphasis> be
+the ones against which Glibc was compiled and should therefore
+<emphasis>not</emphasis> be replaced when upgrading the kernel.</para>
+
+<indexterm zone="ch-bootable-kernel System.map"><primary sortas="e-/boot/System.map">/boot/System.map</primary></indexterm>
+<para id="System.map">The <filename>System.map</filename> file is a list of addresses and
+symbols. It maps the entry points and addresses of all the functions and data
+structures in the kernel.</para>
+
+</sect2>
+
+
</sect1>
diff --git a/chapter09/chapter09.xml b/chapter09/chapter09.xml
index 10af4f606..0469ef29e 100644
--- a/chapter09/chapter09.xml
+++ b/chapter09/chapter09.xml
@@ -1,11 +1,22 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<chapter id="chapter-finalizing" xreflabel="Chapter 9">
+<?dbhtml dir="chapter09"?>
<title>The End</title>
-<?dbhtml filename="chapter09.html" dir="chapter09"?>
+<?dbhtml filename="chapter09.html"?>
-&c9-theend;
-&c9-getcounted;
-&c9-reboot;
-&c9-whatnow;
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="theend.xml"/>
-</chapter>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="getcounted.xml"/>
+
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="reboot.xml"/>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="whatnow.xml"/>
+
+
+</chapter>
diff --git a/chapter09/getcounted.xml b/chapter09/getcounted.xml
index 8b053b1d0..4eeaa7b74 100644
--- a/chapter09/getcounted.xml
+++ b/chapter09/getcounted.xml
@@ -1,14 +1,18 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-finish-getcounted">
<title>Get Counted</title>
-<?dbhtml filename="getcounted.html" dir="chapter09"?>
+<?dbhtml filename="getcounted.html"?>
<para>Want to be counted as an LFS user now that you have finished the
book? Head over
-to <ulink url="http://linuxfromscratch.org/cgi-bin/lfscounter.cgi"/> and
+to <ulink url="&lfs-root;cgi-bin/lfscounter.cgi"/> and
register as an LFS user by entering your name and the first LFS version
you have used.</para>
<para>Let's reboot into LFS now...</para>
</sect1>
-
diff --git a/chapter09/reboot.xml b/chapter09/reboot.xml
index 99bca049e..6607a71e3 100644
--- a/chapter09/reboot.xml
+++ b/chapter09/reboot.xml
@@ -1,6 +1,11 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-finish-reboot">
<title>Rebooting the system</title>
-<?dbhtml filename="reboot.html" dir="chapter09"?>
+<?dbhtml filename="reboot.html"?>
<para>Now that all of the software has been installed, it is time to reboot
your computer. First exit from the chroot environment:</para>
diff --git a/chapter09/theend.xml b/chapter09/theend.xml
index e154f0513..c29cc6f8a 100644
--- a/chapter09/theend.xml
+++ b/chapter09/theend.xml
@@ -1,6 +1,13 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-finish-theend">
<title>The End</title>
-<?dbhtml filename="theend.html" dir="chapter09"?>
+<?dbhtml filename="theend.html"?>
+
+<indexterm zone="ch-finish-theend"><primary sortas="e-/etc/lfs-release">/etc/lfs-release</primary></indexterm>
<para>Well done! You have finished installing your LFS system. It may have
been a long process, but we hope it was worth it. We wish you a lot of fun
@@ -14,4 +21,3 @@ you have installed on your system. Create this file by running:</para>
<screen><userinput>echo &version; &gt; /etc/lfs-release</userinput></screen>
</sect1>
-
diff --git a/chapter09/whatnow.xml b/chapter09/whatnow.xml
index 4fdae39cc..4bc76c04a 100644
--- a/chapter09/whatnow.xml
+++ b/chapter09/whatnow.xml
@@ -1,44 +1,44 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
<sect1 id="ch-finish-whatnow">
<title>What now?</title>
-<?dbhtml filename="whatnow.html" dir="chapter09"?>
+<?dbhtml filename="whatnow.html"?>
-<para>Thank you for reading the LFS Book. We hope that you've found this book
-useful and worth your time.</para>
+<para>We thank you for reading the LFS Book and hope that you've found this
+book useful and worth your time.</para>
<para>Now that you have finished installing your LFS system, you may be
-wondering what to do next. As an answer to that question we have composed a
-short list of resources:</para>
+wondering <quote>What now?</quote>. To answer that question, we have
+composed a list of resources for you.</para>
<itemizedlist>
<listitem><para>Beyond Linux From Scratch</para>
-<para>If you want extra utilities for your LFS system, there is the Beyond
-Linux From Scratch book for you. It covers the installation procedures of many
-different packages beyond the scope of the LFS book. Among them are
-general libraries, programming languages, graphical desktops, multimedia,
-networking and printing. The BLFS project can be found at
-<ulink url="&blfs-root;"/>.</para></listitem>
+<para>The Beyond Linux From Scratch book covers installation procedures
+for a wide range of software beyond the scope of the LFS Book. The BLFS
+project can be found at <ulink url="&blfs-root;"/>.</para></listitem>
<listitem><para>LFS Hints</para>
-<para>The LFS Hints are a collection of educational documents, often small,
-submitted by volunteers in the LFS community. They cover subjects ranging from
-dependencies to UTF-8 locales, from optimization to uGlibc, and from cloning to
-TZ. The Hints are available at <ulink url="&hints-index;"/>.</para></listitem>
+<para>The LFS Hints are a collection of small, educational documents
+submitted by volunteers in the LFS community. The Hints are available at
+<ulink url="&hints-index;"/>.</para></listitem>
<listitem><para>Mailing lists</para>
-<para>There are several LFS mailing lists you may subscribe to if you want to
-help develop the book further, assist others to build their systems, or are in
-need of help yourself. See <ulink url="&lfs-root;mail.html"/> for more
+<para>There are several LFS mailing lists you may subscribe to if you are
+in need of help. See <xref linkend="ch-scatter-maillists"/> for more
information.</para></listitem>
<listitem><para>The Linux Documentation Project</para>
<para>The goal of the Linux Documentation Project is to collaborate in
all of the issues of Linux documentation. The LDP features a large collection
-of HOWTOs, Guides and man pages, and can be found at
-<ulink url="&tldp-root;"/>.</para></listitem>
+of HOWTOs, Guides and man pages; it may be found at
+<ulink url="http://www.tldp.org/"/>.</para></listitem>
</itemizedlist>
diff --git a/entities/autoconf.ent b/entities/autoconf.ent
deleted file mode 100644
index 36ace418f..000000000
--- a/entities/autoconf.ent
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY c6-autoconf SYSTEM "../chapter06/autoconf.xml">
-
-<!ENTITY aa-autoconf-shortdesc SYSTEM "../appendixa/autoconf-shortdesc.xml">
-<!ENTITY aa-autoconf-desc SYSTEM "../appendixa/autoconf-desc.xml">
-<!ENTITY aa-autoconf-dep SYSTEM "../appendixa/autoconf-dep.xml">
-<!ENTITY aa-autoconf-down SYSTEM "../appendixa/autoconf-down.xml">
-
-<!ENTITY autoconf-version "2.59">
-<!ENTITY autoconf-depversion "2.59">
-<!ENTITY autoconf-contversion "2.59">
-<!ENTITY autoconf-dir "autoconf-&autoconf-version;">
-<!ENTITY autoconf-package "autoconf-&autoconf-version;.tar.bz2">
-<!ENTITY autoconf-size "903 KB">
-
-<!ENTITY autoconf-compsize "7.7 MB">
-<!ENTITY autoconf-time "0.5 SBU">
diff --git a/entities/automake.ent b/entities/automake.ent
deleted file mode 100644
index c37d57246..000000000
--- a/entities/automake.ent
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY c6-automake SYSTEM "../chapter06/automake.xml">
-
-<!ENTITY aa-automake-shortdesc SYSTEM "../appendixa/automake-shortdesc.xml">
-<!ENTITY aa-automake-desc SYSTEM "../appendixa/automake-desc.xml">
-<!ENTITY aa-automake-dep SYSTEM "../appendixa/automake-dep.xml">
-<!ENTITY aa-automake-down SYSTEM "../appendixa/automake-down.xml">
-
-<!ENTITY automake-version "1.8.2">
-<!ENTITY automake-depversion "1.8.2">
-<!ENTITY automake-contversion "1.8.2">
-<!ENTITY automake-dir "automake-&automake-version;">
-<!ENTITY automake-package "automake-&automake-version;.tar.bz2">
-<!ENTITY automake-size "623 KB">
-
-<!ENTITY automake-compsize "6.8 MB">
-<!ENTITY automake-time "0.2 SBU">
diff --git a/entities/bash.ent b/entities/bash.ent
deleted file mode 100644
index 81cdb8739..000000000
--- a/entities/bash.ent
+++ /dev/null
@@ -1,24 +0,0 @@
-<!ENTITY c5-bash SYSTEM "../chapter05/bash.xml">
-
-<!ENTITY c6-bash SYSTEM "../chapter06/bash.xml">
-
-<!ENTITY aa-bash-shortdesc SYSTEM "../appendixa/bash-shortdesc.xml">
-<!ENTITY aa-bash-desc SYSTEM "../appendixa/bash-desc.xml">
-<!ENTITY aa-bash-dep SYSTEM "../appendixa/bash-dep.xml">
-<!ENTITY aa-bash-down SYSTEM "../appendixa/bash-down.xml">
-
-<!ENTITY bash-version "2.05b">
-<!ENTITY bash-depversion "2.05a">
-<!ENTITY bash-contversion "2.05b">
-<!ENTITY bash-dir "bash-&bash-version;">
-<!ENTITY bash-package "bash-&bash-version;.tar.gz">
-<!ENTITY bash-size "1,910 KB">
-
-<!ENTITY bash-patch "bash-&bash-version;-2.patch">
-<!ENTITY bash-patch-size "7 KB">
-
-<!ENTITY bash-compsize-tools "27 MB">
-<!ENTITY bash-time-tools "1.2 SBU">
-
-<!ENTITY bash-compsize "27 MB">
-<!ENTITY bash-time "1.2 SBU">
diff --git a/entities/binutils.ent b/entities/binutils.ent
deleted file mode 100644
index 3eb4f12a0..000000000
--- a/entities/binutils.ent
+++ /dev/null
@@ -1,25 +0,0 @@
-<!ENTITY c5-binutils-pass1 SYSTEM "../chapter05/binutils-pass1.xml">
-<!ENTITY c5-binutils-pass2 SYSTEM "../chapter05/binutils-pass2.xml">
-
-<!ENTITY c6-binutils SYSTEM "../chapter06/binutils.xml">
-
-<!ENTITY aa-binutils-shortdesc SYSTEM "../appendixa/binutils-shortdesc.xml">
-<!ENTITY aa-binutils-desc SYSTEM "../appendixa/binutils-desc.xml">
-<!ENTITY aa-binutils-dep SYSTEM "../appendixa/binutils-dep.xml">
-<!ENTITY aa-binutils-down SYSTEM "../appendixa/binutils-down.xml">
-
-<!ENTITY binutils-version "2.14">
-<!ENTITY binutils-depversion "2.11.2">
-<!ENTITY binutils-contversion "2.14">
-<!ENTITY binutils-dir "binutils-&binutils-version;">
-<!ENTITY binutils-package "binutils-&binutils-version;.tar.bz2">
-<!ENTITY binutils-size "10,666 KB">
-
-<!ENTITY binutils-compsize-tools-pass1 "194 MB">
-<!ENTITY binutils-time-tools-pass1 "1.0 SBU">
-
-<!ENTITY binutils-compsize-tools-pass2 "108 MB">
-<!ENTITY binutils-time-tools-pass2 "1.5 SBU">
-
-<!ENTITY binutils-compsize "167 MB">
-<!ENTITY binutils-time "1.4 SBU">
diff --git a/entities/bison.ent b/entities/bison.ent
deleted file mode 100644
index 5dc0a4a10..000000000
--- a/entities/bison.ent
+++ /dev/null
@@ -1,19 +0,0 @@
-<!ENTITY c6-bison SYSTEM "../chapter06/bison.xml">
-
-<!ENTITY aa-bison-shortdesc SYSTEM "../appendixa/bison-shortdesc.xml">
-<!ENTITY aa-bison-desc SYSTEM "../appendixa/bison-desc.xml">
-<!ENTITY aa-bison-dep SYSTEM "../appendixa/bison-dep.xml">
-<!ENTITY aa-bison-down SYSTEM "../appendixa/bison-down.xml">
-
-<!ENTITY bison-version "1.875">
-<!ENTITY bison-depversion "1.31">
-<!ENTITY bison-contversion "1.875">
-<!ENTITY bison-dir "bison-&bison-version;">
-<!ENTITY bison-package "bison-&bison-version;.tar.bz2">
-<!ENTITY bison-size "796 KB">
-
-<!ENTITY bison-patch "bison-&bison-version;-attribute.patch">
-<!ENTITY bison-patch-size "2 KB">
-
-<!ENTITY bison-compsize "10.6 MB">
-<!ENTITY bison-time "0.6 SBU">
diff --git a/entities/book-structure.xml b/entities/book-structure.xml
deleted file mode 100644
index 7b1d8fd01..000000000
--- a/entities/book-structure.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<!ENTITY preface SYSTEM "../preface/preface.xml">
-<!ENTITY pf-foreword SYSTEM "../preface/foreword.xml">
-<!ENTITY pf-audience SYSTEM "../preface/audience.xml">
-<!ENTITY pf-prerequisites SYSTEM "../preface/prerequisites.xml">
-<!ENTITY pf-typography SYSTEM "../preface/typography.xml">
-<!ENTITY pf-acknowledgements SYSTEM "../preface/acknowledgements.xml">
-<!ENTITY pf-organization SYSTEM "../preface/organization.xml">
-
-<!ENTITY chapter01 SYSTEM "../chapter01/chapter01.xml">
-<!ENTITY c1-how SYSTEM "../chapter01/how.xml">
-<!ENTITY c1-changelog SYSTEM "../chapter01/changelog.xml">
-<!ENTITY c1-resources SYSTEM "../chapter01/contactinfo.xml">
-<!ENTITY c1-askforhelp SYSTEM "../chapter01/askforhelp.xml">
-
-<!ENTITY chapter02 SYSTEM "../chapter02/chapter02.xml">
-
-<!ENTITY chapter03 SYSTEM "../chapter03/chapter03.xml">
-
-<!ENTITY chapter04 SYSTEM "../chapter04/chapter04.xml">
-
-<!ENTITY chapter05 SYSTEM "../chapter05/chapter05.xml">
-
-<!ENTITY chapter06 SYSTEM "../chapter06/chapter06.xml">
-
-<!ENTITY chapter07 SYSTEM "../chapter07/chapter07.xml">
-<!ENTITY c7-usage SYSTEM "../chapter07/usage.xml">
-<!ENTITY c7-setclock SYSTEM "../chapter07/setclock.xml">
-<!ENTITY c7-loadkeys SYSTEM "../chapter07/loadkeys.xml">
-<!ENTITY c7-hostname SYSTEM "../chapter07/hostname.xml">
-<!ENTITY c7-hosts SYSTEM "../chapter07/hosts.xml">
-<!ENTITY c7-network SYSTEM "../chapter07/network.xml">
-
-<!ENTITY chapter08 SYSTEM "../chapter08/chapter08.xml">
-<!ENTITY c8-introduction SYSTEM "../chapter08/introduction.xml">
-<!ENTITY c8-fstab SYSTEM "../chapter08/fstab.xml">
-<!ENTITY c8-grub-conf SYSTEM "../chapter08/grub.xml">
-
-<!ENTITY chapter09 SYSTEM "../chapter09/chapter09.xml">
-<!ENTITY c9-theend SYSTEM "../chapter09/theend.xml">
-<!ENTITY c9-getcounted SYSTEM "../chapter09/getcounted.xml">
-<!ENTITY c9-reboot SYSTEM "../chapter09/reboot.xml">
-<!ENTITY c9-whatnow SYSTEM "../chapter09/whatnow.xml">
-
-<!ENTITY appendixa SYSTEM "../appendixa/appendixa.xml">
-
-<!ENTITY appendixb SYSTEM "../appendixb/appendixb.xml">
diff --git a/entities/bootscripts.ent b/entities/bootscripts.ent
deleted file mode 100644
index 54aeee96d..000000000
--- a/entities/bootscripts.ent
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY bootscripts SYSTEM "../chapter07/bootscripts.xml">
-
-<!ENTITY bootscripts-shortdesc SYSTEM "../appendixa/bootscripts-shortdesc.xml">
-<!ENTITY bootscripts-desc SYSTEM "../appendixa/bootscripts-desc.xml">
-<!ENTITY bootscripts-dep SYSTEM "../appendixa/bootscripts-dep.xml">
-<!ENTITY bootscripts-down SYSTEM "../appendixa/bootscripts-down.xml">
-
-<!ENTITY bootscripts-version "1.12">
-<!ENTITY bootscripts-depversion "1.12">
-<!ENTITY bootscripts-contversion "1.12">
-<!ENTITY bootscripts-dir "lfs-bootscritps-&bootscripts-version;">
-<!ENTITY bootscripts-package "lfs-bootscripts-&bootscripts-version;.tar.bz2">
-<!ENTITY bootscripts-size "25 KB">
-
-<!ENTITY bootscripts-compsize "0.3 MB">
-<!ENTITY bootscripts-time "0.1 SBU">
diff --git a/entities/bzip2.ent b/entities/bzip2.ent
deleted file mode 100644
index c2200820c..000000000
--- a/entities/bzip2.ent
+++ /dev/null
@@ -1,21 +0,0 @@
-<!ENTITY c5-bzip2 SYSTEM "../chapter05/bzip2.xml">
-
-<!ENTITY c6-bzip2 SYSTEM "../chapter06/bzip2.xml">
-
-<!ENTITY aa-bzip2-shortdesc SYSTEM "../appendixa/bzip2-shortdesc.xml">
-<!ENTITY aa-bzip2-desc SYSTEM "../appendixa/bzip2-desc.xml">
-<!ENTITY aa-bzip2-dep SYSTEM "../appendixa/bzip2-dep.xml">
-<!ENTITY aa-bzip2-down SYSTEM "../appendixa/bzip2-down.xml">
-
-<!ENTITY bzip2-version "1.0.2">
-<!ENTITY bzip2-depversion "1.0.1">
-<!ENTITY bzip2-contversion "1.0.2">
-<!ENTITY bzip2-dir "bzip2-&bzip2-version;">
-<!ENTITY bzip2-package "bzip2-&bzip2-version;.tar.gz">
-<!ENTITY bzip2-size "650 KB">
-
-<!ENTITY bzip2-compsize-tools "2.5 MB">
-<!ENTITY bzip2-time-tools "0.1 SBU">
-
-<!ENTITY bzip2-compsize "3.0 MB">
-<!ENTITY bzip2-time "0.1 SBU">
diff --git a/entities/coreutils.ent b/entities/coreutils.ent
deleted file mode 100644
index 18288839c..000000000
--- a/entities/coreutils.ent
+++ /dev/null
@@ -1,28 +0,0 @@
-<!ENTITY c5-coreutils SYSTEM "../chapter05/coreutils.xml">
-
-<!ENTITY c6-coreutils SYSTEM "../chapter06/coreutils.xml">
-
-<!ENTITY aa-coreutils-shortdesc SYSTEM "../appendixa/coreutils-shortdesc.xml">
-<!ENTITY aa-coreutils-desc SYSTEM "../appendixa/coreutils-desc.xml">
-<!ENTITY aa-coreutils-dep SYSTEM "../appendixa/coreutils-dep.xml">
-<!ENTITY aa-coreutils-down SYSTEM "../appendixa/coreutils-down.xml">
-
-<!ENTITY coreutils-version "5.0">
-<!ENTITY coreutils-depversion "">
-<!ENTITY coreutils-contversion "5.0">
-<!ENTITY coreutils-dir "coreutils-&coreutils-version;">
-<!ENTITY coreutils-package "coreutils-&coreutils-version;.tar.bz2">
-<!ENTITY coreutils-size "3,860 KB">
-
-<!ENTITY coreutils-uname-patch "coreutils-&coreutils-version;-uname.patch">
-<!ENTITY coreutils-uname-patch-size "1 KB">
-<!ENTITY coreutils-hostname-patch "coreutils-&coreutils-version;-hostname-2.patch">
-<!ENTITY coreutils-hostname-patch-size "1 KB">
-<!ENTITY coreutils-posixver-patch "coreutils-&coreutils-version;-posixver-2.patch">
-<!ENTITY coreutils-posixver-patch-size "1 KB">
-
-<!ENTITY coreutils-compsize-tools "69 MB">
-<!ENTITY coreutils-time-tools "0.9 SBU">
-
-<!ENTITY coreutils-compsize "69 MB">
-<!ENTITY coreutils-time "0.9 SBU">
diff --git a/entities/dejagnu.ent b/entities/dejagnu.ent
deleted file mode 100644
index 563e995d3..000000000
--- a/entities/dejagnu.ent
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY c5-dejagnu SYSTEM "../chapter05/dejagnu.xml">
-
-<!ENTITY aa-dejagnu-shortdesc SYSTEM "../appendixa/dejagnu-shortdesc.xml">
-<!ENTITY aa-dejagnu-desc SYSTEM "../appendixa/dejagnu-desc.xml">
-<!ENTITY aa-dejagnu-dep SYSTEM "../appendixa/dejagnu-dep.xml">
-<!ENTITY aa-dejagnu-down SYSTEM "../appendixa/dejagnu-down.xml">
-
-<!ENTITY dejagnu-version "1.4.4">
-<!ENTITY dejagnu-depversion "1.4.3">
-<!ENTITY dejagnu-contversion "1.4.3">
-<!ENTITY dejagnu-dir "dejagnu-&dejagnu-version;">
-<!ENTITY dejagnu-package "dejagnu-&dejagnu-version;.tar.gz">
-<!ENTITY dejagnu-size "1,055 KB">
-
-<!ENTITY dejagnu-compsize-tools "8.6 MB">
-<!ENTITY dejagnu-time-tools "0.1 SBU">
diff --git a/entities/diffutils.ent b/entities/diffutils.ent
deleted file mode 100644
index 88b35c0d8..000000000
--- a/entities/diffutils.ent
+++ /dev/null
@@ -1,21 +0,0 @@
-<!ENTITY c5-diffutils SYSTEM "../chapter05/diffutils.xml">
-
-<!ENTITY c6-diffutils SYSTEM "../chapter06/diffutils.xml">
-
-<!ENTITY aa-diffutils-shortdesc SYSTEM "../appendixa/diffutils-shortdesc.xml">
-<!ENTITY aa-diffutils-desc SYSTEM "../appendixa/diffutils-desc.xml">
-<!ENTITY aa-diffutils-dep SYSTEM "../appendixa/diffutils-dep.xml">
-<!ENTITY aa-diffutils-down SYSTEM "../appendixa/diffutils-down.xml">
-
-<!ENTITY diffutils-version "2.8.1">
-<!ENTITY diffutils-depversion "2.7">
-<!ENTITY diffutils-contversion "2.8.1">
-<!ENTITY diffutils-dir "diffutils-&diffutils-version;">
-<!ENTITY diffutils-package "diffutils-&diffutils-version;.tar.gz">
-<!ENTITY diffutils-size "762 KB">
-
-<!ENTITY diffutils-compsize-tools "7.5 MB">
-<!ENTITY diffutils-time-tools "0.1 SBU">
-
-<!ENTITY diffutils-compsize "7.5 MB">
-<!ENTITY diffutils-time "0.1 SBU">
diff --git a/entities/e2fsprogs.ent b/entities/e2fsprogs.ent
deleted file mode 100644
index ef78cd783..000000000
--- a/entities/e2fsprogs.ent
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY c6-e2fsprogs SYSTEM "../chapter06/e2fsprogs.xml">
-
-<!ENTITY aa-e2fsprogs-shortdesc SYSTEM "../appendixa/e2fsprogs-shortdesc.xml">
-<!ENTITY aa-e2fsprogs-desc SYSTEM "../appendixa/e2fsprogs-desc.xml">
-<!ENTITY aa-e2fsprogs-dep SYSTEM "../appendixa/e2fsprogs-dep.xml">
-<!ENTITY aa-e2fsprogs-down SYSTEM "../appendixa/e2fsprogs-down.xml">
-
-<!ENTITY e2fsprogs-version "1.34">
-<!ENTITY e2fsprogs-depversion "1.25">
-<!ENTITY e2fsprogs-contversion "1.34">
-<!ENTITY e2fsprogs-dir "e2fsprogs-&e2fsprogs-version;">
-<!ENTITY e2fsprogs-package "e2fsprogs-&e2fsprogs-version;.tar.gz">
-<!ENTITY e2fsprogs-size "3,003 KB">
-
-<!ENTITY e2fsprogs-compsize "48.4 MB">
-<!ENTITY e2fsprogs-time "0.6 SBU">
diff --git a/entities/ed.ent b/entities/ed.ent
deleted file mode 100644
index f296dc926..000000000
--- a/entities/ed.ent
+++ /dev/null
@@ -1,19 +0,0 @@
-<!ENTITY c6-ed SYSTEM "../chapter06/ed.xml">
-
-<!ENTITY aa-ed-shortdesc SYSTEM "../appendixa/ed-shortdesc.xml">
-<!ENTITY aa-ed-desc SYSTEM "../appendixa/ed-desc.xml">
-<!ENTITY aa-ed-dep SYSTEM "../appendixa/ed-dep.xml">
-<!ENTITY aa-ed-down SYSTEM "../appendixa/ed-down.xml">
-
-<!ENTITY ed-version "0.2">
-<!ENTITY ed-depversion "0.2">
-<!ENTITY ed-contversion "0.2">
-<!ENTITY ed-dir "ed-&ed-version;">
-<!ENTITY ed-package "ed-&ed-version;.tar.gz">
-<!ENTITY ed-size "182 KB">
-
-<!ENTITY ed-patch "ed-&ed-version;-mkstemp.patch">
-<!ENTITY ed-patch-size "1 KB">
-
-<!ENTITY ed-compsize "3.1 MB">
-<!ENTITY ed-time "0.1 SBU">
diff --git a/entities/expect.ent b/entities/expect.ent
deleted file mode 100644
index b07da017f..000000000
--- a/entities/expect.ent
+++ /dev/null
@@ -1,19 +0,0 @@
-<!ENTITY c5-expect SYSTEM "../chapter05/expect.xml">
-
-<!ENTITY aa-expect-shortdesc SYSTEM "../appendixa/expect-shortdesc.xml">
-<!ENTITY aa-expect-desc SYSTEM "../appendixa/expect-desc.xml">
-<!ENTITY aa-expect-dep SYSTEM "../appendixa/expect-dep.xml">
-<!ENTITY aa-expect-down SYSTEM "../appendixa/expect-down.xml">
-
-<!ENTITY expect-version "5.40.0">
-<!ENTITY expect-depversion "5.39.0">
-<!ENTITY expect-contversion "5.39.0">
-<!ENTITY expect-dir "expect-&expect-version;">
-<!ENTITY expect-package "expect-&expect-version;.tar.gz">
-<!ENTITY expect-size "509 KB">
-
-<!ENTITY expect-patch "expect-&expect-version;-spawn.patch">
-<!ENTITY expect-patch-size "6 KB">
-
-<!ENTITY expect-compsize-tools "3.9 MB">
-<!ENTITY expect-time-tools "0.1 SBU">
diff --git a/entities/file.ent b/entities/file.ent
deleted file mode 100644
index b42b88f15..000000000
--- a/entities/file.ent
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY c6-file SYSTEM "../chapter06/file.xml">
-
-<!ENTITY aa-file-shortdesc SYSTEM "../appendixa/file-shortdesc.xml">
-<!ENTITY aa-file-desc SYSTEM "../appendixa/file-desc.xml">
-<!ENTITY aa-file-dep SYSTEM "../appendixa/file-dep.xml">
-<!ENTITY aa-file-down SYSTEM "../appendixa/file-down.xml">
-
-<!ENTITY file-version "4.07">
-<!ENTITY file-depversion "4.07">
-<!ENTITY file-contversion "4.07">
-<!ENTITY file-dir "file-&file-version;">
-<!ENTITY file-package "file-&file-version;.tar.gz">
-<!ENTITY file-size "347 KB">
-
-<!ENTITY file-compsize "6.3 MB">
-<!ENTITY file-time "0.1 SBU">
diff --git a/entities/findutils.ent b/entities/findutils.ent
deleted file mode 100644
index 9668aa060..000000000
--- a/entities/findutils.ent
+++ /dev/null
@@ -1,21 +0,0 @@
-<!ENTITY c5-findutils SYSTEM "../chapter05/findutils.xml">
-
-<!ENTITY c6-findutils SYSTEM "../chapter06/findutils.xml">
-
-<!ENTITY aa-findutils-shortdesc SYSTEM "../appendixa/findutils-shortdesc.xml">
-<!ENTITY aa-findutils-desc SYSTEM "../appendixa/findutils-desc.xml">
-<!ENTITY aa-findutils-dep SYSTEM "../appendixa/findutils-dep.xml">
-<!ENTITY aa-findutils-down SYSTEM "../appendixa/findutils-down.xml">
-
-<!ENTITY findutils-version "4.1.20">
-<!ENTITY findutils-depversion "4.1">
-<!ENTITY findutils-contversion "4.1.20">
-<!ENTITY findutils-dir "findutils-&findutils-version;">
-<!ENTITY findutils-package "findutils-&findutils-version;.tar.gz">
-<!ENTITY findutils-size "760 KB">
-
-<!ENTITY findutils-compsize-tools "7.6 MB">
-<!ENTITY findutils-time-tools "0.2 SBU">
-
-<!ENTITY findutils-compsize "7.5 MB">
-<!ENTITY findutils-time "0.2 SBU">
diff --git a/entities/flex.ent b/entities/flex.ent
deleted file mode 100644
index 430ede45d..000000000
--- a/entities/flex.ent
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY c6-flex SYSTEM "../chapter06/flex.xml">
-
-<!ENTITY aa-flex-shortdesc SYSTEM "../appendixa/flex-shortdesc.xml">
-<!ENTITY aa-flex-desc SYSTEM "../appendixa/flex-desc.xml">
-<!ENTITY aa-flex-dep SYSTEM "../appendixa/flex-dep.xml">
-<!ENTITY aa-flex-down SYSTEM "../appendixa/flex-down.xml">
-
-<!ENTITY flex-version "2.5.4a">
-<!ENTITY flex-depversion "2.5.4a">
-<!ENTITY flex-contversion "2.5.4a">
-<!ENTITY flex-dir "flex-&flex-version;">
-<!ENTITY flex-package "flex-&flex-version;.tar.gz">
-<!ENTITY flex-size "372 KB">
-
-<!ENTITY flex-compsize "3.4 MB">
-<!ENTITY flex-time "0.1 SBU">
diff --git a/entities/gawk.ent b/entities/gawk.ent
deleted file mode 100644
index 1208b4908..000000000
--- a/entities/gawk.ent
+++ /dev/null
@@ -1,21 +0,0 @@
-<!ENTITY c5-gawk SYSTEM "../chapter05/gawk.xml">
-
-<!ENTITY c6-gawk SYSTEM "../chapter06/gawk.xml">
-
-<!ENTITY aa-gawk-shortdesc SYSTEM "../appendixa/gawk-shortdesc.xml">
-<!ENTITY aa-gawk-desc SYSTEM "../appendixa/gawk-desc.xml">
-<!ENTITY aa-gawk-dep SYSTEM "../appendixa/gawk-dep.xml">
-<!ENTITY aa-gawk-down SYSTEM "../appendixa/gawk-down.xml">
-
-<!ENTITY gawk-version "3.1.3">
-<!ENTITY gawk-depversion "3.1.0">
-<!ENTITY gawk-contversion "3.1.3">
-<!ENTITY gawk-dir "gawk-&gawk-version;">
-<!ENTITY gawk-package "gawk-&gawk-version;.tar.bz2">
-<!ENTITY gawk-size "1,596 KB">
-
-<!ENTITY gawk-compsize-tools "17 MB">
-<!ENTITY gawk-time-tools "0.2 SBU">
-
-<!ENTITY gawk-compsize "17 MB">
-<!ENTITY gawk-time "0.2 SBU">
diff --git a/entities/gcc-2953.ent b/entities/gcc-2953.ent
deleted file mode 100644
index 8aecd6cff..000000000
--- a/entities/gcc-2953.ent
+++ /dev/null
@@ -1,23 +0,0 @@
-<!ENTITY c6-gcc-2953 SYSTEM "../chapter06/gcc-2953.xml">
-
-<!ENTITY aa-gcc-shortdesc SYSTEM "../appendixa/gcc-shortdesc.xml">
-<!ENTITY aa-gcc-desc SYSTEM "../appendixa/gcc-desc.xml">
-<!ENTITY aa-gcc-dep SYSTEM "../appendixa/gcc-dep.xml">
-<!ENTITY aa-gcc-down SYSTEM "../appendixa/gcc-down.xml">
-
-<!ENTITY gcc-2953-version "2.95.3">
-<!ENTITY gcc-2953-depversion "2.95.3">
-<!ENTITY gcc-2953-contversion "2.95.3">
-<!ENTITY gcc-2953-dir "gcc-&gcc-2953-version;">
-<!ENTITY gcc-2953-package "gcc-&gcc-2953-version;.tar.gz">
-<!ENTITY gcc-2953-size "9,618 KB">
-
-<!ENTITY gcc-2953-patch "gcc-&gcc-2953-version;-2.patch">
-<!ENTITY gcc-2953-patch-size "16 KB">
-<!ENTITY gcc-2953-no-fixinc-patch "gcc-&gcc-2953-version;-no-fixinc.patch">
-<!ENTITY gcc-2953-no-fixinc-patch-size "1 KB">
-<!ENTITY gcc-2953-returntype-fix-patch "gcc-&gcc-2953-version;-returntype-fix.patch">
-<!ENTITY gcc-2953-returntype-fix-patch-size "1 KB">
-
-<!ENTITY gcc-2953-compsize "130 MB">
-<!ENTITY gcc-2953-time "1.5 SBU">
diff --git a/entities/gcc.ent b/entities/gcc.ent
deleted file mode 100644
index 67861dc77..000000000
--- a/entities/gcc.ent
+++ /dev/null
@@ -1,34 +0,0 @@
-<!ENTITY c5-gcc-pass1 SYSTEM "../chapter05/gcc-pass1.xml">
-<!ENTITY c5-gcc-pass2 SYSTEM "../chapter05/gcc-pass2.xml">
-
-<!ENTITY c6-gcc SYSTEM "../chapter06/gcc.xml">
-
-<!ENTITY aa-gcc-shortdesc SYSTEM "../appendixa/gcc-shortdesc.xml">
-<!ENTITY aa-gcc-desc SYSTEM "../appendixa/gcc-desc.xml">
-<!ENTITY aa-gcc-dep SYSTEM "../appendixa/gcc-dep.xml">
-<!ENTITY aa-gcc-down SYSTEM "../appendixa/gcc-down.xml">
-
-<!ENTITY gcc-version "3.3.2">
-<!ENTITY gcc-depversion "2.95.3">
-<!ENTITY gcc-contversion "3.3.1">
-<!ENTITY gcc-dir "gcc-&gcc-version;">
-<!ENTITY gcc-core-package "gcc-core-&gcc-version;.tar.bz2">
-<!ENTITY gcc-gpp-package "gcc-g++-&gcc-version;.tar.bz2">
-<!ENTITY gcc-testsuite-package "gcc-testsuite-&gcc-version;.tar.bz2">
-<!ENTITY gcc-core-size "10,994 KB">
-<!ENTITY gcc-gpp-size "2,019 KB">
-<!ENTITY gcc-testsuite-size "1,042 KB">
-
-<!ENTITY gcc-nofixincludes-patch "gcc-&gcc-version;-no_fixincludes-1.patch">
-<!ENTITY gcc-nofixincludes-patch-size "1 KB">
-<!ENTITY gcc-specs-patch "gcc-&gcc-version;-specs-1.patch">
-<!ENTITY gcc-specs-patch-size "11 KB">
-
-<!ENTITY gcc-compsize-tools-pass1 "300 MB">
-<!ENTITY gcc-time-tools-pass1 "4.4 SBU">
-
-<!ENTITY gcc-compsize-tools-pass2 "274 MB">
-<!ENTITY gcc-time-tools-pass2 "11.0 SBU">
-
-<!ENTITY gcc-compsize "294 MB">
-<!ENTITY gcc-time "11.7 SBU">
diff --git a/entities/gettext.ent b/entities/gettext.ent
deleted file mode 100644
index d0706b648..000000000
--- a/entities/gettext.ent
+++ /dev/null
@@ -1,21 +0,0 @@
-<!ENTITY c5-gettext SYSTEM "../chapter05/gettext.xml">
-
-<!ENTITY c6-gettext SYSTEM "../chapter06/gettext.xml">
-
-<!ENTITY aa-gettext-shortdesc SYSTEM "../appendixa/gettext-shortdesc.xml">
-<!ENTITY aa-gettext-desc SYSTEM "../appendixa/gettext-desc.xml">
-<!ENTITY aa-gettext-dep SYSTEM "../appendixa/gettext-dep.xml">
-<!ENTITY aa-gettext-down SYSTEM "../appendixa/gettext-down.xml">
-
-<!ENTITY gettext-version "0.14.1">
-<!ENTITY gettext-depversion "0.13.1">
-<!ENTITY gettext-contversion "0.13.1">
-<!ENTITY gettext-dir "gettext-&gettext-version;">
-<!ENTITY gettext-package "gettext-&gettext-version;.tar.gz">
-<!ENTITY gettext-size "6,397 KB">
-
-<!ENTITY gettext-compsize-tools "55 MB">
-<!ENTITY gettext-time-tools "0.5 SBU">
-
-<!ENTITY gettext-compsize "55 MB">
-<!ENTITY gettext-time "0.5 SBU">
diff --git a/entities/glibc.ent b/entities/glibc.ent
deleted file mode 100644
index f04324d99..000000000
--- a/entities/glibc.ent
+++ /dev/null
@@ -1,22 +0,0 @@
-<!ENTITY c5-glibc SYSTEM "../chapter05/glibc.xml">
-
-<!ENTITY c6-glibc SYSTEM "../chapter06/glibc.xml">
-
-<!ENTITY aa-glibc-shortdesc SYSTEM "../appendixa/glibc-shortdesc.xml">
-<!ENTITY aa-glibc-desc SYSTEM "../appendixa/glibc-desc.xml">
-<!ENTITY aa-glibc-dep SYSTEM "../appendixa/glibc-dep.xml">
-<!ENTITY aa-glibc-down SYSTEM "../appendixa/glibc-down.xml">
-
-<!ENTITY glibc-version "2.3.3">
-<!ENTITY glibc-depversion "2.3.3">
-<!ENTITY glibc-contversion "2.3.3">
-<!ENTITY glibc-cvsversion "20031202">
-<!ENTITY glibc-dir "glibc-&glibc-version;-&glibc-cvsversion;">
-<!ENTITY glibc-package "glibc-&glibc-version;-&glibc-cvsversion;.tar.bz2">
-<!ENTITY glibc-size "13,101 KB">
-
-<!ENTITY glibc-compsize-tools "800 MB">
-<!ENTITY glibc-time-tools "11.8 SBU">
-
-<!ENTITY glibc-compsize "784 MB">
-<!ENTITY glibc-time "12.3 SBU">
diff --git a/entities/grep.ent b/entities/grep.ent
deleted file mode 100644
index 9dfc99de3..000000000
--- a/entities/grep.ent
+++ /dev/null
@@ -1,21 +0,0 @@
-<!ENTITY c5-grep SYSTEM "../chapter05/grep.xml">
-
-<!ENTITY c6-grep SYSTEM "../chapter06/grep.xml">
-
-<!ENTITY aa-grep-shortdesc SYSTEM "../appendixa/grep-shortdesc.xml">
-<!ENTITY aa-grep-desc SYSTEM "../appendixa/grep-desc.xml">
-<!ENTITY aa-grep-dep SYSTEM "../appendixa/grep-dep.xml">
-<!ENTITY aa-grep-down SYSTEM "../appendixa/grep-down.xml">
-
-<!ENTITY grep-version "2.5.1">
-<!ENTITY grep-depversion "2.4.2">
-<!ENTITY grep-contversion "2.5.1">
-<!ENTITY grep-dir "grep-&grep-version;">
-<!ENTITY grep-package "grep-&grep-version;.tar.bz2">
-<!ENTITY grep-size "545 KB">
-
-<!ENTITY grep-compsize-tools "5.8 MB">
-<!ENTITY grep-time-tools "0.1 SBU">
-
-<!ENTITY grep-compsize "5.8 MB">
-<!ENTITY grep-time "0.1 SBU">
diff --git a/entities/groff.ent b/entities/groff.ent
deleted file mode 100644
index 1468af865..000000000
--- a/entities/groff.ent
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY c6-groff SYSTEM "../chapter06/groff.xml">
-
-<!ENTITY aa-groff-shortdesc SYSTEM "../appendixa/groff-shortdesc.xml">
-<!ENTITY aa-groff-desc SYSTEM "../appendixa/groff-desc.xml">
-<!ENTITY aa-groff-dep SYSTEM "../appendixa/groff-dep.xml">
-<!ENTITY aa-groff-down SYSTEM "../appendixa/groff-down.xml">
-
-<!ENTITY groff-version "1.19">
-<!ENTITY groff-depversion "1.17.2">
-<!ENTITY groff-contversion "1.19">
-<!ENTITY groff-dir "groff-&groff-version;">
-<!ENTITY groff-package "groff-&groff-version;.tar.gz">
-<!ENTITY groff-size "2,360 KB">
-
-<!ENTITY groff-compsize "43 MB">
-<!ENTITY groff-time "0.5 SBU">
diff --git a/entities/grub.ent b/entities/grub.ent
deleted file mode 100644
index 577b19958..000000000
--- a/entities/grub.ent
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY c6-grub SYSTEM "../chapter06/grub.xml">
-
-<!ENTITY aa-grub-shortdesc SYSTEM "../appendixa/grub-shortdesc.xml">
-<!ENTITY aa-grub-desc SYSTEM "../appendixa/grub-desc.xml">
-<!ENTITY aa-grub-dep SYSTEM "../appendixa/grub-dep.xml">
-<!ENTITY aa-grub-down SYSTEM "../appendixa/grub-down.xml">
-
-<!ENTITY grub-version "0.94">
-<!ENTITY grub-depversion "0.93">
-<!ENTITY grub-contversion "0.93">
-<!ENTITY grub-dir "grub-&grub-version;">
-<!ENTITY grub-package "grub-&grub-version;.tar.gz">
-<!ENTITY grub-size "902 KB">
-
-<!ENTITY grub-compsize "10 MB">
-<!ENTITY grub-time "0.2 SBU">
diff --git a/entities/gzip.ent b/entities/gzip.ent
deleted file mode 100644
index 8b0ee1208..000000000
--- a/entities/gzip.ent
+++ /dev/null
@@ -1,21 +0,0 @@
-<!ENTITY c5-gzip SYSTEM "../chapter05/gzip.xml">
-
-<!ENTITY c6-gzip SYSTEM "../chapter06/gzip.xml">
-
-<!ENTITY aa-gzip-shortdesc SYSTEM "../appendixa/gzip-shortdesc.xml">
-<!ENTITY aa-gzip-desc SYSTEM "../appendixa/gzip-desc.xml">
-<!ENTITY aa-gzip-dep SYSTEM "../appendixa/gzip-dep.xml">
-<!ENTITY aa-gzip-down SYSTEM "../appendixa/gzip-down.xml">
-
-<!ENTITY gzip-version "1.3.5">
-<!ENTITY gzip-depversion "1.2.4a">
-<!ENTITY gzip-contversion "1.3.5">
-<!ENTITY gzip-dir "gzip-&gzip-version;">
-<!ENTITY gzip-package "gzip-&gzip-version;.tar.gz">
-<!ENTITY gzip-size "324 KB">
-
-<!ENTITY gzip-compsize-tools "2.6 MB">
-<!ENTITY gzip-time-tools "0.1 SBU">
-
-<!ENTITY gzip-compsize "2.6 MB">
-<!ENTITY gzip-time "0.1 SBU">
diff --git a/entities/inetutils.ent b/entities/inetutils.ent
deleted file mode 100644
index 384f523f8..000000000
--- a/entities/inetutils.ent
+++ /dev/null
@@ -1,19 +0,0 @@
-<!ENTITY c6-inetutils SYSTEM "../chapter06/inetutils.xml">
-
-<!ENTITY aa-inetutils-shortdesc SYSTEM "../appendixa/inetutils-shortdesc.xml">
-<!ENTITY aa-inetutils-desc SYSTEM "../appendixa/inetutils-desc.xml">
-<!ENTITY aa-inetutils-dep SYSTEM "../appendixa/inetutils-dep.xml">
-<!ENTITY aa-inetutils-down SYSTEM "../appendixa/inetutils-down.xml">
-
-<!ENTITY inetutils-version "1.4.2">
-<!ENTITY inetutils-depversion "">
-<!ENTITY inetutils-contversion "1.4.2">
-<!ENTITY inetutils-dir "inetutils-&inetutils-version;">
-<!ENTITY inetutils-package "inetutils-&inetutils-version;.tar.gz">
-<!ENTITY inetutils-size "1,019 KB">
-
-<!ENTITY inetutils-no-server-man-pages-patch "inetutils-&inetutils-version;-no_server_man_pages-1.patch">
-<!ENTITY inetutils-no-server-man-pages-patch-size "4 KB">
-
-<!ENTITY inetutils-compsize "11 MB">
-<!ENTITY inetutils-time "0.2 SBU">
diff --git a/entities/kbd.ent b/entities/kbd.ent
deleted file mode 100644
index 3d0783d6d..000000000
--- a/entities/kbd.ent
+++ /dev/null
@@ -1,19 +0,0 @@
-<!ENTITY c6-kbd SYSTEM "../chapter06/kbd.xml">
-
-<!ENTITY aa-kbd-shortdesc SYSTEM "../appendixa/kbd-shortdesc.xml">
-<!ENTITY aa-kbd-desc SYSTEM "../appendixa/kbd-desc.xml">
-<!ENTITY aa-kbd-dep SYSTEM "../appendixa/kbd-dep.xml">
-<!ENTITY aa-kbd-down SYSTEM "../appendixa/kbd-down.xml">
-
-<!ENTITY kbd-version "1.12">
-<!ENTITY kbd-depversion "1.12">
-<!ENTITY kbd-contversion "1.12">
-<!ENTITY kbd-dir "kbd-&kbd-version;">
-<!ENTITY kbd-package "kbd-&kbd-version;.tar.gz">
-<!ENTITY kbd-size "617 KB">
-
-<!ENTITY kbd-patch "kbd-&kbd-version;-more-programs-1.patch">
-<!ENTITY kbd-patch-size "1 KB">
-
-<!ENTITY kbd-compsize "12 MB">
-<!ENTITY kbd-time "0.1 SBU">
diff --git a/entities/kernel.ent b/entities/kernel.ent
deleted file mode 100644
index d475feb87..000000000
--- a/entities/kernel.ent
+++ /dev/null
@@ -1,25 +0,0 @@
-<!ENTITY c5-kernelheaders SYSTEM "../chapter05/kernelheaders.xml">
-<!ENTITY c5-kernelheaders-inst SYSTEM "../chapter05/kernelheaders-inst.xml">
-
-<!ENTITY c6-kernel-headers SYSTEM "../chapter06/kernel-headers.xml">
-
-<!ENTITY c8-kernel SYSTEM "../chapter08/kernel.xml">
-
-<!ENTITY aa-kernel-shortdesc SYSTEM "../appendixa/kernel-shortdesc.xml">
-<!ENTITY aa-kernel-desc SYSTEM "../appendixa/kernel-desc.xml">
-<!ENTITY aa-kernel-dep SYSTEM "../appendixa/kernel-dep.xml">
-<!ENTITY aa-kernel-down SYSTEM "../appendixa/kernel-down.xml">
-
-<!ENTITY kernel-version "2.4.25">
-<!ENTITY kernel-depversion "2.4.24">
-<!ENTITY kernel-contversion "2.4.24">
-<!ENTITY kernel-dir "linux">
-<!ENTITY kernel-package "linux-&kernel-version;.tar.bz2">
-<!ENTITY kernel-size "29,138 KB">
-
-<!ENTITY kernel-compsize-headers "186 MB">
-<!ENTITY kernel-time-headers "0.1 SBU">
-
-<!ENTITY kernel-compsize "All default options: 181 MB">
-<!ENTITY kernel-time "All default options: 4.20 SBU">
-
diff --git a/entities/less.ent b/entities/less.ent
deleted file mode 100644
index e64f33189..000000000
--- a/entities/less.ent
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY c6-less SYSTEM "../chapter06/less.xml">
-
-<!ENTITY aa-less-shortdesc SYSTEM "../appendixa/less-shortdesc.xml">
-<!ENTITY aa-less-desc SYSTEM "../appendixa/less-desc.xml">
-<!ENTITY aa-less-dep SYSTEM "../appendixa/less-dep.xml">
-<!ENTITY aa-less-down SYSTEM "../appendixa/less-down.xml">
-
-<!ENTITY less-version "382">
-<!ENTITY less-depversion "358">
-<!ENTITY less-contversion "381">
-<!ENTITY less-dir "less-&less-version;">
-<!ENTITY less-package "less-&less-version;.tar.gz">
-<!ENTITY less-size "259 KB">
-
-<!ENTITY less-compsize "3.4 MB">
-<!ENTITY less-time "0.1 SBU">
diff --git a/entities/lfs-utils.ent b/entities/lfs-utils.ent
deleted file mode 100644
index e7e16007b..000000000
--- a/entities/lfs-utils.ent
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY c6-lfs-utils SYSTEM "../chapter06/lfs-utils.xml">
-
-<!ENTITY aa-lfs-utils-shortdesc SYSTEM "../appendixa/lfs-utils-shortdesc.xml">
-<!ENTITY aa-lfs-utils-desc SYSTEM "../appendixa/lfs-utils-desc.xml">
-<!ENTITY aa-lfs-utils-dep SYSTEM "../appendixa/lfs-utils-dep.xml">
-<!ENTITY aa-lfs-utils-down SYSTEM "../appendixa/lfs-utils-down.xml">
-
-<!ENTITY lfs-utils-version "0.5">
-<!ENTITY lfs-utils-depversion "">
-<!ENTITY lfs-utils-contversion "0.5">
-<!ENTITY lfs-utils-dir "lfs-utils-&lfs-utils-version;">
-<!ENTITY lfs-utils-package "lfs-utils-&lfs-utils-version;.tar.bz2">
-<!ENTITY lfs-utils-size "221 KB">
-
-<!ENTITY lfs-utils-compsize "1.1 MB">
-<!ENTITY lfs-utils-time "0.1 SBU">
diff --git a/entities/libtool.ent b/entities/libtool.ent
deleted file mode 100644
index f5a4dd618..000000000
--- a/entities/libtool.ent
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY c6-libtool SYSTEM "../chapter06/libtool.xml">
-
-<!ENTITY aa-libtool-shortdesc SYSTEM "../appendixa/libtool-shortdesc.xml">
-<!ENTITY aa-libtool-desc SYSTEM "../appendixa/libtool-desc.xml">
-<!ENTITY aa-libtool-dep SYSTEM "../appendixa/libtool-dep.xml">
-<!ENTITY aa-libtool-down SYSTEM "../appendixa/libtool-down.xml">
-
-<!ENTITY libtool-version "1.5.2">
-<!ENTITY libtool-depversion "1.4.2">
-<!ENTITY libtool-contversion "1.5">
-<!ENTITY libtool-dir "libtool-&libtool-version;">
-<!ENTITY libtool-package "libtool-&libtool-version;.tar.gz">
-<!ENTITY libtool-size "2,591 KB">
-
-<!ENTITY libtool-compsize "20 MB">
-<!ENTITY libtool-time "1.5 SBU">
diff --git a/entities/m4.ent b/entities/m4.ent
deleted file mode 100644
index 05f21d7bb..000000000
--- a/entities/m4.ent
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY c6-m4 SYSTEM "../chapter06/m4.xml">
-
-<!ENTITY aa-m4-shortdesc SYSTEM "../appendixa/m4-shortdesc.xml">
-<!ENTITY aa-m4-desc SYSTEM "../appendixa/m4-desc.xml">
-<!ENTITY aa-m4-dep SYSTEM "../appendixa/m4-dep.xml">
-<!ENTITY aa-m4-down SYSTEM "../appendixa/m4-down.xml">
-
-<!ENTITY m4-version "1.4">
-<!ENTITY m4-depversion "1.4">
-<!ENTITY m4-contversion "1.4">
-<!ENTITY m4-dir "m4-&m4-version;">
-<!ENTITY m4-package "m4-&m4-version;.tar.gz">
-<!ENTITY m4-size "310 KB">
-
-<!ENTITY m4-compsize "3.0 MB">
-<!ENTITY m4-time "0.1 SBU">
diff --git a/entities/make.ent b/entities/make.ent
deleted file mode 100644
index bf5b0a538..000000000
--- a/entities/make.ent
+++ /dev/null
@@ -1,21 +0,0 @@
-<!ENTITY c5-make SYSTEM "../chapter05/make.xml">
-
-<!ENTITY c6-make SYSTEM "../chapter06/make.xml">
-
-<!ENTITY aa-make-shortdesc SYSTEM "../appendixa/make-shortdesc.xml">
-<!ENTITY aa-make-desc SYSTEM "../appendixa/make-desc.xml">
-<!ENTITY aa-make-dep SYSTEM "../appendixa/make-dep.xml">
-<!ENTITY aa-make-down SYSTEM "../appendixa/make-down.xml">
-
-<!ENTITY make-version "3.80">
-<!ENTITY make-depversion "3.79.1">
-<!ENTITY make-contversion "3.80">
-<!ENTITY make-dir "make-&make-version;">
-<!ENTITY make-package "make-&make-version;.tar.bz2">
-<!ENTITY make-size "899 KB">
-
-<!ENTITY make-compsize-tools "8.8 MB">
-<!ENTITY make-time-tools "0.2 SBU">
-
-<!ENTITY make-compsize "8.8 MB">
-<!ENTITY make-time "0.2 SBU">
diff --git a/entities/makedev.ent b/entities/makedev.ent
deleted file mode 100644
index c1def5115..000000000
--- a/entities/makedev.ent
+++ /dev/null
@@ -1,15 +0,0 @@
-<!ENTITY c6-makedev SYSTEM "../chapter06/makedev.xml">
-
-<!ENTITY aa-makedev-shortdesc SYSTEM "../appendixa/makedev-shortdesc.xml">
-<!ENTITY aa-makedev-desc SYSTEM "../appendixa/makedev-desc.xml">
-<!ENTITY aa-makedev-dep SYSTEM "../appendixa/makedev-dep.xml">
-<!ENTITY aa-makedev-down SYSTEM "../appendixa/makedev-down.xml">
-
-<!ENTITY makedev-version "1.2">
-<!ENTITY makedev-depversion "1.2">
-<!ENTITY makedev-contversion "1.2">
-<!ENTITY makedev-package "Make_devices-&makedev-version;.bz2">
-<!ENTITY makedev-size "20 KB">
-
-<!ENTITY makedev-compsize "160 KB">
-<!ENTITY makedev-time "1 SBU">
diff --git a/entities/man.ent b/entities/man.ent
deleted file mode 100644
index 54c664ae4..000000000
--- a/entities/man.ent
+++ /dev/null
@@ -1,19 +0,0 @@
-<!ENTITY c6-man SYSTEM "../chapter06/man.xml">
-
-<!ENTITY aa-man-shortdesc SYSTEM "../appendixa/man-shortdesc.xml">
-<!ENTITY aa-man-desc SYSTEM "../appendixa/man-desc.xml">
-<!ENTITY aa-man-dep SYSTEM "../appendixa/man-dep.xml">
-<!ENTITY aa-man-down SYSTEM "../appendixa/man-down.xml">
-
-<!ENTITY man-version "1.5m2">
-<!ENTITY man-depversion "1.5i">
-<!ENTITY man-contversion "1.5m2">
-<!ENTITY man-dir "man-&man-version;">
-<!ENTITY man-package "man-&man-version;.tar.gz">
-<!ENTITY man-size "196 KB">
-
-<!ENTITY man-80cols-patch "man-&man-version;-80cols.patch">
-<!ENTITY man-80cols-patch-size "1 KB">
-
-<!ENTITY man-compsize "1.9MB">
-<!ENTITY man-time "0.1 SBU">
diff --git a/entities/manpages.ent b/entities/manpages.ent
deleted file mode 100644
index 8316c3144..000000000
--- a/entities/manpages.ent
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY c6-manpages SYSTEM "../chapter06/manpages.xml">
-
-<!ENTITY aa-manpages-shortdesc SYSTEM "../appendixa/manpages-shortdesc.xml">
-<!ENTITY aa-manpages-desc SYSTEM "../appendixa/manpages-desc.xml">
-<!ENTITY aa-manpages-dep SYSTEM "../appendixa/manpages-dep.xml">
-<!ENTITY aa-manpages-down SYSTEM "../appendixa/manpages-down.xml">
-
-<!ENTITY man-pages-version "1.66">
-<!ENTITY man-pages-depversion "1.66">
-<!ENTITY man-pages-contversion "1.66">
-<!ENTITY man-pages-dir "man-pages-&man-pages-version;">
-<!ENTITY man-pages-package "man-pages-&man-pages-version;.tar.gz">
-<!ENTITY man-pages-size "1,582 KB">
-
-<!ENTITY man-pages-compsize "15 MB">
-<!ENTITY man-pages-time "0.1 SBU">
diff --git a/entities/modutils.ent b/entities/modutils.ent
deleted file mode 100644
index 5c9fa824c..000000000
--- a/entities/modutils.ent
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY c6-modutils SYSTEM "../chapter06/modutils.xml">
-
-<!ENTITY aa-modutils-shortdesc SYSTEM "../appendixa/modutils-shortdesc.xml">
-<!ENTITY aa-modutils-desc SYSTEM "../appendixa/modutils-desc.xml">
-<!ENTITY aa-modutils-dep SYSTEM "../appendixa/modutils-dep.xml">
-<!ENTITY aa-modutils-down SYSTEM "../appendixa/modutils-down.xml">
-
-<!ENTITY modutils-version "2.4.26">
-<!ENTITY modutils-depversion "2.4.12">
-<!ENTITY modutils-contversion "2.4.25">
-<!ENTITY modutils-dir "modutils-&modutils-version;">
-<!ENTITY modutils-package "modutils-&modutils-version;.tar.bz2">
-<!ENTITY modutils-size "229 KB">
-
-<!ENTITY modutils-compsize "2.9 MB">
-<!ENTITY modutils-time "0.1 SBU">
diff --git a/entities/ncurses.ent b/entities/ncurses.ent
deleted file mode 100644
index ba827c9c0..000000000
--- a/entities/ncurses.ent
+++ /dev/null
@@ -1,21 +0,0 @@
-<!ENTITY c5-ncurses SYSTEM "../chapter05/ncurses.xml">
-
-<!ENTITY c6-ncurses SYSTEM "../chapter06/ncurses.xml">
-
-<!ENTITY aa-ncurses-shortdesc SYSTEM "../appendixa/ncurses-shortdesc.xml">
-<!ENTITY aa-ncurses-desc SYSTEM "../appendixa/ncurses-desc.xml">
-<!ENTITY aa-ncurses-dep SYSTEM "../appendixa/ncurses-dep.xml">
-<!ENTITY aa-ncurses-down SYSTEM "../appendixa/ncurses-down.xml">
-
-<!ENTITY ncurses-version "5.4">
-<!ENTITY ncurses-depversion "5.2">
-<!ENTITY ncurses-contversion "5.3">
-<!ENTITY ncurses-dir "ncurses-&ncurses-version;">
-<!ENTITY ncurses-package "ncurses-&ncurses-version;.tar.gz">
-<!ENTITY ncurses-size "2,019 KB">
-
-<!ENTITY ncurses-compsize-tools "26 MB">
-<!ENTITY ncurses-time-tools "0.7 SBU">
-
-<!ENTITY ncurses-compsize "27 MB">
-<!ENTITY ncurses-time "0.6 SBU">
diff --git a/entities/nettools.ent b/entities/nettools.ent
deleted file mode 100644
index a68ad2cf9..000000000
--- a/entities/nettools.ent
+++ /dev/null
@@ -1,19 +0,0 @@
-<!ENTITY c6-nettools SYSTEM "../chapter06/nettools.xml">
-
-<!ENTITY aa-nettools-shortdesc SYSTEM "../appendixa/nettools-shortdesc.xml">
-<!ENTITY aa-nettools-desc SYSTEM "../appendixa/nettools-desc.xml">
-<!ENTITY aa-nettools-dep SYSTEM "../appendixa/nettools-dep.xml">
-<!ENTITY aa-nettools-down SYSTEM "../appendixa/nettools-down.xml">
-
-<!ENTITY net-tools-version "1.60">
-<!ENTITY net-tools-depversion "1.60">
-<!ENTITY net-tools-contversion "1.60">
-<!ENTITY net-tools-dir "net-tools-&net-tools-version;">
-<!ENTITY net-tools-package "net-tools-&net-tools-version;.tar.bz2">
-<!ENTITY net-tools-size "194 KB">
-
-<!ENTITY net-tools-mii-patch "net-tools-&net-tools-version;-miitool-gcc33-1.patch">
-<!ENTITY net-tools-mii-patch-size "2 KB">
-
-<!ENTITY net-tools-compsize "9.4 MB">
-<!ENTITY net-tools-time "0.1 SBU">
diff --git a/entities/patch.ent b/entities/patch.ent
deleted file mode 100644
index f10cf1b38..000000000
--- a/entities/patch.ent
+++ /dev/null
@@ -1,21 +0,0 @@
-<!ENTITY c5-patch SYSTEM "../chapter05/patch.xml">
-
-<!ENTITY c6-patch SYSTEM "../chapter06/patch.xml">
-
-<!ENTITY aa-patch-shortdesc SYSTEM "../appendixa/patch-shortdesc.xml">
-<!ENTITY aa-patch-desc SYSTEM "../appendixa/patch-desc.xml">
-<!ENTITY aa-patch-dep SYSTEM "../appendixa/patch-dep.xml">
-<!ENTITY aa-patch-down SYSTEM "../appendixa/patch-down.xml">
-
-<!ENTITY patch-version "2.5.4">
-<!ENTITY patch-depversion "2.5.4">
-<!ENTITY patch-contversion "2.5.4">
-<!ENTITY patch-dir "patch-&patch-version;">
-<!ENTITY patch-package "patch-&patch-version;.tar.gz">
-<!ENTITY patch-size "182 KB">
-
-<!ENTITY patch-compsize-tools "1.9 MB">
-<!ENTITY patch-time-tools "0.1 SBU">
-
-<!ENTITY patch-compsize "1.9 MB">
-<!ENTITY patch-time "0.1 SBU">
diff --git a/entities/perl.ent b/entities/perl.ent
deleted file mode 100644
index bc5cef1f6..000000000
--- a/entities/perl.ent
+++ /dev/null
@@ -1,24 +0,0 @@
-<!ENTITY c5-perl SYSTEM "../chapter05/perl.xml">
-
-<!ENTITY c6-perl SYSTEM "../chapter06/perl.xml">
-
-<!ENTITY aa-perl-shortdesc SYSTEM "../appendixa/perl-shortdesc.xml">
-<!ENTITY aa-perl-desc SYSTEM "../appendixa/perl-desc.xml">
-<!ENTITY aa-perl-dep SYSTEM "../appendixa/perl-dep.xml">
-<!ENTITY aa-perl-down SYSTEM "../appendixa/perl-down.xml">
-
-<!ENTITY perl-version "5.8.3">
-<!ENTITY perl-depversion "5.8.3">
-<!ENTITY perl-contversion "5.8.3">
-<!ENTITY perl-dir "perl-&perl-version;">
-<!ENTITY perl-package "perl-&perl-version;.tar.gz">
-<!ENTITY perl-size "11,721 KB">
-
-<!ENTITY perl-libc-patch "perl-&perl-version;-libc-1.patch">
-<!ENTITY perl-libc-patch-size "1 KB">
-
-<!ENTITY perl-compsize-tools "74 MB">
-<!ENTITY perl-time-tools "0.8 SBU">
-
-<!ENTITY perl-compsize "143 MB">
-<!ENTITY perl-time "2.9 SBU">
diff --git a/entities/procinfo.ent b/entities/procinfo.ent
deleted file mode 100644
index 8b367afe6..000000000
--- a/entities/procinfo.ent
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY c6-procinfo SYSTEM "../chapter06/procinfo.xml">
-
-<!ENTITY aa-procinfo-shortdesc SYSTEM "../appendixa/procinfo-shortdesc.xml">
-<!ENTITY aa-procinfo-desc SYSTEM "../appendixa/procinfo-desc.xml">
-<!ENTITY aa-procinfo-dep SYSTEM "../appendixa/procinfo-dep.xml">
-<!ENTITY aa-procinfo-down SYSTEM "../appendixa/procinfo-down.xml">
-
-<!ENTITY procinfo-version "18">
-<!ENTITY procinfo-depversion "18">
-<!ENTITY procinfo-contversion "18">
-<!ENTITY procinfo-dir "procinfo-&procinfo-version;">
-<!ENTITY procinfo-package "procinfo-&procinfo-version;.tar.gz">
-<!ENTITY procinfo-size "24 KB">
-
-<!ENTITY procinfo-compsize "0.2 MB">
-<!ENTITY procinfo-time "0.1 SBU">
diff --git a/entities/procps.ent b/entities/procps.ent
deleted file mode 100644
index 0b0d03ec4..000000000
--- a/entities/procps.ent
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY c6-procps SYSTEM "../chapter06/procps.xml">
-
-<!ENTITY aa-procps-shortdesc SYSTEM "../appendixa/procps-shortdesc.xml">
-<!ENTITY aa-procps-desc SYSTEM "../appendixa/procps-desc.xml">
-<!ENTITY aa-procps-dep SYSTEM "../appendixa/procps-dep.xml">
-<!ENTITY aa-procps-down SYSTEM "../appendixa/procps-down.xml">
-
-<!ENTITY procps-version "3.2.0">
-<!ENTITY procps-depversion "3.2.0">
-<!ENTITY procps-contversion "3.2.0">
-<!ENTITY procps-dir "procps-&procps-version;">
-<!ENTITY procps-package "procps-&procps-version;.tar.gz">
-<!ENTITY procps-size "260 KB">
-
-<!ENTITY procps-compsize "6.2 MB">
-<!ENTITY procps-time "0.1 SBU">
diff --git a/entities/psmisc.ent b/entities/psmisc.ent
deleted file mode 100644
index e6627aed8..000000000
--- a/entities/psmisc.ent
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY c6-psmisc SYSTEM "../chapter06/psmisc.xml">
-
-<!ENTITY aa-psmisc-shortdesc SYSTEM "../appendixa/psmisc-shortdesc.xml">
-<!ENTITY aa-psmisc-desc SYSTEM "../appendixa/psmisc-desc.xml">
-<!ENTITY aa-psmisc-dep SYSTEM "../appendixa/psmisc-dep.xml">
-<!ENTITY aa-psmisc-down SYSTEM "../appendixa/psmisc-down.xml">
-
-<!ENTITY psmisc-version "21.4">
-<!ENTITY psmisc-depversion "20.2">
-<!ENTITY psmisc-contversion "21.4">
-<!ENTITY psmisc-dir "psmisc-&psmisc-version;">
-<!ENTITY psmisc-package "psmisc-&psmisc-version;.tar.gz">
-<!ENTITY psmisc-size "375 KB">
-
-<!ENTITY psmisc-compsize "2.2 MB">
-<!ENTITY psmisc-time "0.1 SBU">
diff --git a/entities/sed.ent b/entities/sed.ent
deleted file mode 100644
index a92be9600..000000000
--- a/entities/sed.ent
+++ /dev/null
@@ -1,21 +0,0 @@
-<!ENTITY c5-sed SYSTEM "../chapter05/sed.xml">
-
-<!ENTITY c6-sed SYSTEM "../chapter06/sed.xml">
-
-<!ENTITY aa-sed-shortdesc SYSTEM "../appendixa/sed-shortdesc.xml">
-<!ENTITY aa-sed-desc SYSTEM "../appendixa/sed-desc.xml">
-<!ENTITY aa-sed-dep SYSTEM "../appendixa/sed-dep.xml">
-<!ENTITY aa-sed-down SYSTEM "../appendixa/sed-down.xml">
-
-<!ENTITY sed-version "4.0.9">
-<!ENTITY sed-depversion "4.0.9">
-<!ENTITY sed-contversion "4.0.9">
-<!ENTITY sed-dir "sed-&sed-version;">
-<!ENTITY sed-package "sed-&sed-version;.tar.gz">
-<!ENTITY sed-size "751 KB">
-
-<!ENTITY sed-compsize-tools "5.2 MB">
-<!ENTITY sed-time-tools "0.2 SBU">
-
-<!ENTITY sed-compsize "5.2 MB">
-<!ENTITY sed-time "0.2 SBU">
diff --git a/entities/shadow.ent b/entities/shadow.ent
deleted file mode 100644
index e81b87416..000000000
--- a/entities/shadow.ent
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY c6-shadow SYSTEM "../chapter06/shadow.xml">
-
-<!ENTITY aa-shadow-shortdesc SYSTEM "../appendixa/shadow-shortdesc.xml">
-<!ENTITY aa-shadow-desc SYSTEM "../appendixa/shadow-desc.xml">
-<!ENTITY aa-shadow-dep SYSTEM "../appendixa/shadow-dep.xml">
-<!ENTITY aa-shadow-down SYSTEM "../appendixa/shadow-down.xml">
-
-<!ENTITY shadow-version "4.0.4.1">
-<!ENTITY shadow-depversion "4.0.4.1">
-<!ENTITY shadow-contversion "4.0.4.1">
-<!ENTITY shadow-dir "shadow-&shadow-version;">
-<!ENTITY shadow-package "shadow-&shadow-version;.tar.bz2">
-<!ENTITY shadow-size "795 KB">
-
-<!ENTITY shadow-compsize "11 MB">
-<!ENTITY shadow-time "0.4 SBU">
diff --git a/entities/sysklogd.ent b/entities/sysklogd.ent
deleted file mode 100644
index 2f3bfd0bf..000000000
--- a/entities/sysklogd.ent
+++ /dev/null
@@ -1,18 +0,0 @@
-<!ENTITY c6-sysklogd SYSTEM "../chapter06/sysklogd.xml">
-
-<!ENTITY c7-sysklogd SYSTEM "../chapter07/sysklogd.xml">
-
-<!ENTITY aa-sysklogd-shortdesc SYSTEM "../appendixa/sysklogd-shortdesc.xml">
-<!ENTITY aa-sysklogd-desc SYSTEM "../appendixa/sysklogd-desc.xml">
-<!ENTITY aa-sysklogd-dep SYSTEM "../appendixa/sysklogd-dep.xml">
-<!ENTITY aa-sysklogd-down SYSTEM "../appendixa/sysklogd-down.xml">
-
-<!ENTITY sysklogd-version "1.4.1">
-<!ENTITY sysklogd-depversion "1.4.1">
-<!ENTITY sysklogd-contversion "1.4.1">
-<!ENTITY sysklogd-dir "sysklogd-&sysklogd-version;">
-<!ENTITY sysklogd-package "sysklogd-&sysklogd-version;.tar.gz">
-<!ENTITY sysklogd-size "80 KB">
-
-<!ENTITY sysklogd-compsize "0.5 MB">
-<!ENTITY sysklogd-time "0.1 SBU">
diff --git a/entities/sysvinit.ent b/entities/sysvinit.ent
deleted file mode 100644
index 2d72e782f..000000000
--- a/entities/sysvinit.ent
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY c6-sysvinit SYSTEM "../chapter06/sysvinit.xml">
-
-<!ENTITY aa-sysvinit-shortdesc SYSTEM "../appendixa/sysvinit-shortdesc.xml">
-<!ENTITY aa-sysvinit-desc SYSTEM "../appendixa/sysvinit-desc.xml">
-<!ENTITY aa-sysvinit-dep SYSTEM "../appendixa/sysvinit-dep.xml">
-<!ENTITY aa-sysvinit-down SYSTEM "../appendixa/sysvinit-down.xml">
-
-<!ENTITY sysvinit-version "2.85">
-<!ENTITY sysvinit-depversion "2.84">
-<!ENTITY sysvinit-contversion "2.85">
-<!ENTITY sysvinit-dir "sysvinit-&sysvinit-version;">
-<!ENTITY sysvinit-package "sysvinit-&sysvinit-version;.tar.gz">
-<!ENTITY sysvinit-size "91 KB">
-
-<!ENTITY sysvinit-compsize "0.9 MB">
-<!ENTITY sysvinit-time "0.1 SBU">
diff --git a/entities/tar.ent b/entities/tar.ent
deleted file mode 100644
index ddfb4290d..000000000
--- a/entities/tar.ent
+++ /dev/null
@@ -1,21 +0,0 @@
-<!ENTITY c5-tar SYSTEM "../chapter05/tar.xml">
-
-<!ENTITY c6-tar SYSTEM "../chapter06/tar.xml">
-
-<!ENTITY aa-tar-shortdesc SYSTEM "../appendixa/tar-shortdesc.xml">
-<!ENTITY aa-tar-desc SYSTEM "../appendixa/tar-desc.xml">
-<!ENTITY aa-tar-dep SYSTEM "../appendixa/tar-dep.xml">
-<!ENTITY aa-tar-down SYSTEM "../appendixa/tar-down.xml">
-
-<!ENTITY tar-version "1.13.25">
-<!ENTITY tar-depversion "1.13">
-<!ENTITY tar-contversion "1.13.25">
-<!ENTITY tar-dir "tar-&tar-version;">
-<!ENTITY tar-package "tar-&tar-version;.tar.gz">
-<!ENTITY tar-size "1,281 KB">
-
-<!ENTITY tar-compsize-tools "10 MB">
-<!ENTITY tar-time-tools "0.2 SBU">
-
-<!ENTITY tar-compsize "10 MB">
-<!ENTITY tar-time "0.2 SBU">
diff --git a/entities/tcl.ent b/entities/tcl.ent
deleted file mode 100644
index 3bcdbb3e7..000000000
--- a/entities/tcl.ent
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY c5-tcl SYSTEM "../chapter05/tcl.xml">
-
-<!ENTITY aa-tcl-shortdesc SYSTEM "../appendixa/tcl-shortdesc.xml">
-<!ENTITY aa-tcl-desc SYSTEM "../appendixa/tcl-desc.xml">
-<!ENTITY aa-tcl-dep SYSTEM "../appendixa/tcl-dep.xml">
-<!ENTITY aa-tcl-down SYSTEM "../appendixa/tcl-down.xml">
-
-<!ENTITY tcl-version "8.4.5">
-<!ENTITY tcl-depversion "8.4.5">
-<!ENTITY tcl-contversion "8.4.5">
-<!ENTITY tcl-dir "tcl-&tcl-version;">
-<!ENTITY tcl-package "tcl&tcl-version;-src.tar.gz">
-<!ENTITY tcl-size "3,363 KB">
-
-<!ENTITY tcl-compsize-tools "23 MB">
-<!ENTITY tcl-time-tools "0.9 SBU">
diff --git a/entities/texinfo.ent b/entities/texinfo.ent
deleted file mode 100644
index 0928a403b..000000000
--- a/entities/texinfo.ent
+++ /dev/null
@@ -1,21 +0,0 @@
-<!ENTITY c5-texinfo SYSTEM "../chapter05/texinfo.xml">
-
-<!ENTITY c6-texinfo SYSTEM "../chapter06/texinfo.xml">
-
-<!ENTITY aa-texinfo-shortdesc SYSTEM "../appendixa/texinfo-shortdesc.xml">
-<!ENTITY aa-texinfo-desc SYSTEM "../appendixa/texinfo-desc.xml">
-<!ENTITY aa-texinfo-dep SYSTEM "../appendixa/texinfo-dep.xml">
-<!ENTITY aa-texinfo-down SYSTEM "../appendixa/texinfo-down.xml">
-
-<!ENTITY texinfo-version "4.6">
-<!ENTITY texinfo-depversion "4.0">
-<!ENTITY texinfo-contversion "4.6">
-<!ENTITY texinfo-dir "texinfo-&texinfo-version;">
-<!ENTITY texinfo-package "texinfo-&texinfo-version;.tar.bz2">
-<!ENTITY texinfo-size "1,317 KB">
-
-<!ENTITY texinfo-compsize-tools "16 MB">
-<!ENTITY texinfo-time-tools "0.2 SBU">
-
-<!ENTITY texinfo-compsize "17 MB">
-<!ENTITY texinfo-time "0.2 SBU">
diff --git a/entities/utillinux.ent b/entities/utillinux.ent
deleted file mode 100644
index 7f93b53e2..000000000
--- a/entities/utillinux.ent
+++ /dev/null
@@ -1,21 +0,0 @@
-<!ENTITY c5-utillinux SYSTEM "../chapter05/utillinux.xml">
-
-<!ENTITY c6-utillinux SYSTEM "../chapter06/utillinux.xml">
-
-<!ENTITY aa-utillinux-shortdesc SYSTEM "../appendixa/utillinux-shortdesc.xml">
-<!ENTITY aa-utillinux-desc SYSTEM "../appendixa/utillinux-desc.xml">
-<!ENTITY aa-utillinux-dep SYSTEM "../appendixa/utillinux-dep.xml">
-<!ENTITY aa-utillinux-down SYSTEM "../appendixa/utillinux-down.xml">
-
-<!ENTITY util-linux-version "2.12">
-<!ENTITY util-linux-depversion "2.11n">
-<!ENTITY util-linux-contversion "2.12">
-<!ENTITY util-linux-dir "util-linux-&util-linux-version;">
-<!ENTITY util-linux-package "util-linux-&util-linux-version;.tar.gz">
-<!ENTITY util-linux-size "1,814 KB">
-
-<!ENTITY util-linux-compsize-tools "8 MB">
-<!ENTITY util-linux-time-tools "0.1 SBU">
-
-<!ENTITY util-linux-compsize "16 MB">
-<!ENTITY util-linux-time "0.2 SBU">
diff --git a/entities/vim.ent b/entities/vim.ent
deleted file mode 100644
index 241d1753e..000000000
--- a/entities/vim.ent
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY c6-vim SYSTEM "../chapter06/vim.xml">
-
-<!ENTITY aa-vim-shortdesc SYSTEM "../appendixa/vim-shortdesc.xml">
-<!ENTITY aa-vim-dep SYSTEM "../appendixa/vim-dep.xml">
-<!ENTITY aa-vim-desc SYSTEM "../appendixa/vim-desc.xml">
-<!ENTITY aa-vim-down SYSTEM "../appendixa/vim-down.xml">
-
-<!ENTITY vim-version "6.2">
-<!ENTITY vim-depversion "6.0">
-<!ENTITY vim-contversion "6.2">
-<!ENTITY vim-dir "vim&vim-version;">
-<!ENTITY vim-package "vim-&vim-version;.tar.bz2">
-<!ENTITY vim-size "3,193 KB">
-
-<!ENTITY vim-compsize "34 MB">
-<!ENTITY vim-time "0.4 SBU">
diff --git a/entities/zlib.ent b/entities/zlib.ent
deleted file mode 100644
index cb0db9b8f..000000000
--- a/entities/zlib.ent
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY c6-zlib SYSTEM "../chapter06/zlib.xml">
-
-<!ENTITY aa-zlib-shortdesc SYSTEM "../appendixa/zlib-shortdesc.xml">
-<!ENTITY aa-zlib-desc SYSTEM "../appendixa/zlib-desc.xml">
-<!ENTITY aa-zlib-dep SYSTEM "../appendixa/zlib-dep.xml">
-<!ENTITY aa-zlib-down SYSTEM "../appendixa/zlib-down.xml">
-
-<!ENTITY zlib-version "1.2.1">
-<!ENTITY zlib-depversion "1.2.1">
-<!ENTITY zlib-contversion "1.2.1">
-<!ENTITY zlib-dir "zlib-&zlib-version;">
-<!ENTITY zlib-package "zlib-&zlib-version;.tar.bz2">
-<!ENTITY zlib-size "277 KB">
-
-<!ENTITY zlib-compsize "1.5 MB">
-<!ENTITY zlib-time "0.1 SBU">
diff --git a/preface/acknowledgements.xml b/preface/acknowledgements.xml
deleted file mode 100644
index 7b91a2bda..000000000
--- a/preface/acknowledgements.xml
+++ /dev/null
@@ -1,302 +0,0 @@
-<sect1 id="ch-scatter-acknowledgments">
-<title>Acknowledgments</title>
-<?dbhtml filename="acknowledgements.html" dir="chapter01"?>
-
-<para>We would like to thank the following people and organizations for their
-contributions to the Linux From Scratch Project.</para>
-
-<sect2>
-<title>Current Project Team Members</title>
-
-<itemizedlist>
-
-<listitem><para><ulink url="mailto:gerard@linuxfromscratch.org">Gerard
-Beekmans</ulink> &lt;gerard@linuxfromscratch.org&gt; -- Linux-From-Scratch
-initiator, LFS Project organizer.</para></listitem>
-
-<listitem><para><ulink url="mailto:matthew@linuxfromscratch.org">Matthew
-Burgess</ulink> &lt;matthew@linuxfromscratch.org&gt; -- LFS General Package
-maintainer, LFS Book editor.</para></listitem>
-
-<listitem><para><ulink url="mailto:meerkats@bellsouth.net">Craig
-Colton</ulink> &lt;meerkats@bellsouth.net&gt; -- LFS, ALFS, BLFS and Hints
-Project logo creator.</para></listitem>
-
-<listitem><para><ulink url="mailto:jeroen@linuxfromscratch.org">Jeroen
-Coumans</ulink> &lt;jeroen@linuxfromscratch.org&gt; -- Website developer, FAQ
-maintainer.</para></listitem>
-
-<listitem><para><ulink url="mailto:bdubbs@linuxfromscratch.org">Bruce
-Dubbs</ulink> &lt;bdubbs@linuxfromscratch.org&gt; -- LFS Quality Assurance Team
-leader, BLFS Book editor.</para></listitem>
-
-<listitem><para><ulink url="mailto:alex@linuxfromscratch.org">Alex
-Groenewoud</ulink> &lt;alex@linuxfromscratch.org&gt; -- LFS Book
-editor.</para></listitem>
-
-<listitem><para><ulink url="mailto:markh@linuxfromscratch.org">Mark
-Hymers</ulink> &lt;markh@linuxfromscratch.org&gt; -- CVS maintainer, BLFS Book
-creator, former LFS Book editor.</para></listitem>
-
-<listitem><para><ulink url="mailto:iwanek@linuxfromscratch.org">James
-Iwanek</ulink> &lt;iwanek@linuxfromscratch.org&gt; -- System Administration
-Team member.</para></listitem>
-
-<listitem><para><ulink url="mailto:nicholas@linuxfromscratch.org">Nicholas
-Leippe</ulink> &lt;nicholas@linuxfromscratch.org&gt; -- Wiki
-maintainer.</para></listitem>
-
-<listitem><para><ulink url="mailto:lizardo@linuxfromscratch.org">Anderson
-Lizardo</ulink> &lt;lizardo@linuxfromscratch.org&gt; -- Website backend scripts
-creator and maintainer.</para></listitem>
-
-<listitem><para><ulink url="mailto:bill@linuxfromscratch.org">Bill
-Maltby</ulink> &lt;bill@linuxfromscratch.org&gt; -- LFS Project
-organizer.</para></listitem>
-
-<listitem><para><ulink url="mailto:scot@linuxfromscratch.org">Scot Mc
-Pherson</ulink> &lt;scot@linuxfromscratch.org&gt; -- LFS NNTP gateway
-maintainer.</para></listitem>
-
-<listitem><para><ulink url="mailto:ryan@linuxfromscratch.org">Ryan
-Oliver</ulink> &lt;ryan@linuxfromscratch.org&gt; -- Testing Team leader,
-co-creator of PLFS.</para></listitem>
-
-<listitem><para><ulink url="mailto:jwrober@linuxfromscratch.org">James
-Robertson</ulink> &lt;jwrober@linuxfromscratch.org&gt; -- Bugzilla maintainer,
-Wiki developer, LFS Book editor.</para></listitem>
-
-<listitem><para><ulink url="mailto:greg@linuxfromscratch.org">Greg
-Schafer</ulink> &lt;greg@linuxfromscratch.org&gt; -- Toolchain maintainer,
-LFS Book editor, co-creator of PLFS.</para></listitem>
-
-<listitem><para><ulink url="mailto:tushar@linuxfromscratch.org">Tushar
-Teredesai</ulink> &lt;tushar@linuxfromscratch.org&gt; -- BLFS Book editor,
-Hints and Patches Projects maintainer.</para></listitem>
-
-<listitem><para><ulink url="mailto:jeremy@linuxfromscratch.org">Jeremy
-Utley</ulink> &lt;jeremy@linuxfromscratch.org&gt; -- LFS Book editor, Bugzilla
-maintainer.</para></listitem>
-
-<listitem><para>Countless other people on the various LFS and BLFS
-mailing lists who are making this book happen by giving their suggestions,
-testing the book and submitting bug reports, instructions and their
-experiences with installing various packages.</para></listitem>
-
-</itemizedlist>
-
-</sect2>
-
-<sect2>
-<title>Translators</title>
-
-<itemizedlist>
-
-<listitem><para><ulink url="mailto:macana@lfs-es.org">Manuel Canales
-Esparcia</ulink> &lt;macana@lfs-es.org&gt; -- Spanish LFS translation
-project.</para></listitem>
-
-<listitem><para><ulink url="mailto:johan@linuxfromscratch.org">Johan
-Lenglet</ulink> &lt;johan@linuxfromscratch.org&gt; -- French LFS translation
-project.</para></listitem>
-
-<listitem><para><ulink url="mailto:lizardo@linuxfromscratch.org">Anderson
-Lizardo</ulink> &lt;lizardo@linuxfromscratch.org&gt; -- Portuguese LFS
-translation project.</para></listitem>
-
-</itemizedlist>
-
-</sect2>
-
-<sect2>
-<title>Mirror Maintainers</title>
-
-<itemizedlist>
-
-<listitem><para><ulink url="mailto:jason@dstc.edu.au">Jason Andrade</ulink>
-&lt;jason@dstc.edu.au&gt; -- au.linuxfromscratch.org mirror.</para></listitem>
-
-<listitem><para><ulink url="mailto:lost@l-w.net">William Astle</ulink>
-&lt;lost@l-w.net&gt; -- ca.linuxfromscratch.org mirror.</para></listitem>
-
-<listitem><para><ulink url="mailto:baque@cict.fr">Baque</ulink>
-&lt;baque@cict.fr&gt; -- lfs.cict.fr mirror.</para></listitem>
-
-<listitem><para><ulink url="mailto:stevie@stevie20.de">Stephan Brendel</ulink>
-&lt;stevie@stevie20.de&gt; -- lfs.netservice-neuss.de
-mirror.</para></listitem>
-
-<listitem><para><ulink url="mailto:ian@ichilton.co.uk">Ian Chilton</ulink>
-&lt;ian@ichilton.co.uk&gt; -- us.linuxfromscratch.org, linuxfromscratch.co.uk
-mirrors.</para></listitem>
-
-<listitem><para><ulink url="mailto:fredan-lfs@fredan.org">Fredrik
-Danerklint</ulink> &lt;fredan-lfs@fredan.org&gt; -- se.linuxfromscratch.org
-mirror.</para></listitem>
-
-<listitem><para><ulink url="mailto:pgpkeys@aeternamtech.com">David D.W.
-Downey</ulink> &lt;pgpkeys@aeternamtech.com&gt; -- lfs.learnbyexample.com
-mirror.</para></listitem>
-
-<listitem><para><ulink url="mailto:ebf@aedsolucoes.com.br">Eduardo B.
-Fonseca</ulink> &lt;ebf@aedsolucoes.com.br&gt; -- br.linuxfromscratch.org
-mirror.</para></listitem>
-
-<listitem><para><ulink url="mailto:hrx@hrxnet.de">Hagen Herrschaft</ulink>
-&lt;hrx@hrxnet.de&gt; -- de.linuxfromscratch.org mirror.</para></listitem>
-
-<listitem><para><ulink url="mailto:tim@idge.net">Tim Jackson</ulink>
-&lt;tim@idge.net&gt; -- linuxfromscratch.idge.net mirror.</para></listitem>
-
-<listitem><para><ulink url="mailto:barna@siker.hu">Barna Koczka</ulink>
-&lt;barna@siker.hu&gt; -- hu.linuxfromscratch.org mirror.</para></listitem>
-
-<listitem><para><ulink url="mailto:lfs-mirror@linuxfromscratch.rave.org">Roel
-Neefs</ulink> -- linuxfromscratch.rave.org mirror.</para></listitem>
-
-<listitem><para><ulink url="mailto:sime@dot-sime.com">Simon Nicoll</ulink>
-&lt;sime@dot-sime.com&gt; -- uk.linuxfromscratch.org mirror.</para></listitem>
-
-<listitem><para><ulink url="mailto:ervin@activalink.net">Ervin S.
-Odisho</ulink> &lt;ervin@activalink.net&gt; -- lfs.activalink.net
-mirror.</para></listitem>
-
-<listitem><para><ulink url="mailto:guido@primerelay.net">Guido Passet</ulink>
-&lt;guido@primerelay.net&gt; -- nl.linuxfromscratch.org
-mirror.</para></listitem>
-
-<listitem><para><ulink url="mailto:miha@xuy.biz">Mikhail Pastukhov</ulink>
-&lt;miha@xuy.biz&gt; -- lfs.130th.net mirror.</para></listitem>
-
-<listitem><para><ulink url="mailto:jpolen@rackspace.com">Jeremy Polen</ulink>
-&lt;jpolen@rackspace.com&gt; -- us2.linuxfromscratch.org
-mirror.</para></listitem>
-
-<listitem><para><ulink url="http://www.mirror.ac.uk">UK Mirror Service</ulink>
--- linuxfromscratch.mirror.co.uk mirror.</para></listitem>
-
-<listitem><para><ulink url="mailto:thomas@sofagang.dk">Thomas Skyt</ulink>
-&lt;thomas@sofagang.dk&gt; -- dk.linuxfromscratch.org mirror.</para></listitem>
-
-<listitem><para><ulink url="mailto:Antonin.Sprinzl@tuwien.ac.at">Antonin
-Sprinzl</ulink> &lt;Antonin.Sprinzl@tuwien.ac.at&gt; -- at.linuxfromscratch.org
-mirror.</para></listitem>
-
-<listitem><para><ulink url="mailto:dag@stenstad.net">Dag Stenstad</ulink>
-&lt;dag@stenstad.net&gt; for providing no.linuxfromscratch.org and <ulink
-url="mailto:ian@ichilton.co.uk">Ian Chilton</ulink> for running
-it.</para></listitem>
-
-<listitem><para><ulink url="mailto:archive@doc.cs.univ-paris8.fr">Parisian
-sysadmins</ulink> &lt;archive@doc.cs.univ-paris8.fr&gt; --
-www2.fr.linuxfromscratch.org mirror.</para></listitem>
-
-<listitem><para><ulink url="mailto:highos@linuxfromscratch.org">Jesse
-Tie-Ten-Quee</ulink> &lt;highos@linuxfromscratch.org&gt; for providing and
-running the linuxfromscratch.org server.</para></listitem>
-
-<listitem><para><ulink url="mailto:velin@zadnik.org">Alexander Velin</ulink>
-&lt;velin@zadnik.org&gt; -- bg.linuxfromscratch.org mirror.</para></listitem>
-
-<listitem><para><ulink url="mailto:Martin.Voss@ada.de">Martin Voss</ulink>
-&lt;Martin.Voss@ada.de&gt; -- lfs.linux-matrix.net mirror.</para></listitem>
-
-<listitem><para><ulink url="mailto:pyng@spam.averse.net">Pui Yong</ulink>
-&lt;pyng@spam.averse.net&gt; -- sg.linuxfromscratch.org
-mirror.</para></listitem>
-
-</itemizedlist>
-
-</sect2>
-
-<sect2>
-<title>Donators</title>
-
-<itemizedlist>
-
-<listitem><para><ulink url="mailto:dean@vipersoft.co.uk">Dean Benson</ulink>
-&lt;dean@vipersoft.co.uk&gt; for several monetary
-contributions.</para></listitem>
-
-<listitem><para><ulink url="http://www.dreamwvr.com">DREAMWVR.COM</ulink> for
-their past sponsorship of donating various resources to the LFS and related
-sub projects.</para></listitem>
-
-<listitem><para><ulink url="mailto:hrx@hrxnet.de">Hagen Herrschaft</ulink>
-&lt;hrx@hrxnet.de&gt; for donating a 2.2 GHz P4 system, now running under the
-name of <emphasis>lorien</emphasis>.</para></listitem>
-
-<listitem><para><ulink url="http://www.oreilly.com">O'Reilly</ulink> for
-donating books on SQL and PHP.</para></listitem>
-
-<listitem><para><ulink url="http://www.vasoftware.com">VA Software</ulink>
-who, on behalf of <ulink url="http://www.linux.com">Linux.com</ulink>, donated
-a VA Linux 420 (former StartX SP2) workstation.</para></listitem>
-
-<listitem><para><ulink url="mailto:strider@linux.com">Mark Stone</ulink> for
-donating <emphasis>shadowfax</emphasis>, the first linuxfromscratch.org
-server, a 750 MHz P3 with 512 MB RAM and two 9 GB SCSI drives. When the server
-moved it was renamed to <emphasis>belgarath</emphasis>.</para></listitem>
-
-<listitem><para><ulink url="mailto:highos@linuxfromscratch.org">Jesse
-Tie-Ten-Quee</ulink> &lt;highos@linuxfromscratch.org&gt; for donating a Yamaha
-CDRW 8824E CD-writer.</para></listitem>
-
-<listitem><para>Countless other people on the various LFS mailing lists who are
-making this book better by giving their suggestions, submitting bug reports,
-and throwing in their criticism.</para></listitem>
-
-</itemizedlist>
-
-</sect2>
-
-<sect2>
-<title>Former Team Members and Contributors</title>
-
-<itemizedlist>
-
-<listitem><para><ulink url="mailto:timothy@linuxfromscratch.org">Timothy
-Bauscher</ulink> &lt;timothy@linuxfromscratch.org&gt; -- LFS Book editor, Hints
-Project maintainer.</para></listitem>
-
-<listitem><para>Robert Briggs for originally donating the
-<emphasis>linuxfromscratch.org</emphasis> and
-<emphasis>linuxfromscratch.com</emphasis> domain names.</para></listitem>
-
-<listitem><para><ulink url="mailto:ian@ichilton.co.uk">Ian Chilton</ulink>
-&lt;ian@ichilton.co.uk&gt; for maintaining the Hints project.</para></listitem>
-
-<listitem><para><ulink url="mailto:gimli@linuxfromscratch.org">Marc
-Heerdink</ulink> &lt;gimli@linuxfromscratch.org&gt; -- LFS Book
-editor.</para></listitem>
-
-<listitem><para><ulink url="mailto:sklein@linuxfromscratch.org">Seth W.
-Klein</ulink> &lt;sklein@linuxfromscratch.org&gt; -- LFS FAQ
-creator.</para></listitem>
-
-<listitem><para><ulink url="mailto:garrett@linuxart.com">Garrett
-LeSage</ulink> &lt;garrett@linuxart.com&gt; -- Original LFS banner
-creator.</para></listitem>
-
-<listitem><para><ulink url="mailto:nomis80@videotron.ca">Simon
-Perreault</ulink> &lt;nomis80@videotron.ca&gt; -- Hints Project
-maintainer.</para></listitem>
-
-<listitem><para><ulink url="mailto:Geert.Poels@skynet.be">Geert Poels</ulink>
-&lt;Geert.Poels@skynet.be&gt; -- Original BLFS banner creator; based on the
-LFS banner by Garrett LeSage.</para></listitem>
-
-<listitem><para><ulink url="mailto:bkenoah@oswd.org">Frank Skettino</ulink>
-&lt;bkenoah@oswd.org&gt; for the initial design of the old website -- have a
-look at <ulink url="http://www.oswd.org/"/>.</para></listitem>
-
-<listitem><para><ulink url="mailto:highos@linuxfromscratch.org">Jesse
-Tie-Ten-Quee</ulink> &lt;highos@linuxfromscratch.org&gt; for answering
-countless questions on IRC and having a great deal of patience.</para></listitem>
-
-</itemizedlist>
-
-</sect2>
-
-</sect1>
-
diff --git a/preface/audience.xml b/preface/audience.xml
deleted file mode 100644
index 2ac651a1a..000000000
--- a/preface/audience.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<sect1 id="pre-audience">
-<title>Audience</title>
-<?dbhtml filename="audience.html" dir="preface"?>
-
-<sect2>
-<title>Who would want to read this book</title>
-
-<para>There are many reasons why somebody would want to read this book. The
-principal reason being to install a Linux system straight from the source
-code. A question many people raise is "Why go through all the hassle of
-manually building a Linux system from scratch when you can just download and
-install an existing one?". That is a good question and is the impetus for this
-section of the book.</para>
-
-<para>One important reason for LFS's existence is to help people learn how a
-Linux system works from the inside out. Building an LFS system helps demonstrate
-to you what makes Linux tick, how things work together and depend on each
-other. One of the best things that this learning experience provides is the
-ability to customize Linux to your own tastes and needs.</para>
-
-<para>A key benefit of LFS is that you have more control of your system
-without relying on someone else's Linux implementation. With LFS, you are
-in the driver's seat and dictate every aspect of your system, such as the
-directory layout and bootscript setup. You also dictate where, why and how
-programs are installed.</para>
-
-<para>Another benefit of LFS is the ability to create a very compact Linux
-system. When installing a regular distribution, you are usually forced to
-install several programs which you are likely never to use. They're just
-sitting there wasting precious disk space (or worse, CPU cycles). It isn't
-difficult to build an LFS system less than 100 MB. Does that still sound like a
-lot? A few of us have been working on creating a very small embedded LFS
-system. We successfully built a system that was just enough to run the Apache
-web server with approximately 8MB of disk space used. Further stripping could
-bring that down to 5 MB or less. Try that with a regular distribution.</para>
-
-<para>We could compare distributed Linux to a hamburger you buy at a
-fast-food restaurant -- you have no idea what you are eating. LFS, on the
-other hand, doesn't give you a hamburger, but the recipe to make a hamburger.
-This allows you to review it, to omit unwanted ingredients, and to
-add your own ingredients which enhance the flavor of your burger. When you
-are satisfied with the recipe, you go on to preparing it. You make it just
-the way you like it: broil it, bake it, deep-fry it, barbecue it, or eat it
-tar-tar (raw).</para>
-
-<para>Another analogy that we can use is that of comparing LFS with a
-finished house. LFS will give you the skeletal plan of a house, but it's up
-to you to build it. You have the freedom to adjust your plans as you
-go.</para>
-
-<para>One last advantage of a custom built Linux system is security.
-By compiling the entire system from source code, you are empowered to audit
-everything and apply all the security patches you feel are needed. You don't
-have to wait for somebody else to compile binary packages that fix a security
-hole. Unless you examine the patch and implement it yourself you have no
-guarantee that the new binary package was built correctly and actually fixes the
-problem (adequately).</para>
-
-<para>There are too many good reasons to build your own LFS system for them all
-to be listed here. This section is only the tip of the iceberg. As you
-continue in your LFS experience, you will find on your own the power that
-information and knowledge truly bring.</para>
-
-</sect2>
-
-<sect2>
-<title>Who would not want to read this book</title>
-
-<para>There are probably some who, for whatever reason, would feel that they do not
-want to read this book. If you do not wish to build your own Linux system from
-scratch, then you probably don't want to read this book. Our goal is to help
-you build a complete and usable foundation-level system. If you only want to
-know what happens while your computer boots, then we recommend the <quote>From
-Power Up To Bash Prompt</quote> HOWTO. The HOWTO builds a bare system which is
-similar to that of this book, but it focuses strictly on creating a system
-capable of booting to a BASH prompt.</para>
-
-<para>While you decide which to read, consider your objective. If you wish
-to build a Linux system while learning a bit along the way, then this book
-is probably your best choice. If your objective is strictly educational and
-you do not have any plans for your finished system, then the
-<quote>From Power Up To Bash Prompt</quote> HOWTO is probably a better choice.</para>
-
-<para>The <quote>From Power Up To Bash Prompt</quote> HOWTO is located at
-<ulink url="http://axiom.anu.edu.au/~okeefe/p2b/"/> or on The Linux
-Documentation Project's website at
-<ulink url="http://www.tldp.org/HOWTO/From-PowerUp-To-Bash-Prompt-HOWTO.html"/>.</para>
-
-</sect2>
-
-</sect1>
diff --git a/preface/foreword.xml b/preface/foreword.xml
deleted file mode 100644
index ef1665b3b..000000000
--- a/preface/foreword.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<sect1 id="pf-foreword">
-<title>Foreword</title>
-<?dbhtml filename="foreword.html" dir="preface"?>
-
-<para>Having used a number of different Linux distributions, I was never
-fully satisfied with any of them. I didn't like the arrangement of
-the bootscripts. I didn't like the way certain programs were configured by
-default. Much more of that sort of thing bothered me. Finally I realized
-that if I wanted full satisfaction from my Linux system I would have to
-build my own system from scratch, using only the source code. I resolved
-not to use pre-compiled packages of any kind, nor CD-ROM or boot disk that
-would install some basic utilities. I would use my current Linux system to
-develop my own.</para>
-
-<para>This wild idea seemed very difficult at the time and often seemed
-an impossible task. After sorting out all kinds of problems, such as
-dependencies and compile-time errors, a custom-built Linux system was
-created that was fully operational. I called this system a Linux From Scratch
-system, or LFS for short.</para>
-
-<para>I hope you will have a great time working on your own LFS!</para>
-
-<literallayout>
---
-Gerard Beekmans
-gerard@linuxfromscratch.org
-</literallayout>
-
-</sect1>
-
diff --git a/preface/organization.xml b/preface/organization.xml
deleted file mode 100644
index 474f33773..000000000
--- a/preface/organization.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<sect1 id="pre-organization">
-<title>Structure</title>
-<?dbhtml filename="organization.html" dir="preface"?>
-
-<para>This book is divided into the following four parts:</para>
-
-<itemizedlist>
-
-<listitem>
-<para>Part I explains in some detail how the LFS system is built, lists the
-changes made to the book since the last version, and gives hints on how to
-find help in case you run into trouble.</para>
-</listitem>
-
-<listitem>
-<para>Part II describes how to prepare for the building process: making a
-partition, downloading the packages, setting up a good working environment,
-and compiling temporary tools.</para>
-</listitem>
-
-<listitem>
-<para>Part III guides you through the building of the LFS system: compiling
-and installing all the packages one by one, setting up the boot scripts, and
-installing the kernel. The resulting basic Linux system is the foundation
-upon which you can build other software, to extend your system in the way
-you like.</para>
-</listitem>
-
-<listitem>
-<para>Part IV consists of two appendices. The first is an alphabetical list of
-all the installed packages, and the second an alphabetical list of all the
-installed programs and libraries, mentioning which package installed it.</para>
-</listitem>
-
-</itemizedlist>
-
-</sect1>
diff --git a/preface/preface.xml b/preface/preface.xml
deleted file mode 100644
index 5fd043488..000000000
--- a/preface/preface.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<preface id="preface">
-<title>Preface</title>
-<?dbhtml filename="preface.html" dir="preface"?>
-
-&pf-foreword;
-&pf-audience;
-&pf-prerequisites;
-&pf-typography;
-&pf-acknowledgements;
-&pf-organization;
-
-</preface>
diff --git a/preface/prerequisites.xml b/preface/prerequisites.xml
deleted file mode 100644
index 9ba2308d7..000000000
--- a/preface/prerequisites.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<sect1 id="pf-prerequisites">
-<title>Prerequisites</title>
-<?dbhtml filename="prerequisites.html" dir="preface"?>
-
-<para>This book assumes that its reader has a good deal of knowledge about
-using and installing Linux software. Before you begin building your LFS
-system, you should read the following HOWTOs:</para>
-
-<itemizedlist>
-<listitem><para>Software-Building-HOWTO</para>
-
-<para>This is a comprehensive guide to building and installing "generic"
-Unix software distributions under Linux. This HOWTO is available at
-<ulink url="&tldp-root;HOWTO/Software-Building-HOWTO.html"/>.</para></listitem>
-
-<listitem><para>The Linux Users' Guide</para>
-
-<para>This guide covers the usage of assorted Linux software and is
-available at
-<ulink url="http://espc22.murdoch.edu.au/~stewart/guide/guide.html"/>.</para></listitem>
-
-<listitem><para>The Essential Pre-Reading Hint</para>
-
-<para>This is an LFS Hint written specifically for new users of Linux. It is
-mostly a list of links to excellent sources of information on a wide range of
-topics. Any person attempting to install LFS, should at least have an
-understanding of many of the topics in this hint. It is available at
-
-<ulink url="&hints-root;essential_prereading.txt"/></para></listitem>
-
-</itemizedlist>
-
-</sect1>
diff --git a/preface/typography.xml b/preface/typography.xml
deleted file mode 100644
index 73f20a931..000000000
--- a/preface/typography.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<sect1 id="pre-typography">
-<title>Typography</title>
-<?dbhtml filename="typography.html" dir="preface"?>
-
-<para>To make things easier to follow, there are a few typographical
-conventions used throughout the book. Following are some examples:</para>
-
-<screen><userinput>./configure --prefix=/usr</userinput></screen>
-
-<blockquote><para>This form of text is designed to be typed exactly
-as seen unless otherwise noted in the surrounding text. It is also used
-in the explanation sections to identify which of the commands is being
-referenced.</para></blockquote>
-
-<para><filename>install-info: unknown option
-`--dir-file=/mnt/lfs/usr/info/dir'</filename></para>
-
-<blockquote><para>This form of text (fixed width text) is showing screen
-output, probably as the result of commands issued, and is also used to
-show filenames, such as <filename>/etc/ld.so.conf</filename>.</para></blockquote>
-
-<para><emphasis>Emphasis</emphasis></para>
-
-<blockquote><para>This form of text is used for several purposes in the
-book, mainly to emphasize important points, and to give examples of
-what to type.</para></blockquote>
-
-<para><ulink url="&lfs-root;"/></para>
-
-<blockquote><para>This form of text is used for hyperlinks, both within the
-book and to external pages such as HOWTOs, download locations and
-websites.</para></blockquote>
-
-<screen><userinput>cat &gt; $LFS/etc/group &lt;&lt; "EOF"</userinput>
-root:x:0:
-bin:x:1:
-......
-<userinput>EOF</userinput>
-</screen>
-
-<blockquote><para>This type of section is used mainly when creating
-configuration files. The first command tells the system to create
-the file $LFS/etc/group from whatever is typed on the following lines until
-the sequence EOF is encountered. Therefore, this whole section is generally
-typed as seen.</para></blockquote>
-
-</sect1>
-