From 9c0eb8f8f78200e16eb48057f79bb884eeb5f9af Mon Sep 17 00:00:00 2001
From: gferg <>
Date: Tue, 25 May 2004 13:56:52 +0000
Subject: [PATCH] *** empty log message ***
---
.../LFS/appendixa/autoconf-shortdesc.xml | 11 +
.../LFS/appendixa/automake-shortdesc.xml | 12 +
.../docbook/LFS/appendixa/bash-shortdesc.xml | 15 ++
.../LFS/appendixa/binutils-shortdesc.xml | 17 ++
.../docbook/LFS/appendixa/bison-shortdesc.xml | 13 +
.../LFS/appendixa/bootscripts-shortdesc.xml | 15 ++
.../docbook/LFS/appendixa/bzip2-shortdesc.xml | 17 ++
.../docbook/LFS/appendixa/coreutils-dep.xml | 12 +
.../docbook/LFS/appendixa/coreutils-desc.xml | 242 ++++++++++++++++++
.../docbook/LFS/appendixa/coreutils-down.xml | 12 +
.../LFS/appendixa/coreutils-shortdesc.xml | 18 ++
LDP/guide/docbook/LFS/appendixa/coreutils.xml | 13 +
.../docbook/LFS/appendixa/dejagnu-dep.xml | 12 +
.../docbook/LFS/appendixa/dejagnu-desc.xml | 8 +
.../docbook/LFS/appendixa/dejagnu-down.xml | 6 +
.../LFS/appendixa/dejagnu-shortdesc.xml | 10 +
LDP/guide/docbook/LFS/appendixa/dejagnu.xml | 13 +
.../LFS/appendixa/diffutils-shortdesc.xml | 12 +
.../LFS/appendixa/e2fsprogs-shortdesc.xml | 19 ++
.../docbook/LFS/appendixa/ed-shortdesc.xml | 10 +
.../docbook/LFS/appendixa/expect-dep.xml | 12 +
.../docbook/LFS/appendixa/expect-desc.xml | 8 +
.../docbook/LFS/appendixa/expect-down.xml | 9 +
.../LFS/appendixa/expect-shortdesc.xml | 13 +
LDP/guide/docbook/LFS/appendixa/expect.xml | 13 +
.../docbook/LFS/appendixa/file-shortdesc.xml | 12 +
.../LFS/appendixa/findutils-shortdesc.xml | 14 +
.../docbook/LFS/appendixa/flex-shortdesc.xml | 14 +
.../docbook/LFS/appendixa/gawk-shortdesc.xml | 11 +
.../docbook/LFS/appendixa/gcc-shortdesc.xml | 15 ++
.../LFS/appendixa/gettext-shortdesc.xml | 19 ++
.../docbook/LFS/appendixa/glibc-shortdesc.xml | 23 ++
.../docbook/LFS/appendixa/grep-shortdesc.xml | 12 +
.../docbook/LFS/appendixa/groff-shortdesc.xml | 17 ++
LDP/guide/docbook/LFS/appendixa/grub-dep.xml | 12 +
LDP/guide/docbook/LFS/appendixa/grub-desc.xml | 18 ++
LDP/guide/docbook/LFS/appendixa/grub-down.xml | 9 +
.../docbook/LFS/appendixa/grub-shortdesc.xml | 10 +
LDP/guide/docbook/LFS/appendixa/grub.xml | 13 +
.../docbook/LFS/appendixa/gzip-shortdesc.xml | 12 +
.../docbook/LFS/appendixa/inetutils-dep.xml | 12 +
.../docbook/LFS/appendixa/inetutils-desc.xml | 23 ++
.../docbook/LFS/appendixa/inetutils-down.xml | 9 +
.../LFS/appendixa/inetutils-shortdesc.xml | 10 +
LDP/guide/docbook/LFS/appendixa/inetutils.xml | 12 +
.../docbook/LFS/appendixa/kbd-shortdesc.xml | 15 ++
.../LFS/appendixa/kernel-shortdesc.xml | 16 ++
.../docbook/LFS/appendixa/less-shortdesc.xml | 13 +
.../docbook/LFS/appendixa/lfs-utils-dep.xml | 8 +
.../docbook/LFS/appendixa/lfs-utils-desc.xml | 20 ++
.../docbook/LFS/appendixa/lfs-utils-down.xml | 9 +
.../LFS/appendixa/lfs-utils-shortdesc.xml | 14 +
LDP/guide/docbook/LFS/appendixa/lfs-utils.xml | 13 +
.../LFS/appendixa/libtool-shortdesc.xml | 14 +
.../docbook/LFS/appendixa/m4-shortdesc.xml | 15 ++
.../docbook/LFS/appendixa/make-shortdesc.xml | 11 +
.../LFS/appendixa/makedev-shortdesc.xml | 13 +
.../docbook/LFS/appendixa/man-shortdesc.xml | 11 +
.../LFS/appendixa/manpages-shortdesc.xml | 13 +
.../LFS/appendixa/modutils-shortdesc.xml | 14 +
.../LFS/appendixa/ncurses-shortdesc.xml | 16 ++
.../LFS/appendixa/nettools-shortdesc.xml | 14 +
.../docbook/LFS/appendixa/patch-shortdesc.xml | 12 +
.../docbook/LFS/appendixa/perl-shortdesc.xml | 17 ++
.../LFS/appendixa/procinfo-shortdesc.xml | 13 +
.../LFS/appendixa/procps-shortdesc.xml | 15 ++
.../LFS/appendixa/psmisc-shortdesc.xml | 11 +
.../docbook/LFS/appendixa/sed-shortdesc.xml | 12 +
.../LFS/appendixa/shadowpwd-shortdesc.xml | 14 +
.../LFS/appendixa/sysklogd-shortdesc.xml | 11 +
.../LFS/appendixa/sysvinit-shortdesc.xml | 14 +
.../docbook/LFS/appendixa/tar-shortdesc.xml | 10 +
LDP/guide/docbook/LFS/appendixa/tcl-dep.xml | 12 +
LDP/guide/docbook/LFS/appendixa/tcl-desc.xml | 9 +
LDP/guide/docbook/LFS/appendixa/tcl-down.xml | 7 +
.../docbook/LFS/appendixa/tcl-shortdesc.xml | 13 +
LDP/guide/docbook/LFS/appendixa/tcl.xml | 13 +
.../LFS/appendixa/texinfo-shortdesc.xml | 12 +
.../LFS/appendixa/utillinux-shortdesc.xml | 20 ++
.../docbook/LFS/appendixa/vim-shortdesc.xml | 14 +
.../docbook/LFS/appendixa/zlib-shortdesc.xml | 11 +
LDP/guide/docbook/LFS/book.xml | 36 +++
LDP/guide/docbook/LFS/bookinfo.xml | 60 +++++
.../LFS/chapter02/aboutdependencies.xml | 57 +++++
.../docbook/LFS/chapter02/abouttestsuites.xml | 32 +++
.../docbook/LFS/chapter03/creatingfs.xml | 29 +++
.../docbook/LFS/chapter03/creatingpart.xml | 40 +++
LDP/guide/docbook/LFS/chapter03/mounting.xml | 46 ++++
.../docbook/LFS/chapter05/adding-user.xml | 36 +++
.../docbook/LFS/chapter05/binutils-pass1.xml | 118 +++++++++
.../docbook/LFS/chapter05/binutils-pass2.xml | 78 ++++++
LDP/guide/docbook/LFS/chapter05/coreutils.xml | 46 ++++
.../LFS/chapter05/creatingstage1dir.xml | 38 +++
LDP/guide/docbook/LFS/chapter05/dejagnu.xml | 27 ++
LDP/guide/docbook/LFS/chapter05/expect.xml | 69 +++++
LDP/guide/docbook/LFS/chapter05/gcc-pass1.xml | 101 ++++++++
LDP/guide/docbook/LFS/chapter05/gcc-pass2.xml | 174 +++++++++++++
LDP/guide/docbook/LFS/chapter05/gettext.xml | 41 +++
LDP/guide/docbook/LFS/chapter05/glibc.xml | 181 +++++++++++++
.../docbook/LFS/chapter05/kernelheaders.xml | 58 +++++
.../docbook/LFS/chapter05/lockingglibc.xml | 97 +++++++
LDP/guide/docbook/LFS/chapter05/ncurses.xml | 55 ++++
LDP/guide/docbook/LFS/chapter05/perl.xml | 41 +++
.../LFS/chapter05/setting-environment.xml | 58 +++++
LDP/guide/docbook/LFS/chapter05/tcl.xml | 69 +++++
.../LFS/chapter05/toolchaintechnotes.xml | 200 +++++++++++++++
.../LFS/chapter06/adjustingtoolchain.xml | 96 +++++++
LDP/guide/docbook/LFS/chapter06/coreutils.xml | 90 +++++++
LDP/guide/docbook/LFS/chapter06/gcc-2953.xml | 61 +++++
LDP/guide/docbook/LFS/chapter06/grub.xml | 53 ++++
LDP/guide/docbook/LFS/chapter06/inetutils.xml | 63 +++++
LDP/guide/docbook/LFS/chapter06/lfs-utils.xml | 36 +++
.../docbook/LFS/chapter06/revisedchroot.xml | 19 ++
LDP/guide/docbook/LFS/chapter08/grub.xml | 118 +++++++++
.../docbook/LFS/chapter08/kernel-inst.xml | 91 +++++++
LDP/guide/docbook/LFS/chapter09/whatnow.xml | 40 +++
LDP/guide/docbook/LFS/entities/autoconf.ent | 17 ++
LDP/guide/docbook/LFS/entities/automake.ent | 17 ++
LDP/guide/docbook/LFS/entities/bash.ent | 25 ++
LDP/guide/docbook/LFS/entities/binutils.ent | 26 ++
LDP/guide/docbook/LFS/entities/bison.ent | 20 ++
.../docbook/LFS/entities/book-structure.xml | 75 ++++++
.../docbook/LFS/entities/bootscripts.ent | 17 ++
LDP/guide/docbook/LFS/entities/bzip2.ent | 22 ++
LDP/guide/docbook/LFS/entities/coreutils.ent | 27 ++
LDP/guide/docbook/LFS/entities/dejagnu.ent | 17 ++
LDP/guide/docbook/LFS/entities/diffutils.ent | 22 ++
LDP/guide/docbook/LFS/entities/e2fsprogs.ent | 17 ++
LDP/guide/docbook/LFS/entities/ed.ent | 20 ++
LDP/guide/docbook/LFS/entities/expect.ent | 20 ++
LDP/guide/docbook/LFS/entities/file.ent | 17 ++
LDP/guide/docbook/LFS/entities/findutils.ent | 22 ++
LDP/guide/docbook/LFS/entities/flex.ent | 17 ++
LDP/guide/docbook/LFS/entities/gawk.ent | 25 ++
LDP/guide/docbook/LFS/entities/gcc-2953.ent | 24 ++
LDP/guide/docbook/LFS/entities/gcc.ent | 37 +++
LDP/guide/docbook/LFS/entities/gettext.ent | 22 ++
LDP/guide/docbook/LFS/entities/glibc.ent | 29 +++
LDP/guide/docbook/LFS/entities/grep.ent | 22 ++
LDP/guide/docbook/LFS/entities/groff.ent | 17 ++
LDP/guide/docbook/LFS/entities/grub.ent | 20 ++
LDP/guide/docbook/LFS/entities/gzip.ent | 22 ++
LDP/guide/docbook/LFS/entities/inetutils.ent | 17 ++
LDP/guide/docbook/LFS/entities/kbd.ent | 20 ++
LDP/guide/docbook/LFS/entities/kernel.ent | 29 +++
LDP/guide/docbook/LFS/entities/less.ent | 17 ++
LDP/guide/docbook/LFS/entities/lfs-utils.ent | 17 ++
LDP/guide/docbook/LFS/entities/libtool.ent | 20 ++
LDP/guide/docbook/LFS/entities/m4.ent | 17 ++
LDP/guide/docbook/LFS/entities/make.ent | 22 ++
LDP/guide/docbook/LFS/entities/makedev.ent | 16 ++
LDP/guide/docbook/LFS/entities/man.ent | 25 ++
LDP/guide/docbook/LFS/entities/manpages.ent | 17 ++
LDP/guide/docbook/LFS/entities/modutils.ent | 17 ++
LDP/guide/docbook/LFS/entities/ncurses.ent | 27 ++
LDP/guide/docbook/LFS/entities/nettools.ent | 20 ++
LDP/guide/docbook/LFS/entities/patch.ent | 22 ++
LDP/guide/docbook/LFS/entities/perl.ent | 25 ++
LDP/guide/docbook/LFS/entities/procinfo.ent | 17 ++
LDP/guide/docbook/LFS/entities/procps.ent | 20 ++
LDP/guide/docbook/LFS/entities/psmisc.ent | 17 ++
LDP/guide/docbook/LFS/entities/sed.ent | 22 ++
LDP/guide/docbook/LFS/entities/shadow.ent | 21 ++
LDP/guide/docbook/LFS/entities/sysklogd.ent | 20 ++
LDP/guide/docbook/LFS/entities/sysvinit.ent | 18 ++
LDP/guide/docbook/LFS/entities/tar.ent | 22 ++
LDP/guide/docbook/LFS/entities/tcl.ent | 17 ++
LDP/guide/docbook/LFS/entities/texinfo.ent | 22 ++
LDP/guide/docbook/LFS/entities/utillinux.ent | 22 ++
LDP/guide/docbook/LFS/entities/vim.ent | 18 ++
LDP/guide/docbook/LFS/entities/zlib.ent | 20 ++
LDP/guide/docbook/LFS/preface/audience.xml | 91 +++++++
.../docbook/LFS/preface/prerequisites.xml | 33 +++
173 files changed, 5066 insertions(+)
create mode 100644 LDP/guide/docbook/LFS/appendixa/autoconf-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/automake-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/bash-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/binutils-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/bison-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/bootscripts-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/bzip2-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/coreutils-dep.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/coreutils-desc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/coreutils-down.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/coreutils-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/coreutils.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/dejagnu-dep.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/dejagnu-desc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/dejagnu-down.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/dejagnu-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/dejagnu.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/diffutils-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/e2fsprogs-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/ed-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/expect-dep.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/expect-desc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/expect-down.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/expect-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/expect.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/file-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/findutils-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/flex-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/gawk-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/gcc-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/gettext-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/glibc-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/grep-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/groff-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/grub-dep.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/grub-desc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/grub-down.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/grub-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/grub.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/gzip-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/inetutils-dep.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/inetutils-desc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/inetutils-down.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/inetutils-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/inetutils.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/kbd-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/kernel-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/less-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/lfs-utils-dep.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/lfs-utils-desc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/lfs-utils-down.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/lfs-utils-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/lfs-utils.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/libtool-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/m4-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/make-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/makedev-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/man-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/manpages-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/modutils-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/ncurses-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/nettools-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/patch-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/perl-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/procinfo-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/procps-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/psmisc-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/sed-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/shadowpwd-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/sysklogd-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/sysvinit-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/tar-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/tcl-dep.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/tcl-desc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/tcl-down.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/tcl-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/tcl.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/texinfo-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/utillinux-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/vim-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/appendixa/zlib-shortdesc.xml
create mode 100644 LDP/guide/docbook/LFS/book.xml
create mode 100644 LDP/guide/docbook/LFS/bookinfo.xml
create mode 100644 LDP/guide/docbook/LFS/chapter02/aboutdependencies.xml
create mode 100644 LDP/guide/docbook/LFS/chapter02/abouttestsuites.xml
create mode 100644 LDP/guide/docbook/LFS/chapter03/creatingfs.xml
create mode 100644 LDP/guide/docbook/LFS/chapter03/creatingpart.xml
create mode 100644 LDP/guide/docbook/LFS/chapter03/mounting.xml
create mode 100644 LDP/guide/docbook/LFS/chapter05/adding-user.xml
create mode 100644 LDP/guide/docbook/LFS/chapter05/binutils-pass1.xml
create mode 100644 LDP/guide/docbook/LFS/chapter05/binutils-pass2.xml
create mode 100644 LDP/guide/docbook/LFS/chapter05/coreutils.xml
create mode 100644 LDP/guide/docbook/LFS/chapter05/creatingstage1dir.xml
create mode 100644 LDP/guide/docbook/LFS/chapter05/dejagnu.xml
create mode 100644 LDP/guide/docbook/LFS/chapter05/expect.xml
create mode 100644 LDP/guide/docbook/LFS/chapter05/gcc-pass1.xml
create mode 100644 LDP/guide/docbook/LFS/chapter05/gcc-pass2.xml
create mode 100644 LDP/guide/docbook/LFS/chapter05/gettext.xml
create mode 100644 LDP/guide/docbook/LFS/chapter05/glibc.xml
create mode 100644 LDP/guide/docbook/LFS/chapter05/kernelheaders.xml
create mode 100644 LDP/guide/docbook/LFS/chapter05/lockingglibc.xml
create mode 100644 LDP/guide/docbook/LFS/chapter05/ncurses.xml
create mode 100644 LDP/guide/docbook/LFS/chapter05/perl.xml
create mode 100644 LDP/guide/docbook/LFS/chapter05/setting-environment.xml
create mode 100644 LDP/guide/docbook/LFS/chapter05/tcl.xml
create mode 100644 LDP/guide/docbook/LFS/chapter05/toolchaintechnotes.xml
create mode 100644 LDP/guide/docbook/LFS/chapter06/adjustingtoolchain.xml
create mode 100644 LDP/guide/docbook/LFS/chapter06/coreutils.xml
create mode 100644 LDP/guide/docbook/LFS/chapter06/gcc-2953.xml
create mode 100644 LDP/guide/docbook/LFS/chapter06/grub.xml
create mode 100644 LDP/guide/docbook/LFS/chapter06/inetutils.xml
create mode 100644 LDP/guide/docbook/LFS/chapter06/lfs-utils.xml
create mode 100644 LDP/guide/docbook/LFS/chapter06/revisedchroot.xml
create mode 100644 LDP/guide/docbook/LFS/chapter08/grub.xml
create mode 100644 LDP/guide/docbook/LFS/chapter08/kernel-inst.xml
create mode 100644 LDP/guide/docbook/LFS/chapter09/whatnow.xml
create mode 100644 LDP/guide/docbook/LFS/entities/autoconf.ent
create mode 100644 LDP/guide/docbook/LFS/entities/automake.ent
create mode 100644 LDP/guide/docbook/LFS/entities/bash.ent
create mode 100644 LDP/guide/docbook/LFS/entities/binutils.ent
create mode 100644 LDP/guide/docbook/LFS/entities/bison.ent
create mode 100644 LDP/guide/docbook/LFS/entities/book-structure.xml
create mode 100644 LDP/guide/docbook/LFS/entities/bootscripts.ent
create mode 100644 LDP/guide/docbook/LFS/entities/bzip2.ent
create mode 100644 LDP/guide/docbook/LFS/entities/coreutils.ent
create mode 100644 LDP/guide/docbook/LFS/entities/dejagnu.ent
create mode 100644 LDP/guide/docbook/LFS/entities/diffutils.ent
create mode 100644 LDP/guide/docbook/LFS/entities/e2fsprogs.ent
create mode 100644 LDP/guide/docbook/LFS/entities/ed.ent
create mode 100644 LDP/guide/docbook/LFS/entities/expect.ent
create mode 100644 LDP/guide/docbook/LFS/entities/file.ent
create mode 100644 LDP/guide/docbook/LFS/entities/findutils.ent
create mode 100644 LDP/guide/docbook/LFS/entities/flex.ent
create mode 100644 LDP/guide/docbook/LFS/entities/gawk.ent
create mode 100644 LDP/guide/docbook/LFS/entities/gcc-2953.ent
create mode 100644 LDP/guide/docbook/LFS/entities/gcc.ent
create mode 100644 LDP/guide/docbook/LFS/entities/gettext.ent
create mode 100644 LDP/guide/docbook/LFS/entities/glibc.ent
create mode 100644 LDP/guide/docbook/LFS/entities/grep.ent
create mode 100644 LDP/guide/docbook/LFS/entities/groff.ent
create mode 100644 LDP/guide/docbook/LFS/entities/grub.ent
create mode 100644 LDP/guide/docbook/LFS/entities/gzip.ent
create mode 100644 LDP/guide/docbook/LFS/entities/inetutils.ent
create mode 100644 LDP/guide/docbook/LFS/entities/kbd.ent
create mode 100644 LDP/guide/docbook/LFS/entities/kernel.ent
create mode 100644 LDP/guide/docbook/LFS/entities/less.ent
create mode 100644 LDP/guide/docbook/LFS/entities/lfs-utils.ent
create mode 100644 LDP/guide/docbook/LFS/entities/libtool.ent
create mode 100644 LDP/guide/docbook/LFS/entities/m4.ent
create mode 100644 LDP/guide/docbook/LFS/entities/make.ent
create mode 100644 LDP/guide/docbook/LFS/entities/makedev.ent
create mode 100644 LDP/guide/docbook/LFS/entities/man.ent
create mode 100644 LDP/guide/docbook/LFS/entities/manpages.ent
create mode 100644 LDP/guide/docbook/LFS/entities/modutils.ent
create mode 100644 LDP/guide/docbook/LFS/entities/ncurses.ent
create mode 100644 LDP/guide/docbook/LFS/entities/nettools.ent
create mode 100644 LDP/guide/docbook/LFS/entities/patch.ent
create mode 100644 LDP/guide/docbook/LFS/entities/perl.ent
create mode 100644 LDP/guide/docbook/LFS/entities/procinfo.ent
create mode 100644 LDP/guide/docbook/LFS/entities/procps.ent
create mode 100644 LDP/guide/docbook/LFS/entities/psmisc.ent
create mode 100644 LDP/guide/docbook/LFS/entities/sed.ent
create mode 100644 LDP/guide/docbook/LFS/entities/shadow.ent
create mode 100644 LDP/guide/docbook/LFS/entities/sysklogd.ent
create mode 100644 LDP/guide/docbook/LFS/entities/sysvinit.ent
create mode 100644 LDP/guide/docbook/LFS/entities/tar.ent
create mode 100644 LDP/guide/docbook/LFS/entities/tcl.ent
create mode 100644 LDP/guide/docbook/LFS/entities/texinfo.ent
create mode 100644 LDP/guide/docbook/LFS/entities/utillinux.ent
create mode 100644 LDP/guide/docbook/LFS/entities/vim.ent
create mode 100644 LDP/guide/docbook/LFS/entities/zlib.ent
create mode 100644 LDP/guide/docbook/LFS/preface/audience.xml
create mode 100644 LDP/guide/docbook/LFS/preface/prerequisites.xml
diff --git a/LDP/guide/docbook/LFS/appendixa/autoconf-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/autoconf-shortdesc.xml
new file mode 100644
index 00000000..8826aeea
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/autoconf-shortdesc.xml
@@ -0,0 +1,11 @@
+Contents of Autoconf
+
+
+
+Autoconf produces shell scripts which automatically configure source
+code.
+
+Installed programs: autoconf, autoheader, autom4te,
+autoreconf, autoscan, autoupdate and ifnames
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/automake-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/automake-shortdesc.xml
new file mode 100644
index 00000000..b81651a0
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/automake-shortdesc.xml
@@ -0,0 +1,12 @@
+Contents of Automake
+
+
+
+Automake generates Makefile.in files, intended for use with Autoconf.
+
+Installed programs: acinstall, aclocal,
+aclocal-1.7, automake, automake-1.7, compile, config.guess, config.sub,
+depcomp, elisp-comp, install-sh, mdate-sh, missing, mkinstalldirs, py-compile,
+ylwrap
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/bash-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/bash-shortdesc.xml
new file mode 100644
index 00000000..ec8aac8e
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/bash-shortdesc.xml
@@ -0,0 +1,15 @@
+Contents of Bash
+
+
+
+bash is the Bourne-Again SHell, which is a widely used command
+interpreter on Unix systems. The bash program reads from standard
+input (the keyboard). A user types something and the program will evaluate
+what he has typed and do something with it, like running a
+program.
+
+Installed programs: bash, sh (link to bash) and
+bashbug
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/binutils-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/binutils-shortdesc.xml
new file mode 100644
index 00000000..23635f98
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/binutils-shortdesc.xml
@@ -0,0 +1,17 @@
+Contents of Binutils
+
+
+
+Binutils is a collection of software development tools containing a
+linker, assembler and other tools to work with object files and
+archives.
+
+Installed programs: addr2line, ar, as, c++filt,
+gprof, ld, nm, objcopy, objdump, ranlib, readelf, size, strings and
+strip
+
+Installed libraries: libiberty.a, libbfd.[a,so] and
+libopcodes.[a,so]
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/bison-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/bison-shortdesc.xml
new file mode 100644
index 00000000..6bd85e32
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/bison-shortdesc.xml
@@ -0,0 +1,13 @@
+Contents of Bison
+
+
+
+Bison is a parser generator, a replacement for yacc. Bison
+generates a program that analyzes the structure of a text file.
+
+Installed programs: bison and yacc
+
+Installed library: liby.a
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/bootscripts-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/bootscripts-shortdesc.xml
new file mode 100644
index 00000000..aad9081d
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/bootscripts-shortdesc.xml
@@ -0,0 +1,15 @@
+Contents of LFS-bootscripts
+
+
+
+The LFS-Bootscripts package contains SysV init style shell
+scripts. These scripts do various tasks such as check filesystem
+integrity during boot, load keymaps, set up networks and halt
+processes at shutdown.
+
+Installed scripts: checkfs, cleanfs, functions,
+halt, ifdown, ifup, loadkeys, localnet, mountfs, mountproc, network, rc,
+reboot, sendsignals, setclock, swap, sysklogd and template
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/bzip2-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/bzip2-shortdesc.xml
new file mode 100644
index 00000000..b0047715
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/bzip2-shortdesc.xml
@@ -0,0 +1,17 @@
+Contents of Bzip2
+
+
+
+Bzip2 is a block-sorting file compressor which generally achieves a
+better compression than the traditional gzip
+does.
+
+Installed programs: bunzip2 (link to bzip2), bzcat
+(link to bzip2), bzcmp, bzdiff, bzegrep, bzfgrep, bzgrep, bzip2, bzip2recover,
+bzless and bzmore
+
+Installed libraries: 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
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/coreutils-dep.xml b/LDP/guide/docbook/LFS/appendixa/coreutils-dep.xml
new file mode 100644
index 00000000..6993b53f
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/coreutils-dep.xml
@@ -0,0 +1,12 @@
+
+
+
+Coreutils Installation Dependencies
+
+
+
+Coreutils depends on: Bash, Binutils, Coreutils, Diffutils, GCC,
+Gettext, Glibc, Grep, Make, Perl, Sed.
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/coreutils-desc.xml b/LDP/guide/docbook/LFS/appendixa/coreutils-desc.xml
new file mode 100644
index 00000000..80e6602e
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/coreutils-desc.xml
@@ -0,0 +1,242 @@
+
+
+Short descriptions
+
+basename strips any path and a given suffix from
+the given file name.
+
+cat concatenates files to standard output.
+
+chgrp 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.
+
+chmod 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.
+
+chown changes the user and/or group ownership of
+each given file to the given user:group pair.
+
+chroot runs a given command with the specified
+directory as the / directory. The given command can be an
+interactive shell. On most systems only root can do
+this.
+
+cksum prints the CRC checksum and the byte
+counts of each specified file.
+
+comm compares two sorted files, outputting in
+three columns the lines that are unique, and the lines that are common.
+
+cp copies files.
+
+csplit 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.
+
+cut prints parts of lines, selecting the parts
+according to given fields or positions.
+
+date displays the current time in the given
+format, or sets the system date.
+
+dd copies a file using the given blocksize and
+count, while optionally performing conversions on it.
+
+df reports the amount of disk space available
+(and used) on all mounted filesystems, or only on the filesystems holding the
+given files.
+
+dir is the same as ls.
+
+dircolors outputs commands to set the LS_COLOR
+environment variable, to change the color scheme used by ls.
+
+dirname strips the non-directory suffix from
+a given file name.
+
+du 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.
+
+echo displays the given strings.
+
+env runs a command in a modified environment.
+
+expand converts tabs to spaces.
+
+expr evaluates expressions.
+
+factor prints the prime factors of all specified
+integer numbers.
+
+false does nothing, unsuccessfully. It always
+exits with a status code indicating failure.
+
+fmt reformats the paragraphs in the given files.
+
+fold wraps the lines in the given files.
+
+groups reports a user's group memberships.
+
+head prints the first ten lines (or the given
+number of lines) of each given file.
+
+hostid reports the numeric identifier
+(in hexadecimal) of the host.
+
+hostname reports or sets the name of the
+host.
+
+id reports the effective user ID, group ID, and
+group memberships of the current user, or of a given user.
+
+install copies files while setting their
+permission modes and, if possible, their owner and group.
+
+join joins from two files the lines that have
+identical join fields.
+
+kill terminates the given process.
+
+link creates a hard link with the given name
+to the given file.
+
+ln makes hard links or soft links between files.
+
+logname reports the current user's login name.
+
+ls lists the contents of each given directory.
+By default it orders the files and subdirectories alphabetically.
+
+md5sum reports or checks MD5 checksums.
+
+mkdir creates directories with the given names.
+
+mkfifo creates FIFOs with the given names.
+
+mknod creates device nodes with the given names.
+A device node is a character special file, or a block special file, or a FIFO.
+
+mv moves or renames files or directories.
+
+nice runs a program with modified scheduling priority.
+
+nl numbers the lines from the given files.
+
+nohup runs a command immune to hangups, with
+output redirected to a log file.
+
+od dumps files in octal and other formats.
+
+paste merges the given files, joining
+sequentially corresponding lines side by side, separated by TABs.
+
+pathchk checks whether file names are valid
+or portable.
+
+pinky is a lightweight finger. It reports
+some information about the given users.
+
+pr paginates and columnates files for printing.
+
+printenv prints the environment.
+
+printf prints the given arguments according to the
+given format -- much like the C printf function.
+
+ptx produces from the contents of the given files
+a permuted index, with each keyword in its context.
+
+pwd reports the name of the current directory.
+
+readlink reports the value of the given symbolic
+link.
+
+rm removes files or directories.
+
+rmdir removes directories, if they are empty.
+
+seq prints a sequence of numbers, within a given
+range and with a given increment.
+
+sha1sum prints or checks 160-bit SHA1
+checksums.
+
+shred overwrites the given files repeatedly with
+strange patterns, to make it real hard to recover the data.
+
+sleep pauses for the given amount of time.
+
+sort sorts the lines from the given files.
+
+split splits the given file into pieces, by size
+or by number of lines.
+
+stty sets or reports terminal line settings.
+
+su runs a shell with substitute user and group IDs.
+
+sum prints checksum and block counts for each
+given file.
+
+sync flushes filesystem buffers. It forces
+changed blocks to disk and updates the super block.
+
+tac concatenates the given files in reverse.
+
+tail prints the last ten lines (or the given
+number of lines) of each given file.
+
+tee reads from standard input while writing both
+to standard output and to the given files.
+
+test compares values and checks file types.
+
+touch 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.
+
+tr translates, squeezes, and deletes the given
+characters from standard input.
+
+true does nothing, successfully. It always exits
+with a status code indicating success.
+
+tsort performs a topological sort. It writes a
+totally ordered list according to the partial ordering in a given file.
+
+tty reports the file name of the terminal
+connected to standard input.
+
+uname reports system information.
+
+unexpand converts spaces to tabs.
+
+uniq discards all but one of successive
+identical lines.
+
+unlink removes the given file.
+
+uptime reports how long the system has been
+running, how many users are logged on, and the system load averages.
+
+users reports the names of the users currently
+logged on.
+
+vdir is the same as ls -l.
+
+wc reports the number of lines, words, and bytes
+for each given file, and a total line when more than one file is given.
+
+who reports who is logged on.
+
+whoami reports the user name associated with the
+current effective user ID.
+
+yes outputs 'y' or a given string repeatedly,
+until killed.
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/coreutils-down.xml b/LDP/guide/docbook/LFS/appendixa/coreutils-down.xml
new file mode 100644
index 00000000..41ebbb9a
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/coreutils-down.xml
@@ -0,0 +1,12 @@
+
+Official Download Location
+
+Coreutils (&coreutils-version;):
+
+
+Coreutils Hostname Patch:
+
+
+Coreutils Uname Patch:
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/coreutils-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/coreutils-shortdesc.xml
new file mode 100644
index 00000000..0fba0d93
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/coreutils-shortdesc.xml
@@ -0,0 +1,18 @@
+Contents of Coreutils
+
+The Coreutils package contains a whole series of basic shell utilities.
+
+
+
+Installed programs: 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, kill, 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
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/coreutils.xml b/LDP/guide/docbook/LFS/appendixa/coreutils.xml
new file mode 100644
index 00000000..a104bbc5
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/coreutils.xml
@@ -0,0 +1,13 @@
+
+Coreutils
+
+
+For installation instructions see .
+
+&aa-coreutils-down;
+&aa-coreutils-shortdesc;
+&aa-coreutils-desc;
+&aa-coreutils-dep;
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/dejagnu-dep.xml b/LDP/guide/docbook/LFS/appendixa/dejagnu-dep.xml
new file mode 100644
index 00000000..0cd972d9
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/dejagnu-dep.xml
@@ -0,0 +1,12 @@
+
+
+
+DejaGnu Installation Dependencies
+
+
+
+Dejagnu depends on: Bash, Binutils, Coreutils, Diffutils,
+GCC, Glibc, Grep, Make, Sed.
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/dejagnu-desc.xml b/LDP/guide/docbook/LFS/appendixa/dejagnu-desc.xml
new file mode 100644
index 00000000..9cd020d8
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/dejagnu-desc.xml
@@ -0,0 +1,8 @@
+
+
+Short description
+
+runtest is the wrapper script that finds the proper
+expect shell and then runs DejaGnu.
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/dejagnu-down.xml b/LDP/guide/docbook/LFS/appendixa/dejagnu-down.xml
new file mode 100644
index 00000000..dac71702
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/dejagnu-down.xml
@@ -0,0 +1,6 @@
+
+Official Download Location
+
+DejaGnu (&dejagnu-version;):
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/dejagnu-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/dejagnu-shortdesc.xml
new file mode 100644
index 00000000..b6ca52fa
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/dejagnu-shortdesc.xml
@@ -0,0 +1,10 @@
+Contents of DejaGnu
+
+
+
+The DejaGnu package contains a framework for testing other programs.
+
+Installed program: runtest
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/dejagnu.xml b/LDP/guide/docbook/LFS/appendixa/dejagnu.xml
new file mode 100644
index 00000000..59cadabc
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/dejagnu.xml
@@ -0,0 +1,13 @@
+
+DejaGnu
+
+
+For installation instructions see .
+
+&aa-dejagnu-down;
+&aa-dejagnu-shortdesc;
+&aa-dejagnu-desc;
+&aa-dejagnu-dep;
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/diffutils-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/diffutils-shortdesc.xml
new file mode 100644
index 00000000..17d3de72
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/diffutils-shortdesc.xml
@@ -0,0 +1,12 @@
+Contents of Diffutils
+
+
+
+The programs from this package show you the differences between two
+files or directories. It's most common use is to create software
+patches.
+
+Installed programs: cmp, diff, diff3 and sdiff
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/e2fsprogs-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/e2fsprogs-shortdesc.xml
new file mode 100644
index 00000000..219886ac
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/e2fsprogs-shortdesc.xml
@@ -0,0 +1,19 @@
+Contents of E2fsprogs
+
+
+
+E2fsprogs provides the filesystem utilities for use with the
+ ext2 filesystem. It also supports the ext3 filesystem with journaling
+ support.
+
+Installed programs: 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.
+
+Installed libraries: libblkid.[a,so],
+libcom_err.[a,so], libe2p.[a,so], libext2fs.[a,so], libss.[a,so] and
+libuuid.[a,so]
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/ed-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/ed-shortdesc.xml
new file mode 100644
index 00000000..ab799205
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/ed-shortdesc.xml
@@ -0,0 +1,10 @@
+Contents of Ed
+
+
+
+GNU ed is an 8-bit clean, POSIX-compliant line editor.
+
+Installed programs: ed and red (link to ed)
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/expect-dep.xml b/LDP/guide/docbook/LFS/appendixa/expect-dep.xml
new file mode 100644
index 00000000..f5037ff9
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/expect-dep.xml
@@ -0,0 +1,12 @@
+
+
+
+Expect Installation Dependencies
+
+
+
+Expect depends on: Bash, Binutils, Coreutils, Diffutils,
+GCC, Glibc, Grep, Make, Sed, Tcl.
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/expect-desc.xml b/LDP/guide/docbook/LFS/appendixa/expect-desc.xml
new file mode 100644
index 00000000..ea80526f
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/expect-desc.xml
@@ -0,0 +1,8 @@
+
+
+Short description
+
+expect "talks" to other interactive programs according
+to a script.
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/expect-down.xml b/LDP/guide/docbook/LFS/appendixa/expect-down.xml
new file mode 100644
index 00000000..2ace7935
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/expect-down.xml
@@ -0,0 +1,9 @@
+
+Official Download Location
+
+Expect (&expect-version;):
+
+
+Expect Spawn Patch:
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/expect-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/expect-shortdesc.xml
new file mode 100644
index 00000000..faf6f6b0
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/expect-shortdesc.xml
@@ -0,0 +1,13 @@
+Contents of Expect
+
+
+
+The Expect package provides a program that performs programmed dialogue
+with other interactive programs.
+
+Installed program: expect
+
+Installed library: libexpect5.39.a
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/expect.xml b/LDP/guide/docbook/LFS/appendixa/expect.xml
new file mode 100644
index 00000000..661a5c1e
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/expect.xml
@@ -0,0 +1,13 @@
+
+Expect
+
+
+For installation instructions see .
+
+&aa-expect-down;
+&aa-expect-shortdesc;
+&aa-expect-desc;
+&aa-expect-dep;
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/file-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/file-shortdesc.xml
new file mode 100644
index 00000000..7b8c70fa
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/file-shortdesc.xml
@@ -0,0 +1,12 @@
+Contents of File
+
+
+
+File is a utility used to determine file types.
+
+Installed program: file
+
+Installed library: libmagic.[a,so]
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/findutils-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/findutils-shortdesc.xml
new file mode 100644
index 00000000..594edfd7
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/findutils-shortdesc.xml
@@ -0,0 +1,14 @@
+Contents of Findutils
+
+
+
+The Findutils package contains programs to find files, either
+on-the-fly (by doing a live recursive search through directories and only
+showing files that match the specifications) or by searching through a
+database.
+
+Installed programs: bigram, code, find, frcode,
+locate, updatedb and xargs
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/flex-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/flex-shortdesc.xml
new file mode 100644
index 00000000..df31f0ff
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/flex-shortdesc.xml
@@ -0,0 +1,14 @@
+Contents of Flex
+
+
+
+The Flex package is used to generate programs which recognize
+patterns in text.
+
+Installed programs: flex, flex++ (link to flex)
+and lex
+
+Installed library: libfl.a
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/gawk-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/gawk-shortdesc.xml
new file mode 100644
index 00000000..dacf494c
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/gawk-shortdesc.xml
@@ -0,0 +1,11 @@
+Contents of Gawk
+
+
+
+Gawk is an awk implementation that is used to manipulate text
+files.
+
+Installed programs: awk (link to gawk), gawk,
+gawk-&gawk-version;, grcat, igawk, pgawk, pgawk-&gawk-version; and pwcat
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/gcc-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/gcc-shortdesc.xml
new file mode 100644
index 00000000..a2eb9293
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/gcc-shortdesc.xml
@@ -0,0 +1,15 @@
+Contents of GCC
+
+
+
+The GCC package contains the GNU compiler collection, including
+the C and C++ compilers.
+
+Installed programs: c++, cc (link to gcc),
+cc1, cc1plus, collect2, cpp, g++, gcc, gccbug, and gcov
+
+Installed libraries: libgcc.a, libgcc_eh.a,
+libgcc_s.so, libstdc++.[a,so] and libsupc++.a
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/gettext-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/gettext-shortdesc.xml
new file mode 100644
index 00000000..07dfd694
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/gettext-shortdesc.xml
@@ -0,0 +1,19 @@
+Contents of Gettext
+
+
+
+The Gettext package is used for internationalization and
+localization. Programs can be compiled with Native Language Support
+(NLS) which enable them to output messages in the user's native
+language.
+
+Installed programs: autopoint, config.charset,
+config.rpath, 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
+
+Installed libraries: libasprintf[a,so],
+libgettextlib[a,so], libgettextpo[a,so] and libgettextsrc[a,so]
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/glibc-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/glibc-shortdesc.xml
new file mode 100644
index 00000000..bee9a145
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/glibc-shortdesc.xml
@@ -0,0 +1,23 @@
+Contents of Glibc
+
+
+
+Glibc is the C library that provides the system calls and basic
+functions such as open, malloc, printf, etc. The C library is used by all
+dynamically linked programs.
+
+Installed programs: 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
+
+Installed libraries: 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]
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/grep-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/grep-shortdesc.xml
new file mode 100644
index 00000000..257d16c9
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/grep-shortdesc.xml
@@ -0,0 +1,12 @@
+Contents of Grep
+
+
+
+Grep is a program used to print lines from a file matching a
+specified pattern.
+
+Installed programs: egrep (link to grep), fgrep
+(link to grep) and grep
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/groff-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/groff-shortdesc.xml
new file mode 100644
index 00000000..160994e9
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/groff-shortdesc.xml
@@ -0,0 +1,17 @@
+Contents of Groff
+
+
+
+The Groff package includes several text processing programs
+for text formatting. Groff translates standard text and special
+commands into formatted output, such as what you see in a manual
+page.
+
+Installed programs: 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)
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/grub-dep.xml b/LDP/guide/docbook/LFS/appendixa/grub-dep.xml
new file mode 100644
index 00000000..dd861006
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/grub-dep.xml
@@ -0,0 +1,12 @@
+
+
+
+Grub Installation Dependencies
+
+
+
+Grub depends on: Bash, Binutils, Coreutils, Diffutils,
+GCC, Glibc, Grep, Make, Ncurses, Sed.
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/grub-desc.xml b/LDP/guide/docbook/LFS/appendixa/grub-desc.xml
new file mode 100644
index 00000000..38c0dfc9
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/grub-desc.xml
@@ -0,0 +1,18 @@
+
+
+Short descriptions
+
+grub is the GRand Unified Bootloader's command
+shell.
+
+grub-install installs GRUB on the given device.
+
+grub-md5-crypt encrypts a password in MD5
+format.
+
+grub-terminfo generates a terminfo command from a
+terminfo name. It can be used if you have an uncommon terminal.
+
+mbchk checks the format of a multiboot kernel.
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/grub-down.xml b/LDP/guide/docbook/LFS/appendixa/grub-down.xml
new file mode 100644
index 00000000..180f7e1e
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/grub-down.xml
@@ -0,0 +1,9 @@
+
+Official Download Location
+
+Grub (&grub-version;):
+
+
+Grub Gcc33 Patch:
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/grub-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/grub-shortdesc.xml
new file mode 100644
index 00000000..cbe9eb8e
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/grub-shortdesc.xml
@@ -0,0 +1,10 @@
+Contents of Grub
+
+
+
+The Grub package contains a bootloader.
+
+Installed programs: grub, grub-install,
+grub-md5-crypt, grub-terminfo and mbchk
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/grub.xml b/LDP/guide/docbook/LFS/appendixa/grub.xml
new file mode 100644
index 00000000..1d109a7a
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/grub.xml
@@ -0,0 +1,13 @@
+
+Grub
+
+
+For installation instructions see .
+
+&aa-grub-down;
+&aa-grub-shortdesc;
+&aa-grub-desc;
+&aa-grub-dep;
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/gzip-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/gzip-shortdesc.xml
new file mode 100644
index 00000000..1f1ae2a9
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/gzip-shortdesc.xml
@@ -0,0 +1,12 @@
+Contents of Gzip
+
+
+
+The Gzip package contains programs to compress and decompress files
+using the Lempel-Ziv coding (LZ77).
+
+Installed programs: gunzip (link to gzip), gzexe,
+gzip, uncompress (link to gunzip), zcat (link to gzip), zcmp, zdiff,
+zegrep, zfgrep, zforce, zgrep, zless, zmore and znew
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/inetutils-dep.xml b/LDP/guide/docbook/LFS/appendixa/inetutils-dep.xml
new file mode 100644
index 00000000..ad4250d0
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/inetutils-dep.xml
@@ -0,0 +1,12 @@
+
+
+
+Inetutils Installation Dependencies
+
+
+
+Inetutils depends on: Bash, Binutils, Coreutils,
+Diffutils, GCC, Glibc, Grep, Make, Ncurses, Sed.
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/inetutils-desc.xml b/LDP/guide/docbook/LFS/appendixa/inetutils-desc.xml
new file mode 100644
index 00000000..7da0f5cf
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/inetutils-desc.xml
@@ -0,0 +1,23 @@
+
+
+Short descriptions
+
+ftp is the ARPANET file transfer program.
+
+ping sends echo-request packets and reports how
+long the replies take.
+
+rcp does remote file copy.
+
+rlogin does remote login.
+
+rsh runs a remote shell.
+
+talk is used to chat up another user.
+
+telnet is an interface to the TELNET protocol.
+
+tftp is a trivial file transfer program.
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/inetutils-down.xml b/LDP/guide/docbook/LFS/appendixa/inetutils-down.xml
new file mode 100644
index 00000000..978bf398
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/inetutils-down.xml
@@ -0,0 +1,9 @@
+
+
+
+Official Download Location
+
+Inetutils (&inetutils-version;):
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/inetutils-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/inetutils-shortdesc.xml
new file mode 100644
index 00000000..af921f4e
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/inetutils-shortdesc.xml
@@ -0,0 +1,10 @@
+Contents of Inetutils
+
+
+
+The Inetutils package contains network clients and servers.
+
+Installed programs: ftp, ping, rcp, rlogin, rsh,
+talk, telnet and tftp
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/inetutils.xml b/LDP/guide/docbook/LFS/appendixa/inetutils.xml
new file mode 100644
index 00000000..c935ba9f
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/inetutils.xml
@@ -0,0 +1,12 @@
+
+Inetutils
+
+
+For installation instructions see .
+
+&aa-inetutils-down;
+&aa-inetutils-shortdesc;
+&aa-inetutils-desc;
+&aa-inetutils-dep;
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/kbd-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/kbd-shortdesc.xml
new file mode 100644
index 00000000..014179a7
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/kbd-shortdesc.xml
@@ -0,0 +1,15 @@
+Contents of Kbd
+
+
+
+Kbd contains keytable files and keyboard utilities.
+
+Installed programs: 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
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/kernel-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/kernel-shortdesc.xml
new file mode 100644
index 00000000..e9b64cc4
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/kernel-shortdesc.xml
@@ -0,0 +1,16 @@
+Contents of Linux
+
+
+
+The Linux kernel is at the core of every Linux system. It's what makes
+Linux tick. When a computer is turned on and boots a Linux system, the
+very first piece of Linux software that gets loaded is the kernel. The
+kernel initializes the system's hardware components: serial ports, parallel
+ports, sound cards, network cards, IDE controllers, SCSI controllers and a
+lot more. In a nutshell the kernel makes the hardware available so that the
+software can run.
+
+Installed files: the kernel and the kernel
+headers
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/less-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/less-shortdesc.xml
new file mode 100644
index 00000000..eab51f55
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/less-shortdesc.xml
@@ -0,0 +1,13 @@
+Contents of Less
+
+
+
+Less is a file pager, or text viewer. It displays the contents
+of a file, or stream, and has the ability to scroll. Less has a few
+features not included in the more pager,
+such as the ability to scroll backwards.
+
+Installed programs: less, lessecho and lesskey
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/lfs-utils-dep.xml b/LDP/guide/docbook/LFS/appendixa/lfs-utils-dep.xml
new file mode 100644
index 00000000..8bd14fd0
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/lfs-utils-dep.xml
@@ -0,0 +1,8 @@
+
+
+
+Lfs-Utils Installation Dependencies
+
+(No dependencies checked yet.)
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/lfs-utils-desc.xml b/LDP/guide/docbook/LFS/appendixa/lfs-utils-desc.xml
new file mode 100644
index 00000000..17161f53
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/lfs-utils-desc.xml
@@ -0,0 +1,20 @@
+
+
+Short descriptions
+
+mktemp creates temporary files in a secure manner.
+It is used in scripts.
+
+tempfile creates temporary files in a less secure
+manner than mktemp. It is installed for
+backwards-compatibility.
+
+The http-get script takes advantage of a little known
+feature of bash called "net redirection". It is used to
+download from websites without using any other programs.
+
+iana-net uses the http-get
+script to simplify the process of procuring IANA's services and protocols
+configuration files.
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/lfs-utils-down.xml b/LDP/guide/docbook/LFS/appendixa/lfs-utils-down.xml
new file mode 100644
index 00000000..cd72a208
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/lfs-utils-down.xml
@@ -0,0 +1,9 @@
+
+
+
+Official Download Location
+
+Lfs-utils (&lfs-utils-version;):
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/lfs-utils-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/lfs-utils-shortdesc.xml
new file mode 100644
index 00000000..14cb5053
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/lfs-utils-shortdesc.xml
@@ -0,0 +1,14 @@
+Contents of Lfs-Utils
+
+
+
+The Lfs-Utils package contains some miscellaneous programs used by
+various packages, but are not large enough to warrant their own
+individual package.
+
+Installed programs: mktemp, tempfile, http-get
+and iana-net
+
+Installed files: protocols, services
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/lfs-utils.xml b/LDP/guide/docbook/LFS/appendixa/lfs-utils.xml
new file mode 100644
index 00000000..d2b9c94a
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/lfs-utils.xml
@@ -0,0 +1,13 @@
+
+Lfs-Utils
+
+
+For installation instructions see .
+
+&aa-lfs-utils-down;
+&aa-lfs-utils-shortdesc;
+&aa-lfs-utils-desc;
+&aa-lfs-utils-dep;
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/libtool-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/libtool-shortdesc.xml
new file mode 100644
index 00000000..a8feb625
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/libtool-shortdesc.xml
@@ -0,0 +1,14 @@
+Contents of Libtool
+
+
+
+GNU libtool is a generic library support script. Libtool hides
+ the complexity of using shared libraries behind a consistent,
+ portable interface.
+
+Installed programs: libtool and libtoolize
+
+Installed libraries: libltdl.[a,so].
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/m4-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/m4-shortdesc.xml
new file mode 100644
index 00000000..7cf572dd
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/m4-shortdesc.xml
@@ -0,0 +1,15 @@
+Contents of M4
+
+
+
+M4 is a macro processor. It copies input to output, expanding
+macros as it goes. 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, etc. The m4 program can be used either as a front-end to a
+compiler or as a macro processor in its own right.
+
+Installed program: m4
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/make-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/make-shortdesc.xml
new file mode 100644
index 00000000..c30061dc
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/make-shortdesc.xml
@@ -0,0 +1,11 @@
+Contents of Make
+
+
+
+Make determines, automatically, which pieces of a large program need
+to be recompiled and issues the commands to recompile them.
+
+Installed program: make
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/makedev-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/makedev-shortdesc.xml
new file mode 100644
index 00000000..c77310bd
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/makedev-shortdesc.xml
@@ -0,0 +1,13 @@
+Contents of MAKEDEV
+
+
+
+The MAKEDEV script creates the static device nodes which
+usually reside in the /dev
+directory. Detailed information about device nodes may be found
+in the Documentation/devices.txt file under
+the Linux kernel source tree.
+
+Installed script: MAKEDEV
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/man-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/man-shortdesc.xml
new file mode 100644
index 00000000..bd631b85
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/man-shortdesc.xml
@@ -0,0 +1,11 @@
+Contents of Man
+
+
+
+Man is a man pager.
+
+Installed programs: apropos, makewhatis, man,
+man2dvi, man2html and whatis
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/manpages-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/manpages-shortdesc.xml
new file mode 100644
index 00000000..bb8b0579
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/manpages-shortdesc.xml
@@ -0,0 +1,13 @@
+Contents of Man-pages
+
+
+
+The Man-pages package contains over 1200 manual pages. This
+documentation details the C and C++ functions, describes a few
+important device files and provides documents which would otherwise
+be missing from other packages.
+
+Installed files: various manual pages
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/modutils-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/modutils-shortdesc.xml
new file mode 100644
index 00000000..6fd5849a
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/modutils-shortdesc.xml
@@ -0,0 +1,14 @@
+Contents of Modutils
+
+
+
+The Modutils package contains programs that you can use to work with
+kernel modules.
+
+Installed programs: 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)
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/ncurses-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/ncurses-shortdesc.xml
new file mode 100644
index 00000000..217148d2
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/ncurses-shortdesc.xml
@@ -0,0 +1,16 @@
+Contents of Ncurses
+
+
+
+The Ncurses package provides character and terminal handling
+libraries, including panels and menus.
+
+Installed programs: captoinfo (link to tic), clear,
+infocmp, infotocap (link to tic), reset (link to tset), tack, tic, toe, tput
+and tset
+
+Installed libraries: libcurses.[a,so] (link to
+libncurses.[a,so]), libform.[a,so], libmenu.[a,so], libncurses++.a,
+libncurses.[a,so], libpanel.[a,so]
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/nettools-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/nettools-shortdesc.xml
new file mode 100644
index 00000000..c11e3e90
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/nettools-shortdesc.xml
@@ -0,0 +1,14 @@
+Contents of Net-tools
+
+
+
+The Net-tools package contains a collection of programs
+which form the base of Linux networking.
+
+Installed programs: 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)
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/patch-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/patch-shortdesc.xml
new file mode 100644
index 00000000..7308fdec
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/patch-shortdesc.xml
@@ -0,0 +1,12 @@
+Contents of Patch
+
+
+
+The patch program modifies a file according to a patch file. A patch
+file usually is a list, created by the diff program, that contains
+instructions on how an original file needs to be modified.
+
+Installed program: patch
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/perl-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/perl-shortdesc.xml
new file mode 100644
index 00000000..a3bdd9bf
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/perl-shortdesc.xml
@@ -0,0 +1,17 @@
+Contents of Perl
+
+
+
+The Perl package contains perl, the Practical Extraction
+and Report Language. Perl combines some of the best features of C,
+sed, awk and sh into one powerful language.
+
+Installed programs: 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
+
+Installed libraries: (too many to name)
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/procinfo-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/procinfo-shortdesc.xml
new file mode 100644
index 00000000..55d7c2e2
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/procinfo-shortdesc.xml
@@ -0,0 +1,13 @@
+Contents of Procinfo
+
+
+
+The procinfo program gathers system data, such as memory
+usage and IRQ numbers, from the /proc
+directory and formats this data in a meaningful way.
+
+Installed programs: lsdev, procinfo and
+socklist
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/procps-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/procps-shortdesc.xml
new file mode 100644
index 00000000..33141ed5
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/procps-shortdesc.xml
@@ -0,0 +1,15 @@
+Contents of Procps
+
+
+
+The Procps package provides programs to monitor and
+halt system processes. Procps gathers information about
+processes via the /proc directory.
+
+Installed programs: free, kill, pgrep, pkill,
+pmap, ps, skill, snice, sysctl, tload, top, uptime, vmstat, w and watch
+
+Installed library: libproc.so
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/psmisc-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/psmisc-shortdesc.xml
new file mode 100644
index 00000000..3a9526cb
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/psmisc-shortdesc.xml
@@ -0,0 +1,11 @@
+Contents of Psmisc
+
+
+
+The Psmisc package contains three programs which help
+manage the /proc directory.
+
+Installed programs: fuser, killall and pstree
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/sed-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/sed-shortdesc.xml
new file mode 100644
index 00000000..f5654660
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/sed-shortdesc.xml
@@ -0,0 +1,12 @@
+Contents of Sed
+
+
+
+sed is a stream editor. A stream editor is used to perform basic text
+transformations on an input stream (a file or input from a
+pipeline).
+
+Installed program: sed
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/shadowpwd-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/shadowpwd-shortdesc.xml
new file mode 100644
index 00000000..b44a5c9c
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/shadowpwd-shortdesc.xml
@@ -0,0 +1,14 @@
+Contents of Shadow
+
+
+
+The Shadow package was created to strengthen the security
+of system passwords.
+
+Installed programs: 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
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/sysklogd-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/sysklogd-shortdesc.xml
new file mode 100644
index 00000000..4e4f9cd4
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/sysklogd-shortdesc.xml
@@ -0,0 +1,11 @@
+Contents of Sysklogd
+
+
+
+The Sysklogd package contains programs for recording
+system log messages, such as those reported by the kernel.
+
+Installed programs: klogd and syslogd
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/sysvinit-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/sysvinit-shortdesc.xml
new file mode 100644
index 00000000..95464553
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/sysvinit-shortdesc.xml
@@ -0,0 +1,14 @@
+Contents of Sysvinit
+
+
+
+The Sysvinit package contains programs to control the
+startup, running and shutdown of all other programs.
+
+Installed programs: 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
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/tar-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/tar-shortdesc.xml
new file mode 100644
index 00000000..ab20a022
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/tar-shortdesc.xml
@@ -0,0 +1,10 @@
+Contents of Tar
+
+
+
+Tar is an archiving program designed to store and extract
+files from an archive file known as a tar file.
+
+Installed programs: rmt and tar
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/tcl-dep.xml b/LDP/guide/docbook/LFS/appendixa/tcl-dep.xml
new file mode 100644
index 00000000..65abadd5
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/tcl-dep.xml
@@ -0,0 +1,12 @@
+
+
+
+Tcl Installation Dependencies
+
+
+
+Tcl depends on: Bash, Binutils, Coreutils, Diffutils,
+GCC, Glibc, Grep, Make, Sed.
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/tcl-desc.xml b/LDP/guide/docbook/LFS/appendixa/tcl-desc.xml
new file mode 100644
index 00000000..166f49cf
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/tcl-desc.xml
@@ -0,0 +1,9 @@
+
+
+Short description
+
+tclsh8.4 is the Tcl command shell.
+
+libtcl8.4.so is the Tcl library.
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/tcl-down.xml b/LDP/guide/docbook/LFS/appendixa/tcl-down.xml
new file mode 100644
index 00000000..4eb5864a
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/tcl-down.xml
@@ -0,0 +1,7 @@
+
+Official Download Location
+
+Tcl (&tcl-version;):
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/tcl-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/tcl-shortdesc.xml
new file mode 100644
index 00000000..bfe6ed2b
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/tcl-shortdesc.xml
@@ -0,0 +1,13 @@
+Contents of Tcl
+
+
+
+The Tcl package contains the Tool Command Language.
+
+Installed programs: tclsh (link to tclsh8.4),
+tclsh8.4
+
+Installed library: libtcl8.4.so
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/tcl.xml b/LDP/guide/docbook/LFS/appendixa/tcl.xml
new file mode 100644
index 00000000..ca0445c0
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/tcl.xml
@@ -0,0 +1,13 @@
+
+Tcl
+
+
+For installation instructions see .
+
+&aa-tcl-down;
+&aa-tcl-shortdesc;
+&aa-tcl-desc;
+&aa-tcl-dep;
+
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/texinfo-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/texinfo-shortdesc.xml
new file mode 100644
index 00000000..c8a7e98f
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/texinfo-shortdesc.xml
@@ -0,0 +1,12 @@
+Contents of Texinfo
+
+
+
+The Texinfo package contains programs used for reading,
+writing and converting Info documents, which provide system
+documentation.
+
+Installed programs: info, infokey, install-info,
+makeinfo, texi2dvi and texindex
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/utillinux-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/utillinux-shortdesc.xml
new file mode 100644
index 00000000..255742eb
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/utillinux-shortdesc.xml
@@ -0,0 +1,20 @@
+Contents of Util-linux
+
+
+
+The Util-linux package contains a number of miscellaneous
+utility programs. Some of the more prominent utilities are used
+to mount, unmount, format, partition and manage disk drives,
+open tty ports and fetch kernel messages.
+
+Installed programs: 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, kill, line, logger, look, losetup, mcookie, mkfs,
+mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap, more, mount, namei, parse.bash,
+parse.tcsh, 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, test.bash, test.tcsh,
+tunelp, ul, umount, vidmode (link to rdev), whereis and write
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/vim-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/vim-shortdesc.xml
new file mode 100644
index 00000000..5e00b9b4
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/vim-shortdesc.xml
@@ -0,0 +1,14 @@
+Contents of Vim
+
+
+
+The Vim package contains a configurable text editor built to
+enable efficient text editing.
+
+Installed programs: 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
+
+
diff --git a/LDP/guide/docbook/LFS/appendixa/zlib-shortdesc.xml b/LDP/guide/docbook/LFS/appendixa/zlib-shortdesc.xml
new file mode 100644
index 00000000..aeb804e8
--- /dev/null
+++ b/LDP/guide/docbook/LFS/appendixa/zlib-shortdesc.xml
@@ -0,0 +1,11 @@
+Contents of Zlib
+
+
+
+The Zlib package contains the libz library, which is used by some
+programs for its compression and uncompression functions.
+
+Installed libraries: libz[a,so]
+
+
+
diff --git a/LDP/guide/docbook/LFS/book.xml b/LDP/guide/docbook/LFS/book.xml
new file mode 100644
index 00000000..c8e2c9af
--- /dev/null
+++ b/LDP/guide/docbook/LFS/book.xml
@@ -0,0 +1,36 @@
+&bookinfo;
+
+
+Dedication
+This book is dedicated to my loving and supportive wife
+Beverly Beekmans.
+
+
+&preface;
+
+
+Part I - Introduction
+&chapter01;
+&chapter02;
+
+
+
+Part II - Preparing for the build
+&chapter03;
+&chapter04;
+&chapter05;
+
+
+
+Part III - Building the LFS system
+&chapter06;
+&chapter07;
+&chapter08;
+&chapter09;
+
+
+
+Part IV - Appendices
+&appendixa;
+&appendixb;
+
diff --git a/LDP/guide/docbook/LFS/bookinfo.xml b/LDP/guide/docbook/LFS/bookinfo.xml
new file mode 100644
index 00000000..b7ea0297
--- /dev/null
+++ b/LDP/guide/docbook/LFS/bookinfo.xml
@@ -0,0 +1,60 @@
+
+Linux From Scratch
+Version &version;
+
+
+
+GerardBeekmans
+
+
+
+
+ 1999-2003
+ Gerard Beekmans
+
+
+
+
+This book describes the process of creating a Linux system from
+scratch, using nothing but the sources of the required software.
+
+
+
+
+Copyright (c) 1999-2003, Gerard Beekmans
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+
+
+Redistributions in any form must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+
+Neither the name of "Linux From Scratch" nor the names of
+its contributors may be used to endorse or promote products derived from
+this material without specific prior written permission.
+
+Any material derived from Linux From Scratch must contain
+a reference to the "Linux From Scratch" project.
+
+
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
+IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter02/aboutdependencies.xml b/LDP/guide/docbook/LFS/chapter02/aboutdependencies.xml
new file mode 100644
index 00000000..4a2ea74b
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter02/aboutdependencies.xml
@@ -0,0 +1,57 @@
+
+About dependencies
+
+
+
+
+There are a few ways to compile a list of a package's installation
+dependencies. What we consider the best way is using the
+strace program available at .
+
+strace is a program that provides a trace of all
+system calls made by another program. One of the most useful system calls
+to trace when figuring out dependencies is the execve(2)
+system call, which is used to execute programs (see its man page for
+all the details). Whenever you run a program, be it from a shell or via a
+configure script or Makefile file, the execve call is made. If you trace
+these calls, you will know what programs were executed behind the
+scenes.
+
+Here is a line of output from running a configure script:
+
+19580 execve("/bin/rm", ["rm", "-f", "conf19538", "conf19538.exe", "conf19538.file"], [/* 26 vars */]) = 0
+
+This line tells us that the /bin/rm program was
+run with a PID of 19580, which command line parameters it was given (rm -f
+conf195838 conf19538.exe conf19538.file) and its exit value (0).
+
+For dependency purposes all we care about is that
+/bin/rm was run during the configure script, so this is
+an installation dependency. Without rm, the script
+wouldn't be able to run properly.
+
+Unfortunately, this method is not foolproof. Configure scripts check
+for the presense of many programs, but not all of them are considered real
+dependencies. For instance, configure scripts may check for the presence of
+the autoconf program. It will be listed in the strace
+output, but it's not a real installation dependency. A package will in most
+if not all cases install just fine without that program. There are other
+such false positives.
+
+This means automatic dependency gathering is never accurate. You will
+always need to validate the list and figure out the false positives. In
+some (rare) cases autoconf might be a real dependency, so you
+can't simply ignore all autoconf entries. A manual validation really is a
+requirement for an accurate list.
+
+This book is not so verbose as to list exactly which program from which
+package is required for a successful installation (we used to, but it had
+become too much work to maintain it). The book will contain simply the
+names of packages you need to have installed. If you need the verbosity
+in the form of "package a needs file b and c from package d", have a look
+at <enter URL when it's available>.
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter02/abouttestsuites.xml b/LDP/guide/docbook/LFS/chapter02/abouttestsuites.xml
new file mode 100644
index 00000000..9cf6b3a9
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter02/abouttestsuites.xml
@@ -0,0 +1,32 @@
+
+About the test suites
+
+
+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 mostly as the developer
+intended. It does not, however, guarantee that the package is totally bug
+free.
+
+Some test suites are more important than others. For example, the test
+suites for the core toolchain packages -- GCC, Binutils, and Glibc (the C
+library) -- 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 period of time to complete, especially on slower
+hardware.
+
+As you progress through the book and encounter the build commands to
+run the various test suites, we'll guide you on the relative importance of
+the test suite in question so that you can decide for yourself whether to
+run it or not.
+
+A common problem when running the test suites for Binutils and GCC
+is running out of pseudo terminals (PTYs for short). The symptom is an unusually
+high number of failing tests. This can happen for any number of reasons. Most
+likely is that the host system doesn't have the devpts file
+system set up correctly. We'll discuss this in more detail later on in Chapter
+5.
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter03/creatingfs.xml b/LDP/guide/docbook/LFS/chapter03/creatingfs.xml
new file mode 100644
index 00000000..f2cb6889
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter03/creatingfs.xml
@@ -0,0 +1,29 @@
+
+Creating a file system on the new partition
+
+
+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 .
+
+To create an ext2 file system on the LFS partition run the following:
+
+mke2fs /dev/xxx
+
+Replace xxx with the name of the LFS partition
+(something like hda5).
+
+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
+mke2fs) by running:
+
+mkswap /dev/yyy
+
+Replace yyy with the name of the swap
+partition.
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter03/creatingpart.xml b/LDP/guide/docbook/LFS/chapter03/creatingpart.xml
new file mode 100644
index 00000000..f60d7489
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter03/creatingpart.xml
@@ -0,0 +1,40 @@
+
+Creating a new partition
+
+
+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
+.
+
+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.
+
+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.
+
+Start a disk partitioning program such as cfdisk
+or fdisk with an argument naming the hard disk upon
+which the new partition must be created -- for example
+/dev/hda for the primary IDE disk. Create a Linux native
+partition and a swap partition, if needed. Please refer to the man pages of
+cfdisk or fdisk if you don't yet
+know how to use the programs.
+
+Remember the designation of your new partition -- something like
+hda5. 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 /etc/fstab file.
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter03/mounting.xml b/LDP/guide/docbook/LFS/chapter03/mounting.xml
new file mode 100644
index 00000000..f29c49c1
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter03/mounting.xml
@@ -0,0 +1,46 @@
+
+Mounting the new partition
+
+
+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
+/mnt/lfs, but it doesn't matter what directory
+you choose.
+
+Choose a mount point and assign it to the LFS environment variable
+by running:
+
+export LFS=/mnt/lfs
+
+Now create the mount point and mount the LFS file system by running:
+
+mkdir -p $LFS
+mount /dev/xxx $LFS
+
+Replace xxx with the designation of the LFS
+partition.
+
+If you have decided to use multiple partitions for LFS (say one for
+/ and another for /usr), mount
+them like this:
+
+mkdir -p $LFS
+mount /dev/xxx $LFS
+mkdir $LFS/usr
+mount /dev/yyy $LFS/usr
+
+Of course, replace xxx and yyy
+with the appropriate partition names.
+
+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 mount 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.
+
+Now that we've made ourselves a place to work in, we're ready to download
+the packages.
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter05/adding-user.xml b/LDP/guide/docbook/LFS/chapter05/adding-user.xml
new file mode 100644
index 00000000..4f6f487c
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter05/adding-user.xml
@@ -0,0 +1,36 @@
+
+Adding the user lfs
+
+
+When logged in as root, 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 lfs and
+use this one during the installation process. As root,
+issue the following commands to add the new user:
+
+useradd -s /bin/bash -m lfs
+passwd lfs
+
+Now grant this new user lfs full access to
+$LFS/tools by giving it ownership
+of the directory:
+
+chown lfs $LFS/tools
+
+If you made a separate working directory as suggested, give user
+lfs ownership of this directory too:
+
+chown lfs $LFS/sources
+
+Next, login as user lfs. This can be done via a
+virtual console, through a display manager, or with the following substitute
+user command:
+
+su - lfs
+
+The "-" instructs su to
+start a new, clean shell.
+
+
diff --git a/LDP/guide/docbook/LFS/chapter05/binutils-pass1.xml b/LDP/guide/docbook/LFS/chapter05/binutils-pass1.xml
new file mode 100644
index 00000000..2e2e46ba
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter05/binutils-pass1.xml
@@ -0,0 +1,118 @@
+
+Installing Binutils-&binutils-version; - Pass 1
+
+
+Estimated build time: &binutils-time-tools-pass1;
+Estimated required disk space: &binutils-compsize-tools-pass1;
+
+&aa-binutils-shortdesc;
+&aa-binutils-dep;
+
+
+
+
+Installation of Binutils
+
+It is important that Binutils be the first package to get compiled,
+because both Glibc and GCC perform various tests on the available linker and
+assembler to determine which of their own features to enable.
+
+Even though Binutils is an important toolchain package, we are not
+going to run the test suite at this early stage. First, the test suite framework
+is not yet in place and second, the programs from this first pass will soon be
+overwritten by those installed in the second pass.
+
+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 or
+modifying them when building Binutils.
+
+The Binutils documentation recommends building Binutils outside of the
+source directory in a dedicated build directory:
+
+mkdir ../binutils-build
+cd ../binutils-build
+
+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. To
+achieve this easily, you could do something like:
+time { ./configure ... && ... && ... && make install; }.
+
+Now prepare Binutils for compilation:
+
+../binutils-&binutils-version;/configure \
+ --prefix=/tools --disable-nls
+
+The meaning of the configure options:
+
+
+--prefix=/tools: This tells the
+configure script to prepare to install the Binutils programs in the
+/tools directory.
+
+--disable-nls: This disables
+internationalization (a word often shortened to i18n). We don't need this
+for our static programs and nls often causes problems
+when linking statically.
+
+
+Continue with compiling the package:
+
+make configure-host
+make LDFLAGS="-all-static"
+
+The meaning of the make parameters:
+
+
+configure-host: This forces all the
+subdirectories to be configured immediately. A statically linked build will
+fail without it. We therefore use this option to work around the
+problem.
+
+LDFLAGS="-all-static": This tells the
+linker that all the Binutils programs should be linked statically. However,
+strictly speaking, "-all-static" is first passed to the
+libtool program which then passes
+"-static" on to the linker.
+
+
+And install the package:
+
+make install
+
+Now prepare the linker for the "locking in" of Glibc later on:
+
+make -C ld clean
+make -C ld LDFLAGS="-all-static" LIB_PATH=/tools/lib
+
+The meaning of the make parameters:
+
+
+-C ld clean: This tells the make program
+to remove all the compiled files, but only in the ld
+subdirectory.
+
+-C ld LDFLAGS="-all-static" LIB_PATH=/tools/lib:
+This option rebuilds everything in the ld subdirectory.
+Specifying the LIB_PATH makefile variable on the command line allows us to
+override the default value and have it point to our temporary tools location.
+The value of this variable specifies the linker's default library search path.
+You'll see how this preparation is used later on in the
+chapter.
+
+
+
+
+
+Do not yet remove the Binutils build and source directories. You
+will need them again in their current state a bit further on in this
+chapter.
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter05/binutils-pass2.xml b/LDP/guide/docbook/LFS/chapter05/binutils-pass2.xml
new file mode 100644
index 00000000..3bc4ffe2
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter05/binutils-pass2.xml
@@ -0,0 +1,78 @@
+
+Installing Binutils-&binutils-version; - Pass 2
+
+
+Estimated build time: &binutils-time-tools-pass2;
+Estimated required disk space: &binutils-compsize-tools-pass2;
+
+
+
+
+
+Re-installation of Binutils
+
+Create a separate build directory again:
+
+mkdir ../binutils-build
+cd ../binutils-build
+
+Now prepare Binutils for compilation:
+
+../binutils-&binutils-version;/configure --prefix=/tools \
+ --enable-shared --with-lib-path=/tools/lib
+
+The meaning of the new configure option:
+
+
+--with-lib-path=/tools/lib: This tells
+the configure script to specify the default library search path. We don't want
+the library search path to contain library directories from the host
+system.
+
+
+Before starting to build Binutils, remember to unset any environment
+variables that override the default optimization flags.
+
+Compile the package:
+
+make
+
+It's worth pointing out that running the Binutils test suite here
+is considered not as important as running it in
+.
+
+Test the results (there should be no unexpected failures here, expected
+failures are fine):
+
+make check
+
+Unfortunately, there is no easy way to view the test results summary like
+there was for the previous GCC package. However, if a failure occurs here, it
+should be easy to spot. The output shown will contain something like:
+
+make[1]: *** [check-binutils] Error 2
+
+And install the package:
+
+make install
+
+Now prepare Binutils for the re-adjusting of the toolchain in the next
+chapter:
+
+make -C ld clean
+make -C ld LIB_PATH=/usr/lib:/lib
+
+
+
+
+Do not yet remove the Binutils source and build directories.
+We'll need these directories again in the next chapter in the state they are in
+now.
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter05/coreutils.xml b/LDP/guide/docbook/LFS/chapter05/coreutils.xml
new file mode 100644
index 00000000..f0a1eb7f
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter05/coreutils.xml
@@ -0,0 +1,46 @@
+
+Installing Coreutils-&coreutils-version;
+
+
+Estimated build time: &coreutils-time-tools;
+Estimated required disk space: &coreutils-compsize-tools;
+
+&aa-coreutils-shortdesc;
+&aa-coreutils-dep;
+
+
+
+
+Installation of Coreutils
+
+Prepare Coreutils for compilation:
+
+./configure --prefix=/tools
+
+Compile the package:
+
+make
+
+This package has a test suite available which can perform a number of
+checks to ensure it built correctly. Should you choose to run it, the
+following command will do so:
+
+make RUN_EXPENSIVE_TESTS=yes check
+
+The meaning of the make parameter:
+
+
+RUN_EXPENSIVE_TESTS=yes: This tells the
+test suite to run several additional tests that are considered relatively
+expensive on some platforms. However, they are generally not a problem on
+Linux.
+
+
+And install the package:
+
+make install
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter05/creatingstage1dir.xml b/LDP/guide/docbook/LFS/chapter05/creatingstage1dir.xml
new file mode 100644
index 00000000..2621ec6b
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter05/creatingstage1dir.xml
@@ -0,0 +1,38 @@
+
+Creating the $LFS/tools directory
+
+
+All programs compiled in this chapter will be installed under $LFS/tools 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.
+
+If later you wish to search through the binaries of your system to see
+what files they make use of or link against, then to make this searching easier
+you may want to choose a unique name. Instead of the simple "tools" you could
+use something like "tools-for-lfs".
+
+Create the required directory by running the following:
+
+mkdir $LFS/tools
+
+The next step is to create a /tools symlink on
+your host system. It will point to the directory we just created on the LFS
+partition:
+
+ln -s $LFS/tools /
+
+This symlink enables us to compile our toolchain so that it always
+refers to /tools, meaning that the compiler, assembler
+and linker will work both in this chapter (when we are still using some tools
+from the host) and in the next (when we are chrooted to
+the LFS partition).
+
+Study the above command closely. It can be confusing at first
+glance. The ln command has several syntax variations,
+so be sure to check the ln man page before reporting what you may think is an
+error.
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter05/dejagnu.xml b/LDP/guide/docbook/LFS/chapter05/dejagnu.xml
new file mode 100644
index 00000000..dc37b94d
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter05/dejagnu.xml
@@ -0,0 +1,27 @@
+
+Installing DejaGnu-&dejagnu-version;
+
+
+Estimated build time: &dejagnu-time-tools;
+Estimated required disk space: &dejagnu-compsize-tools;
+
+&aa-dejagnu-shortdesc;
+&aa-dejagnu-dep;
+
+
+
+
+Installation of DejaGnu
+
+Prepare DejaGnu for compilation:
+
+./configure --prefix=/tools
+
+Build and install the package:
+
+make install
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter05/expect.xml b/LDP/guide/docbook/LFS/chapter05/expect.xml
new file mode 100644
index 00000000..f2505d1a
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter05/expect.xml
@@ -0,0 +1,69 @@
+
+Installing Expect-&expect-version;
+
+
+Estimated build time: &expect-time-tools;
+Estimated required disk space: &expect-compsize-tools;
+
+&aa-expect-shortdesc;
+&aa-expect-dep;
+
+
+
+
+Installation of Expect
+
+First apply a patch:
+
+patch -Np1 -i ../&expect-patch;
+
+This fixes a bug in Expect that can result in bogus failures during the
+GCC test suite run.
+
+Now prepare Expect for compilation:
+
+./configure --prefix=/tools --with-tcl=/tools/lib --with-x=no
+
+The meaning of the configure options:
+
+
+--with-tcl=/tools/lib: This ensures that
+the configure script finds the Tcl installation in our temporary tools location.
+We don't want it to find an existing one that may possibly reside on the host
+system.
+
+--with-x=no: This tells the configure
+script not to search for Tk (the Tcl GUI component) or the X Window System
+libraries, both of which may possibly reside on the host system.
+
+
+Build the package:
+
+make
+
+This package has a test suite available which can perform a number of
+checks to ensure it built correctly. However, the Expect test suite here in
+Chapter 5 is known to experience failures under certain host conditions that
+are not fully understood. Therefore, test suite failures here are not
+surprising, but are not considered critical. Should you choose to run the test
+suite, the following command will do so:
+
+make test
+
+And install:
+
+make SCRIPTS="" install
+
+The meaning of the make parameter:
+
+
+SCRIPTS="": This prevents installation of
+the supplementary expect scripts which are not needed.
+
+
+You can now remove the source directories of both Tcl and Expect.
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter05/gcc-pass1.xml b/LDP/guide/docbook/LFS/chapter05/gcc-pass1.xml
new file mode 100644
index 00000000..226b6733
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter05/gcc-pass1.xml
@@ -0,0 +1,101 @@
+
+Installing GCC-&gcc-version; - Pass 1
+
+
+Estimated build time: &gcc-time-tools-pass1;
+Estimated required disk space: &gcc-compsize-tools-pass1;
+
+&aa-gcc-shortdesc;
+&aa-gcc-dep;
+
+
+
+
+Installation of GCC
+
+Unpack only the GCC-core tarball, as we won't be needing a C++ compiler
+for the moment.
+
+Even though GCC is an important toolchain package, we are not
+going to run the test suite at this early stage. First, the test suite framework
+is not yet in place and second, the programs from this first pass will soon be
+overwritten by those installed in the second pass.
+
+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
+or modifying them when building GCC.
+
+The GCC documentation recommends building GCC outside of the source
+directory in a dedicated build directory:
+
+mkdir ../gcc-build
+cd ../gcc-build
+
+Prepare GCC for compilation:
+
+../gcc-&gcc-version;/configure --prefix=/tools \
+ --with-local-prefix=/tools \
+ --disable-nls --enable-shared \
+ --enable-languages=c
+
+The meaning of the configure options:
+
+
+--with-local-prefix=/tools: The
+purpose of this switch is to remove /usr/local/include
+from gcc'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.
+
+--enable-shared: This switch may
+seem counter-intuitive at first. But using it allows the building of
+libgcc_s.so.1 and libgcc_eh.a, and
+having libgcc_eh.a available ensures that the configure
+script for Glibc (the next package we compile) produces the proper results.
+Note that the gcc binaries will still be linked
+statically, as this is controlled by the -static
+value of BOOT_LDFLAGS further on.
+
+--enable-languages=c: This option
+ensures that only the C compiler is built. The option is only needed when you
+have downloaded and unpacked the full GCC tarball.
+
+
+Continue with compiling the package:
+
+make BOOT_LDFLAGS="-static" bootstrap
+
+The meaning of the make parameters:
+
+
+BOOT_LDFLAGS="-static": This tells
+GCC to link its programs statically.
+
+bootstrap: This target doesn't just
+compile GCC, but compiles it several times. It uses the programs compiled in
+a first round to compile itself a second time, and then again a third time.
+It then compares these second and third compiles to make sure it can
+reproduce itself flawlessly, which most probably means that it was
+compiled correctly.
+
+
+And install the package:
+
+make install
+
+As a finishing touch we'll create the /tools/bin/cc symlink. Many programs and
+scripts run cc instead of gcc,
+a thing meant to keep programs generic and therefore usable on all kinds of
+Unix systems. Not everybody has the GNU C compiler installed. Simply running
+cc leaves the system administrator free to decide what
+C compiler to install, as long as there's a symlink pointing to it:
+
+ln -sf gcc /tools/bin/cc
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter05/gcc-pass2.xml b/LDP/guide/docbook/LFS/chapter05/gcc-pass2.xml
new file mode 100644
index 00000000..e6c3557c
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter05/gcc-pass2.xml
@@ -0,0 +1,174 @@
+
+Installing GCC-&gcc-version; - Pass 2
+
+
+Estimated build time: &gcc-time-tools-pass2;
+Estimated required disk space: &gcc-compsize-tools-pass2;
+
+
+
+
+
+Re-installation of GCC
+
+The tools required to test GCC and Binutils are installed now (Tcl, Expect
+and DejaGnu). We can continue on rebuilding GCC and Binutils, link them against
+the new Glibc, and test them properly. One thing to note, however, is that these
+test suites are highly dependent on properly functioning pseudo terminals (PTYs)
+which are provided by your host distribution. These days, PTYs are most commonly
+implemented via the devpts file system. You can quickly
+check if your host system is set up correctly in this regard by performing a
+simple test:
+
+expect -c "spawn ls"
+
+If you receive the message:
+
+The system has no more ptys. Ask your system administrator to create more.
+
+Your host distribution is not set up for proper PTY operation. In this
+case there is no point in running the test suites for GCC and Binutils until you
+are able to resolve the issue. You can consult the LFS Wiki at
+ for more information on how to
+get PTYs working.
+
+Unpack all three GCC tarballs (-core, -g++, and -testsuite) in one and the
+same working directory. They will all unfold into a single
+gcc-&gcc-version;/ subdirectory.
+
+First correct one problem and make an essential adjustment:
+
+patch -Np1 -i ../&gcc-nofixincludes-patch;
+patch -Np1 -i ../&gcc-specs-patch;
+
+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
+, 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.
+
+The last patch changes GCC's default location of the dynamic linker
+(typically ld-linux.so.2). It also removes
+/usr/include from GCC's include search
+path. Patching now rather than adjusting the specs file after installation
+ensures that our new dynamic linker gets used during the actual build of GCC.
+That is, all the final (and temporary) binaries created during the build will
+link against the new Glibc.
+
+These patches are critical in ensuring a
+successful overall build. Do not forget to apply them.
+
+Create a separate build directory again:
+
+mkdir ../gcc-build
+cd ../gcc-build
+
+Before starting to build GCC, remember to unset any environment
+variables that override the default optimization flags.
+
+Now prepare GCC for compilation:
+
+../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++
+
+The meaning of the new configure options:
+
+
+--enable-threads=posix: This enables
+C++ exception handling for multi-threaded code.
+
+--enable-__cxa_atexit: This option
+allows use of __cxa_atexit, rather than atexit, to register C++ destructors for
+local statics and global objects and is essential for fully standards-compliant
+handling of destructors. It also affects the C++ ABI and therefore results in
+C++ shared libraries and C++ programs that are interoperable with other Linux
+distributions.
+
+--enable-clocale=gnu: This option ensures
+the correct locale model is selected for the C++ libraries under all
+circumstances. If the configure script finds the de_DE
+locale installed, it will select the correct model of gnu.
+However, people who don't install the de_DE locale, run the
+risk of building ABI incompatible C++ libraries due to the wrong locale model of
+generic being selected.
+
+--enable-languages=c,c++: This option is
+needed to ensure that both C and C++ compilers are built.
+
+
+Compile the package:
+
+make
+
+There is no need to use the bootstrap target now,
+as the compiler we're using to compile this GCC was built from the exact same
+version of the GCC sources we used earlier.
+
+It's worth pointing out that running the GCC test suite here
+is considered not as important as running it in
+.
+
+Test the results:
+
+make -k check
+
+The -k flag is used to make the test suite run
+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:
+
+../gcc-&gcc-version;/contrib/test_summary | more
+
+You can compare your results to those posted to the gcc-testresults
+mailing list for similar configurations to your own. For an example of how
+current GCC-&gcc-version; should look on i686-pc-linux-gnu, see
+.
+
+Note that the results contain:
+
+* 1 XPASS (unexpected pass) for g++
+* 1 FAIL (unexpected failure) for g++
+* 2 FAIL for gcc
+* 26 XPASS's for libstdc++
+
+The unexpected pass for g++ is due to the use of
+--enable-__cxa_atexit. 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.
+
+The 26 unexpected passes for libstdc++ are due to the use of
+--enable-clocale=gnu, which is the correct choice on
+Glibc-based systems of versions 2.2.5 and above. The underlying locale support
+in the GNU C library is superior to that of the otherwise selected "generic"
+model (which may be applicable if for instance you were using Newlibc, Sun-libc
+or whatever libc). The libstdc++ test suite is apparently expecting the
+"generic" model, hence those tests are not always expected to pass.
+
+Unexpected failures often cannot be avoided. The GCC developers are
+usually aware of them 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 on.
+
+And finally install the package:
+
+make install
+
+At this point it is strongly recommended to repeat the sanity check
+we performed earlier in the chapter. Refer back to
+ and repeat the check. If the results are
+wrong, then most likely you forgot to apply the above mentioned GCC Specs
+patch.
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter05/gettext.xml b/LDP/guide/docbook/LFS/chapter05/gettext.xml
new file mode 100644
index 00000000..18a3d57c
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter05/gettext.xml
@@ -0,0 +1,41 @@
+
+Installing Gettext-&gettext-version;
+
+
+Estimated build time: &gettext-time-tools;
+Estimated required disk space: &gettext-compsize-tools;
+
+&aa-gettext-shortdesc;
+&aa-gettext-dep;
+
+
+
+
+Installation of Gettext
+
+Prepare Gettext for compilation:
+
+./configure --prefix=/tools
+
+Compile the programs:
+
+make
+
+This package has a test suite available which can perform a number of
+checks to ensure it built correctly. However, the Gettext test suite here in
+Chapter 5 is known to experience failures under certain host conditions -- for
+example, if it finds a Java compiler on the host. The Gettext test suite takes
+a very long time to run and is not considered critical. Therefore, we don't
+recommend running it here. Should you choose to run it, the following command
+will do so:
+
+make check
+
+And install the package:
+
+make install
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter05/glibc.xml b/LDP/guide/docbook/LFS/chapter05/glibc.xml
new file mode 100644
index 00000000..aa333a2b
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter05/glibc.xml
@@ -0,0 +1,181 @@
+
+Installing Glibc-&glibc-version;
+
+
+Estimated build time: &glibc-time-tools;
+Estimated required disk space: &glibc-compsize-tools;
+
+&aa-glibc-shortdesc;
+&aa-glibc-dep;
+
+
+
+
+Glibc installation
+
+Before starting to install Glibc, you must cd
+into the glibc-&glibc-version; directory and unpack
+Glibc-linuxthreads in that directory, not in the directory where you usually
+unpack all the sources.
+
+We are going to run the test suite for Glibc in this chapter.
+However, it's worth pointing out that running the Glibc test suite here
+is considered not as important as running it in
+.
+
+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 Glibc.
+
+Basically, compiling Glibc in any other way than the book suggests
+is putting the stability of your system at risk.
+
+Though it is a harmless message, the install stage of Glibc will
+complain about the absence of /tools/etc/ld.so.conf.
+Fix this annoying little warning with:
+
+mkdir /tools/etc
+touch /tools/etc/ld.so.conf
+
+Also, Glibc has a subtle problem when compiled with GCC &gcc-version;.
+Apply the following patch to fix this:
+
+patch -Np1 -i ../&glibc-sscanf-patch;
+
+The Glibc documentation recommends building Glibc outside of the source
+directory in a dedicated build directory:
+
+mkdir ../glibc-build
+cd ../glibc-build
+
+Next, prepare Glibc for compilation:
+
+../glibc-&glibc-version;/configure --prefix=/tools \
+ --disable-profile --enable-add-ons \
+ --with-headers=/tools/include \
+ --with-binutils=/tools/bin \
+ --without-gd
+
+The meaning of the configure options:
+
+
+--disable-profile: This disables the
+building of the libraries with profiling information. Omit this option if you
+plan to do profiling.
+
+--enable-add-ons: This enables any
+add-ons that were installed with Glibc, in our case Linuxthreads.
+
+--with-binutils=/tools/bin and
+--with-headers=/tools/include: Strictly speaking
+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.
+
+ --without-gd: This switch ensures
+that we don't build the memusagestat program, which
+strangely enough insists on linking against the host's libraries (libgd,
+libpng, libz, and so forth).
+
+
+During this stage you might see the following warning:
+
+configure: WARNING:
+*** These auxiliary programs are missing or incompatible versions: msgfmt
+*** some features will be disabled.
+*** Check the INSTALL file for required versions.
+
+The missing or incompatible msgfmt program is
+generally harmless, but it's believed it can sometimes cause problems when
+running the test suite.
+
+Compile the package:
+
+make
+
+Run the test suite:
+
+make check
+
+The Glibc test suite is highly dependent on certain functions of your host
+system, in particular the kernel. Additionally, here in this chapter some tests
+can be adversely affected by existing tools or environmental issues on the host
+system. Of course, these won't be a problem when we run the Glibc test suite
+inside the chroot environment of . In general, the
+Glibc test suite is always expected to pass. However, as mentioned above, some
+failures are unavoidable in certain circumstances. Here is a list of the most
+common issues we are aware of:
+
+
+The math tests sometimes fail when running
+on systems where the CPU is not a relatively new genuine Intel or authentic AMD.
+Certain optimization settings are also known to be a factor here.
+
+The gettext test sometimes fails due to
+host system issues. The exact reasons are not yet clear.
+
+The atime test sometimes fails when the
+LFS partition is mounted with the noatime option, or due
+to other file system quirks.
+
+The shm test might fail when the host
+system is running the devfs file system but doesn't have the tmpfs file system
+mounted at /dev/shm due to lack of support for tmpfs in
+the kernel.
+
+When running on older and slower hardware, some tests might
+fail due to test timeouts being exceeded.
+
+
+In summary, don't worry too much if you see Glibc test suite failures
+here in this chapter. The Glibc in is the one we'll
+ultimately end up using so that is the one we would really like to see pass.
+But please keep in mind, even in some failures
+could still occur -- the math
+tests for example. When experiencing a failure, make a note of it, then
+continue by reissuing the make check. The test suite
+should pick up where it left off and continue on. You can circumvent this
+stop-start sequence by issuing a make -k check. But if
+you do that, be sure to log the output so that you can later peruse the log
+file and examine the total number of failures.
+
+Now install the package:
+
+make install
+
+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
+locales. We'll install the Glibc locales now:
+
+make localedata/install-locales
+
+An alternative to running the previous command is to install only
+those locales which you need or want. This can be achieved by using the
+localedef command. Information on this can be
+found in the INSTALL file in the
+glibc-&glibc-version; source. However, there are a number
+of locales that are essential for the tests of future packages to pass, in
+particular, the libstdc++ tests from GCC. The following
+instructions, instead of the install-locales target above, will install
+the minimum set of locales necessary for the tests to run successfully:
+
+mkdir -p /tools/lib/locale
+localedef -i de_DE -f ISO-8859-1 de_DE
+localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro
+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 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
+localedef -i ja_JP -f EUC-JP ja_JP
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter05/kernelheaders.xml b/LDP/guide/docbook/LFS/chapter05/kernelheaders.xml
new file mode 100644
index 00000000..a5f3e3a0
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter05/kernelheaders.xml
@@ -0,0 +1,58 @@
+
+
diff --git a/LDP/guide/docbook/LFS/chapter05/lockingglibc.xml b/LDP/guide/docbook/LFS/chapter05/lockingglibc.xml
new file mode 100644
index 00000000..eb2f1c7d
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter05/lockingglibc.xml
@@ -0,0 +1,97 @@
+
+"Locking in" Glibc
+
+
+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.
+
+First install the adjusted linker by running the following from within
+the binutils-build directory:
+
+make -C ld install
+
+The linker was adjusted a little while back, at the end of the first
+pass of Binutils. From this point onwards everything will link only
+ against the libraries in /tools/lib.
+
+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 subsequent
+programs linking against libraries on the host. This is not ideal, however,
+it's not a major problem. The situation is corrected when we install the
+second pass of Binutils later on.
+
+Now that the adjusted linker is installed, you have to remove the
+Binutils build and source directories.
+
+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:
+
+
+
+SPECFILE=/tools/lib/gcc-lib/*/*/specs &&
+sed -e 's@ /lib/ld-linux.so.2@ /tools/lib/ld-linux.so.2@g' \
+ $SPECFILE > tempspecfile &&
+mv -f tempspecfile $SPECFILE &&
+unset SPECFILE
+
+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 any
+occurrence of "/lib/ld-linux.so.2" with "/tools/lib/ld-linux.so.2".
+
+If you are working on a platform where the name of the dynamic
+linker is something other than ld-linux.so.2, you
+must substitute ld-linux.so.2 with the
+name of your platform's dynamic linker in the above commands. Refer back to
+ if necessary.
+
+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:
+
+rm -f /tools/lib/gcc-lib/*/*/include/{pthread.h,bits/sigthread.h}
+
+
+
+
+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:
+
+echo 'main(){}' > dummy.c
+gcc dummy.c
+readelf -l a.out | grep ': /tools'
+
+If everything is working correctly, there should be no errors, and the
+output of the last command will be:
+
+[Requesting program interpreter: /tools/lib/ld-linux.so.2]
+
+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. Note especially that /tools/lib
+appears as the prefix of our dynamic linker. Of course, if you are working on a
+platform where the name of the dynamic linker is something other than
+ld-linux.so.2, then the output will be slightly
+different.
+
+Once you are satisfied that all is well, clean up the test files:
+
+rm dummy.c a.out
+
+
+
+
+
+This completes the installation of the self-contained toolchain, and it
+can now be used to build the rest of the temporary tools.
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter05/ncurses.xml b/LDP/guide/docbook/LFS/chapter05/ncurses.xml
new file mode 100644
index 00000000..658adc0e
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter05/ncurses.xml
@@ -0,0 +1,55 @@
+
+Installing Ncurses-&ncurses-version;
+
+
+Estimated build time: &ncurses-time-tools;
+Estimated required disk space: &ncurses-compsize-tools;
+
+&aa-ncurses-shortdesc;
+&aa-ncurses-dep;
+
+
+
+
+Installation of Ncurses
+
+Fix two minor things:
+
+patch -Np1 -i ../&ncurses-etip-patch;
+patch -Np1 -i ../&ncurses-vsscanf-patch;
+
+The first patch corrects the etip.h header file, and
+the second patch prevents some compiler warnings being issued on the use of
+deprecated headers.
+
+Now prepare Ncurses for compilation:
+
+./configure --prefix=/tools --with-shared \
+ --without-debug --without-ada --enable-overwrite
+
+The meaning of the configure options:
+
+
+--without-ada: This tells Ncurses not
+to build its Ada bindings, even if an Ada compiler is installed on the host.
+This must be done because once we enter the chroot environment, Ada will no
+longer be available.
+
+--enable-overwrite: This tells Ncurses
+to install its header files into /tools/include
+instead of /tools/include/ncurses to
+ensure that other packages can find the Ncurses headers successfully.
+
+
+Compile the programs and libraries:
+
+make
+
+Then install them and their documentation:
+
+make install
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter05/perl.xml b/LDP/guide/docbook/LFS/chapter05/perl.xml
new file mode 100644
index 00000000..21ec2f96
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter05/perl.xml
@@ -0,0 +1,41 @@
+
+Installing Perl-&perl-version;
+
+
+Estimated build time: &perl-time-tools;
+Estimated required disk space: &perl-compsize-tools;
+
+&aa-perl-shortdesc;
+&aa-perl-dep;
+
+
+
+Installation of Perl
+
+First adapt some hard-wired paths to the C library:
+
+patch -Np1 -i ../&perl-libc-patch;
+
+And make sure some static extensions get built:
+
+chmod u+w hints/linux.sh
+echo 'static_ext="IO re Fcntl"' >> hints/linux.sh
+
+Now prepare Perl for compilation:
+
+./configure.gnu --prefix=/tools
+
+Compile only the required tools:
+
+make perl utilities
+
+Then copy these tools and their libraries:
+
+cp perl pod/pod2man /tools/bin
+mkdir -p /tools/lib/perl5/&perl-version;
+cp -R lib/* /tools/lib/perl5/&perl-version;
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter05/setting-environment.xml b/LDP/guide/docbook/LFS/chapter05/setting-environment.xml
new file mode 100644
index 00000000..41390891
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter05/setting-environment.xml
@@ -0,0 +1,58 @@
+
+Setting up the environment
+
+
+While logged in as user lfs, issue the
+following commands to set up a good work environment:
+
+cat > ~/.bash_profile << "EOF"
+set +h
+umask 022
+LFS=/mnt/lfs
+LC_ALL=POSIX
+PATH=/tools/bin:$PATH
+export LFS LC_ALL PATH
+unset CC CXX CPP LD_LIBRARY_PATH LD_PRELOAD
+EOF
+
+source ~/.bash_profile
+
+The set +h command turns off
+bash's hash function. Normally hashing is a useful
+feature: bash 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 (make,
+patch, sed,
+cp and so forth) will always use
+the newest available version during the build process.
+
+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.
+
+The LFS variable should of course be set to the mount point you
+chose.
+
+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.
+
+We prepend /tools/bin 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.
+
+The CC, CXX, CPP, LD_LIBRARY_PATH and LD_PRELOAD environment variables all
+have the potential to cause havoc with our Chapter 5 toolchain. We therefore
+unset them to prevent any chance of this happening.
+
+Now, after sourcing the just-created profile, we're all set to begin
+building the temporary tools that will support us in later chapters.
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter05/tcl.xml b/LDP/guide/docbook/LFS/chapter05/tcl.xml
new file mode 100644
index 00000000..364be9ce
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter05/tcl.xml
@@ -0,0 +1,69 @@
+
+Installing Tcl-&tcl-version;
+
+
+Estimated build time: &tcl-time-tools;
+Estimated required disk space: &tcl-compsize-tools;
+
+&aa-tcl-shortdesc;
+&aa-tcl-dep;
+
+
+
+
+Installation of Tcl
+
+This package and the next two are only installed to be able to run 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.
+
+Prepare Tcl for compilation:
+
+cd unix
+./configure --prefix=/tools
+
+Build the package:
+
+make
+
+This package has a test suite available which can perform a number of
+checks to ensure it built correctly. However, the Tcl test suite in this
+chapter is known to experience failures under certain host conditions that are
+not fully understood. Therefore, test suite failures here are not surprising,
+but are not considered critical. Should you choose to run the test suite, the
+following command will do so:
+
+TZ=UTC make test
+
+The meaning of the make parameter:
+
+
+TZ=UTC: This 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 is
+available later on in .
+
+
+Sometimes, package test suites will give false failures. You can
+consult the LFS Wiki at
+to verify that these failures are normal. This applies to all tests
+throughout the book.
+
+Install the package:
+
+make install
+
+Do not remove the
+tcl&tcl-version; source directory yet, as the next package
+will need its internal headers.
+
+Make a necessary symbolic link:
+
+ln -s tclsh8.4 /tools/bin/tclsh
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter05/toolchaintechnotes.xml b/LDP/guide/docbook/LFS/chapter05/toolchaintechnotes.xml
new file mode 100644
index 00000000..5cca86e2
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter05/toolchaintechnotes.xml
@@ -0,0 +1,200 @@
+
+Toolchain technical notes
+
+
+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.
+
+The overall goal of 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
+. 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.
+
+
+Before continuing, you really should be aware of the name of your working
+platform, often also referred to as the target triplet. For
+many folks the target triplet will be, for example:
+i686-pc-linux-gnu. A simple way to determine your target
+triplet is to run the config.guess script that comes with
+the source for many packages. Unpack the Binutils sources and run the script:
+./config.guess and note the output.
+
+You'll also need to be aware of the name of your platform's
+dynamic linker, often also referred to as the
+dynamic loader, not to be confused with the standard linker
+ld 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 ld-linux.so.2. On
+platforms that are less prevalent, the name might be
+ld.so.1 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
+/lib directory on your host system. A
+surefire way is to inspect a random binary from your host system by running:
+'readelf -l <name of binary> | grep interpreter'
+and noting the output. The authoritative reference covering all platforms is in
+the shlib-versions file in the root of the Glibc source
+tree.
+
+
+Some key technical points of how the build
+method works:
+
+
+Similar in principle to cross compiling whereby tools installed
+into the same prefix work in cooperation and thus utilize a little GNU
+"magic".
+
+Careful manipulation of the standard linker's library search
+path to ensure programs are linked only against libraries we
+choose.
+
+Careful manipulation of gcc's
+specs file to tell the compiler which target dynamic
+linker will be used.
+
+
+Binutils is installed first because both GCC and Glibc perform various
+feature tests on the assembler and linker during their respective runs of
+./configure 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.
+
+Binutils installs its assembler and linker into two locations,
+/tools/bin and
+/tools/$TARGET_TRIPLET/bin. 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 ld by passing it the --verbose
+flag. For example: 'ld --verbose | grep SEARCH' will
+show you the current search paths and their order. You can see what files are
+actually linked by ld by compiling a dummy program and
+passing the --verbose switch. For example:
+'gcc dummy.c -Wl,--verbose 2>&1 | grep succeeded'
+will show you all the files successfully opened during the link.
+
+The next package installed is GCC and during its run of
+./configure you'll see, for example:
+
+checking what assembler to use... /tools/i686-pc-linux-gnu/bin/as
+checking what linker to use... /tools/i686-pc-linux-gnu/bin/ld
+
+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 gcc
+itself, the same search paths are not necessarily used. You can find out which
+standard linker gcc will use by running:
+'gcc -print-prog-name=ld'.
+Detailed information can be obtained from gcc by passing
+it the -v flag while compiling a dummy program. For
+example: 'gcc -v dummy.c' will show you detailed
+information about the preprocessor, compilation and assembly stages, including
+gcc's include search paths and their order.
+
+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 gcc
+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
+./configure you can check the contents of the
+config.make file in the
+glibc-build directory for all the
+important details. You'll note some interesting items like the use of
+CC="gcc -B/tools/bin/" to control which binary tools are
+used, and also the use of the -nostdinc and
+-isystem 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.
+
+After the Glibc installation, we make some adjustments to ensure that
+searching and linking take place only within our /tools
+prefix. We install an adjusted ld, which has a hard-wired
+search path limited to /tools/lib. Then
+we amend gcc's specs file to point to our new dynamic
+linker in /tools/lib. This last step is
+vital 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:
+'readelf -l <name of binary> | grep interpreter'.
+By amending gcc's specs file, we are ensuring that every
+program compiled from here through the end of will
+use our new dynamic linker in
+/tools/lib.
+
+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
+/lib directory embedded into them, which
+would defeat our goal of getting away from the host.
+
+During the second pass of Binutils, we are able to utilize the
+--with-lib-path configure switch to control
+ld's library search path. From this point onwards, the
+core toolchain is self-contained and self-hosted. The remainder of the
+ packages all build against the new Glibc in
+/tools and all is well.
+
+Upon entering the chroot environment in , the
+first major package we install is Glibc, due to its self-sufficient nature that
+we mentioned above. Once this Glibc is installed into
+/usr, we perform a quick changeover of
+the toolchain defaults, then proceed for real in building the rest of the
+target LFS system.
+
+
+Notes on static linking
+
+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
+Glibc.
+
+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
+dlopen man page for more information.)
+
+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.
+
+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.
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter06/adjustingtoolchain.xml b/LDP/guide/docbook/LFS/chapter06/adjustingtoolchain.xml
new file mode 100644
index 00000000..a5606ad5
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter06/adjustingtoolchain.xml
@@ -0,0 +1,96 @@
+
+Re-adjusting the toolchain
+
+
+Now that the new C libraries have been installed, it's time to re-adjust
+our toolchain. We'll adjust it so that it will link any newly compiled program
+against the new C libraries. Basically, this is the reverse of what we did
+in the "locking in" stage in the beginning of the previous chapter.
+
+The first thing to do is to 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
+binutils-build directory:
+
+make -C ld INSTALL=/tools/bin/install install
+
+If you somehow missed the earlier warning to retain the Binutils
+source and build directories from the second pass in Chapter 5 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 Glibc libraries in
+/tools rather than
+/usr. This is not ideal, however, our
+testing has shown that the resulting Binutils program binaries should be
+identical.
+
+From now on every compiled program will link only
+against the libraries in /usr/lib and
+/lib. The extra
+INSTALL=/tools/bin/install is needed because the Makefile
+created during the second pass still contains the reference to
+/usr/bin/install, which we obviously haven't installed yet.
+Some host distributions contain a ginstall
+symbolic link which takes precedence in the Makefile and thus can cause a
+problem here. The above command takes care of this also.
+
+You can now remove the Binutils source and build directories.
+
+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:
+
+
+
+SPECFILE=/tools/lib/gcc-lib/*/*/specs &&
+sed -e 's@ /tools/lib/ld-linux.so.2@ /lib/ld-linux.so.2@g' \
+ $SPECFILE > newspecfile &&
+mv -f newspecfile $SPECFILE &&
+unset SPECFILE
+
+Again, cutting and pasting the above is recommended. And just like
+before, it is a good idea to check the specs file to ensure the intended
+changes were actually made.
+
+If you are working on a platform where the name of the dynamic
+linker is something other than ld-linux.so.2, you
+must substitute ld-linux.so.2 with the
+name of your platform's dynamic linker in the above commands. Refer back to
+ if necessary.
+
+
+
+
+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:
+
+echo 'main(){}' > dummy.c
+gcc dummy.c
+readelf -l a.out | grep ': /lib'
+
+If everything is working correctly, there should be no errors, and the
+output of the last command will be:
+
+[Requesting program interpreter: /lib/ld-linux.so.2]
+
+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. Note especially that /lib now appears
+as the prefix of our dynamic linker. Of course, if you are working on a platform
+where the name of the dynamic linker is something other than
+ld-linux.so.2, then the output will be slightly
+different.
+
+Once you are satisfied that all is well, clean up the test files:
+
+rm dummy.c a.out
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter06/coreutils.xml b/LDP/guide/docbook/LFS/chapter06/coreutils.xml
new file mode 100644
index 00000000..7eeaa69a
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter06/coreutils.xml
@@ -0,0 +1,90 @@
+
+Installing Coreutils-&coreutils-version;
+
+
+Estimated build time: &coreutils-time;
+Estimated required disk space: &coreutils-compsize;
+
+&aa-coreutils-shortdesc;
+&aa-coreutils-dep;
+
+
+
+
+Installation of Coreutils
+
+Normally the functionality of uname is somewhat
+broken, in that the -p switch always returns "unknown".
+The following patch fixes this behaviour for Intel architectures:
+
+patch -Np1 -i ../&coreutils-uname-patch;
+
+We do not want Coreutils to install its version of the
+hostname program, because it is inferior to the version
+provided by Net-tools. Prevent its installation by applying a patch:
+
+patch -Np1 -i ../&coreutils-hostname-patch;
+
+Now prepare Coreutils for compilation:
+
+./configure --prefix=/usr
+
+Compile the package:
+
+make
+
+The su program from Coreutils wasn't installed in
+Chapter 5 because it needed root privilege to do so. We're
+going to need it in a few moments for the test suite. Therefore we work around
+the problem by installing it now:
+
+make install-root
+
+This package has a test suite available which can perform a number of
+checks to ensure it built correctly. However, this particular test suite
+makes some assumptions with regards to the presence of non-root users and
+groups that don't apply this early into the LFS build. We therefore create
+a dummy system user and two dummy groups to allow the tests to run
+properly. Should you choose not to run the test suite, skip down to
+"Install the package". The following commands will prepare us for the test
+suite. Create two dummy groups and a dummy user name:
+
+echo "dummy1:x:1000" >> /etc/group
+echo "dummy2:x:1001:dummy" >> /etc/group
+echo "dummy:x:1000:1000:::/bin/bash" >> /etc/passwd
+
+Some tests are meant to run as root:
+
+make check-root
+
+The remainder of the tests are run as the dummy
+user:
+
+su dummy -c "make RUN_EXPENSIVE_TESTS=yes check"
+
+Remove the dummy groups and user name:
+
+sed -i.bak '/dummy/d' /etc/passwd /etc/group
+
+Install the package:
+
+make install
+
+And move some programs to their proper locations:
+
+mv /usr/bin/{basename,cat,chgrp,chmod,chown,cp,dd,df} /bin
+mv /usr/bin/{dir,dircolors,du,date,echo,false,head} /bin
+mv /usr/bin/{install,ln,ls,mkdir,mkfifo,mknod,mv,pwd} /bin
+mv /usr/bin/{rm,rmdir,shred,sync,sleep,stty,su,test} /bin
+mv /usr/bin/{touch,true,uname,vdir} /bin
+mv /usr/bin/chroot /usr/sbin
+
+Finally, create a few necessary symlinks:
+
+ln -s test /bin/[
+ln -s ../../bin/install /usr/bin
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter06/gcc-2953.xml b/LDP/guide/docbook/LFS/chapter06/gcc-2953.xml
new file mode 100644
index 00000000..5071ad4c
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter06/gcc-2953.xml
@@ -0,0 +1,61 @@
+
+Installing GCC-2.95.3
+
+
+Estimated build time: &gcc-2953-time;
+Estimated required disk space: &gcc-2953-compsize;
+
+
+
+
+
+Installation of GCC
+
+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
+or modifying them when building GCC.
+
+This is an older release of GCC which we are going to install for the
+purpose of compiling the Linux kernel in . 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.
+
+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
+at .
+
+We'll install this older release of GCC into the non-standard prefix of
+/opt so as to avoid interfering with
+the system GCC already installed in /usr
+ .
+
+Apply the patches and make a small adjustment:
+
+patch -Np1 -i ../&gcc-2953-patch;
+patch -Np1 -i ../&gcc-2953-no-fixinc-patch;
+patch -Np1 -i ../&gcc-2953-returntype-fix-patch;
+echo timestamp > gcc/cstamp-h.in
+
+The GCC documentation recommends building GCC outside of the source
+directory in a dedicated build directory:
+
+mkdir ../gcc-2-build
+cd ../gcc-2-build
+
+Compile and install the compiler:
+
+../gcc-2.95.3/configure --prefix=/opt/gcc-2.95.3 \
+ --enable-shared --enable-languages=c \
+ --enable-threads=posix
+make bootstrap
+make install
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter06/grub.xml b/LDP/guide/docbook/LFS/chapter06/grub.xml
new file mode 100644
index 00000000..929e2310
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter06/grub.xml
@@ -0,0 +1,53 @@
+
+Installing Grub-&grub-version;
+
+
+Estimated build time: &grub-time;
+Estimated required disk space: &grub-compsize;
+
+&aa-grub-shortdesc;
+&aa-grub-dep;
+
+
+
+
+Installation of Grub
+
+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
+Grub.
+
+First fix a compilation problem with GCC-&gcc-version;:
+
+patch -Np1 -i ../&grub-patch;
+
+Now prepare Grub for compilation:
+
+./configure --prefix=/usr
+
+Compile the package:
+
+make
+
+And install it:
+
+make install
+mkdir /boot/grub
+cp /usr/share/grub/i386-pc/stage{1,2} /boot/grub
+
+Replace i386-pc with whatever
+directory is appropriate for your hardware.
+
+The i386-pc directory also
+contains a number of *stage1_5 files, different ones
+for different filesystems. Have a look at the ones available and copy the
+appropriate ones to the /boot/grub
+directory. Most people will copy the e2fs_stage1_5
+and/or reiserfs_stage1_5 files.
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter06/inetutils.xml b/LDP/guide/docbook/LFS/chapter06/inetutils.xml
new file mode 100644
index 00000000..fd448abd
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter06/inetutils.xml
@@ -0,0 +1,63 @@
+
+Installing Inetutils-&inetutils-version;
+
+
+Estimated build time: &inetutils-time;
+Estimated required disk space: &inetutils-compsize;
+
+&aa-inetutils-shortdesc;
+&aa-inetutils-dep;
+
+
+
+
+Installation of Inetutils
+
+Prepare Inetutils for compilation:
+
+./configure --prefix=/usr --disable-syslogd \
+ --libexecdir=/usr/sbin --disable-logger \
+ --sysconfdir=/etc --localstatedir=/var \
+ --disable-whois --disable-servers
+
+The meaning of the configure options:
+
+
+--disable-syslogd: This option
+prevents inetutils from installing the System Log Daemon, which is
+installed with the Sysklogd package.
+
+--disable-logger: This option
+prevents inetutils from installing the logger program, which is used by
+scripts to pass messages to the System Log Daemon. We do not install it
+because Util-linux installs a better version later.
+
+--disable-whois: This option disables
+the building of the inetutils whois client, which is woefully out of date.
+Instructions for a better whois client are in the BLFS book.
+
+--disable-servers: This disables the
+installation of the various network servers included as part of the Inetutils
+package. These servers are deemed not appropriate in a basic LFS system. Some
+are insecure by nature and are only considered safe on trusted networks. More
+information can be found at
+. Note that better
+replacements are available for many of these servers.
+
+
+Compile the package:
+
+make
+
+Install it:
+
+make install
+
+And move the ping program to its proper place:
+
+mv /usr/bin/ping /bin
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter06/lfs-utils.xml b/LDP/guide/docbook/LFS/chapter06/lfs-utils.xml
new file mode 100644
index 00000000..5119b480
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter06/lfs-utils.xml
@@ -0,0 +1,36 @@
+
+Installing Lfs-Utils-&lfs-utils-version;
+
+
+Estimated build time: &lfs-utils-time;
+Estimated required disk space: &lfs-utils-compsize;
+
+&aa-lfs-utils-shortdesc;
+&aa-lfs-utils-dep;
+
+
+
+
+Installation of Lfs-Utils
+
+Compile the package:
+
+make
+
+And install it:
+
+make install
+
+Now copy two supporting files included in the Lfs-Utils tarball to
+their destination:
+
+cp etc/{services,protocols} /etc
+
+The /etc/services file is used to resolve service
+numbers to human-readable names, and the /etc/protocols
+does the same for protocol numbers.
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter06/revisedchroot.xml b/LDP/guide/docbook/LFS/chapter06/revisedchroot.xml
new file mode 100644
index 00000000..d824c2d1
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter06/revisedchroot.xml
@@ -0,0 +1,19 @@
+
+Revised chroot command
+
+
+From now on when you exit the chroot environment and wish to re-enter
+it, you should run the following modified chroot command:
+
+chroot $LFS /usr/bin/env -i \
+ HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
+ PATH=/bin:/usr/bin:/sbin:/usr/sbin \
+ /bin/bash --login
+
+The reason being there is no longer any need to use programs from the
+/tools directory. However, we don't
+want to remove the /tools directory
+just yet. There is still some use for it towards the end of the book.
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter08/grub.xml b/LDP/guide/docbook/LFS/chapter08/grub.xml
new file mode 100644
index 00000000..6ed20b32
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter08/grub.xml
@@ -0,0 +1,118 @@
+
+Making the LFS system bootable
+
+
+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, i.e. mainstream PC's. Information on "boot loading" for
+other architectures should be available in the usual resource specific
+locations for those architectures.
+
+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).
+
+Earlier, we compiled and installed the Grub boot loader software in
+preparation for this step. The procedure involves writing some special Grub
+files to specific locations on the hard drive. Before we get to that, we
+highly recommend that you create a Grub boot floppy diskette just in case.
+Insert a blank floppy diskette and run the following commands:
+
+dd if=/boot/grub/stage1 of=/dev/fd0 bs=512 count=1
+dd if=/boot/grub/stage2 of=/dev/fd0 bs=512 seek=1
+
+Remove the diskette and store it somewhere safe. Now we'll run the
+grub shell:
+
+grub
+
+Grub uses its own naming structure for drives and partitions, in the form
+of (hdn,m), where n is the hard drive number, and
+m the partition number, both starting from zero. This
+means, for instance, that partition hda1 is (hd0,0) to
+Grub, and hdb2 is (hd1,1). In contrast to Linux, Grub
+doesn't consider CD-ROM drives to be hard drives, so if you have a CD on
+hdb, for example, and a second hard drive on
+hdc, that second hard drive would still be (hd1).
+
+Using the above information, determine the appropriate designator for
+your root partition. For the following example, we'll assume your root
+partition is hda4.
+
+First, tell Grub where to search for its stage{1,2}
+files -- you can use Tab everywhere to make Grub show the alternatives:
+
+root (hd0,3)
+
+
+
+
+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:
+setup (hd0,3).
+
+
+
+
+Then tell it to install itself into the MBR (Master Boot Record) of
+hda:
+
+setup (hd0)
+
+If all is well, Grub will have reported finding its files in
+/boot/grub. That's all there is to it:
+
+quit
+
+Now we need to create a "menu list" file, defining Grub's boot
+menu:
+
+cat > /boot/grub/menu.lst << "EOF"
+# Begin /boot/grub/menu.lst
+
+# By default boot the first menu entry.
+default 0
+
+# Allow 30 seconds before booting the default.
+timeout 30
+
+# Use prettier colors.
+color green/black light-green/black
+
+# The first entry is for LFS.
+title LFS &milestone;
+root (hd0,3)
+kernel /boot/lfskernel root=/dev/hda4 ro
+EOF
+
+You may want to add an entry for your host distribution. It might look
+like this:
+
+cat >> /boot/grub/menu.lst << "EOF"
+title Red Hat
+root (hd0,2)
+kernel /boot/kernel-2.4.20 root=/dev/hda3 ro
+initrd /boot/initrd-2.4.20
+EOF
+
+Also, if you happen to dual-boot Windows, the following entry should
+allow booting it:
+
+cat >> /boot/grub/menu.lst << "EOF"
+title Windows
+rootnoverify (hd0,0)
+chainloader +1
+EOF
+
+If info grub doesn't tell you all you want to
+know, you can find more information regarding Grub on its website, located at:
+.
+
+
+
diff --git a/LDP/guide/docbook/LFS/chapter08/kernel-inst.xml b/LDP/guide/docbook/LFS/chapter08/kernel-inst.xml
new file mode 100644
index 00000000..6ac155e5
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter08/kernel-inst.xml
@@ -0,0 +1,91 @@
+
+
+
+Installation of the kernel
+
+Building the kernel involves a few steps: configuration,
+compilation, and installation. If you don't like the way this
+book configures the kernel, view the README
+file in the kernel source tree for alternative methods.
+
+Prepare for compilation by running the following command:
+
+make mrproper
+
+This ensures that the kernel tree is absolutely clean. The kernel
+team recommends that this command be issued prior to
+each kernel compilation. You shouldn't rely
+on the source tree being clean after untarring.
+
+Configure the kernel via a menu-driven interface:
+
+make menuconfig
+
+make oldconfig may be more appropriate
+in some situations. See the README file for
+more information.
+
+If you wish, you may skip kernel configuration by simply copying the
+kernel config file, .config, from your host system
+(assuming it is available) to the unpacked
+linux-&kernel-version; 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.
+
+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.
+
+Verify dependencies and create dependency information files:
+
+make CC=/opt/gcc-2.95.3/bin/gcc dep
+
+Compile the kernel image:
+
+make CC=/opt/gcc-2.95.3/bin/gcc bzImage
+
+Compile the drivers which have been configured as modules:
+
+make CC=/opt/gcc-2.95.3/bin/gcc modules
+
+If you intend to use kernel modules, you will need an
+/etc/modules.conf file. Information pertaining
+to modules and to kernel configuration in general may be found in the
+kernel documentation, which is found in the
+linux-&kernel-version;/Documentation directory. The
+modules.conf man page and the kernel HOWTO at
+ may also be of
+interest to you.
+
+Install the modules:
+
+make CC=/opt/gcc-2.95.3/bin/gcc modules_install
+
+As nothing is complete without documentation, build the manual pages
+that come with the kernel:
+
+make mandocs
+
+And install these pages:
+
+cp -a Documentation/man /usr/share/man/man9
+
+Kernel compilation has finished, but some of the files created
+still reside in the source tree. To complete the installation, two
+files need to be copied to the /boot
+directory.
+
+The path to the kernel file may vary depending on the platform
+you're using. Issue the following command to install the kernel:
+
+cp arch/i386/boot/bzImage /boot/lfskernel
+
+System.map is a symbol file for the kernel.
+It maps the function entrypoints of every function in the kernel API,
+as well as the addresses of the kernel data structures for the running
+kernel. Issue the following command to install the map file:
+
+cp System.map /boot
+
+
diff --git a/LDP/guide/docbook/LFS/chapter09/whatnow.xml b/LDP/guide/docbook/LFS/chapter09/whatnow.xml
new file mode 100644
index 00000000..e6e044f2
--- /dev/null
+++ b/LDP/guide/docbook/LFS/chapter09/whatnow.xml
@@ -0,0 +1,40 @@
+
+What now?
+
+
+We thank you for reading the LFS Book and hope that you've found this
+book useful and worth your time.
+
+Now that you have finished installing your LFS system, you may be
+wondering "What now?". In order to answer that question, we have composed a
+list of resources for you.
+
+
+Beyond Linux From Scratch
+
+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 .
+
+LFS Hints
+
+The LFS Hints are a collection of small, educational documents
+submitted by volunteers in the LFS community. The Hints are available at
+.
+
+Mailing lists
+
+There are several LFS mailing lists you may subscribe to if you are
+in need of help. See for more
+information.
+
+The Linux Documentation Project
+
+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; it may be found at
+.
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/autoconf.ent b/LDP/guide/docbook/LFS/entities/autoconf.ent
new file mode 100644
index 00000000..23a6553b
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/autoconf.ent
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/automake.ent b/LDP/guide/docbook/LFS/entities/automake.ent
new file mode 100644
index 00000000..bec4ae3a
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/automake.ent
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/bash.ent b/LDP/guide/docbook/LFS/entities/bash.ent
new file mode 100644
index 00000000..068660a7
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/bash.ent
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/binutils.ent b/LDP/guide/docbook/LFS/entities/binutils.ent
new file mode 100644
index 00000000..0af339bc
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/binutils.ent
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/bison.ent b/LDP/guide/docbook/LFS/entities/bison.ent
new file mode 100644
index 00000000..c16adcfa
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/bison.ent
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/book-structure.xml b/LDP/guide/docbook/LFS/entities/book-structure.xml
new file mode 100644
index 00000000..1b9a3181
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/book-structure.xml
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/bootscripts.ent b/LDP/guide/docbook/LFS/entities/bootscripts.ent
new file mode 100644
index 00000000..0bad9818
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/bootscripts.ent
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/bzip2.ent b/LDP/guide/docbook/LFS/entities/bzip2.ent
new file mode 100644
index 00000000..8c825c27
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/bzip2.ent
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/coreutils.ent b/LDP/guide/docbook/LFS/entities/coreutils.ent
new file mode 100644
index 00000000..43baa2f3
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/coreutils.ent
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/dejagnu.ent b/LDP/guide/docbook/LFS/entities/dejagnu.ent
new file mode 100644
index 00000000..832f5490
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/dejagnu.ent
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/diffutils.ent b/LDP/guide/docbook/LFS/entities/diffutils.ent
new file mode 100644
index 00000000..0b30a11f
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/diffutils.ent
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/e2fsprogs.ent b/LDP/guide/docbook/LFS/entities/e2fsprogs.ent
new file mode 100644
index 00000000..6b4b4bc9
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/e2fsprogs.ent
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/ed.ent b/LDP/guide/docbook/LFS/entities/ed.ent
new file mode 100644
index 00000000..72709b68
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/ed.ent
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/expect.ent b/LDP/guide/docbook/LFS/entities/expect.ent
new file mode 100644
index 00000000..58a694ac
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/expect.ent
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/file.ent b/LDP/guide/docbook/LFS/entities/file.ent
new file mode 100644
index 00000000..efc4594e
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/file.ent
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/findutils.ent b/LDP/guide/docbook/LFS/entities/findutils.ent
new file mode 100644
index 00000000..411b1ffe
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/findutils.ent
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/flex.ent b/LDP/guide/docbook/LFS/entities/flex.ent
new file mode 100644
index 00000000..2abc23e4
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/flex.ent
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/gawk.ent b/LDP/guide/docbook/LFS/entities/gawk.ent
new file mode 100644
index 00000000..8a653aee
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/gawk.ent
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/gcc-2953.ent b/LDP/guide/docbook/LFS/entities/gcc-2953.ent
new file mode 100644
index 00000000..89e28da7
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/gcc-2953.ent
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/gcc.ent b/LDP/guide/docbook/LFS/entities/gcc.ent
new file mode 100644
index 00000000..8021bd1d
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/gcc.ent
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/gettext.ent b/LDP/guide/docbook/LFS/entities/gettext.ent
new file mode 100644
index 00000000..ae3b92d8
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/gettext.ent
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/glibc.ent b/LDP/guide/docbook/LFS/entities/glibc.ent
new file mode 100644
index 00000000..022383b5
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/glibc.ent
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/grep.ent b/LDP/guide/docbook/LFS/entities/grep.ent
new file mode 100644
index 00000000..4d1ab2e5
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/grep.ent
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/groff.ent b/LDP/guide/docbook/LFS/entities/groff.ent
new file mode 100644
index 00000000..fb3ce674
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/groff.ent
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/grub.ent b/LDP/guide/docbook/LFS/entities/grub.ent
new file mode 100644
index 00000000..5cfa265e
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/grub.ent
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/gzip.ent b/LDP/guide/docbook/LFS/entities/gzip.ent
new file mode 100644
index 00000000..f5ba7d68
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/gzip.ent
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/inetutils.ent b/LDP/guide/docbook/LFS/entities/inetutils.ent
new file mode 100644
index 00000000..249b133c
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/inetutils.ent
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/kbd.ent b/LDP/guide/docbook/LFS/entities/kbd.ent
new file mode 100644
index 00000000..33dd8a3c
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/kbd.ent
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/kernel.ent b/LDP/guide/docbook/LFS/entities/kernel.ent
new file mode 100644
index 00000000..50aa7c99
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/kernel.ent
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/less.ent b/LDP/guide/docbook/LFS/entities/less.ent
new file mode 100644
index 00000000..eca60260
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/less.ent
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/lfs-utils.ent b/LDP/guide/docbook/LFS/entities/lfs-utils.ent
new file mode 100644
index 00000000..15892a33
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/lfs-utils.ent
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/libtool.ent b/LDP/guide/docbook/LFS/entities/libtool.ent
new file mode 100644
index 00000000..da5b0949
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/libtool.ent
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/m4.ent b/LDP/guide/docbook/LFS/entities/m4.ent
new file mode 100644
index 00000000..2987fbd6
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/m4.ent
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/make.ent b/LDP/guide/docbook/LFS/entities/make.ent
new file mode 100644
index 00000000..ed3beb5c
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/make.ent
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/makedev.ent b/LDP/guide/docbook/LFS/entities/makedev.ent
new file mode 100644
index 00000000..cfc1e472
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/makedev.ent
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/man.ent b/LDP/guide/docbook/LFS/entities/man.ent
new file mode 100644
index 00000000..c5b0b6a5
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/man.ent
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/manpages.ent b/LDP/guide/docbook/LFS/entities/manpages.ent
new file mode 100644
index 00000000..0a047297
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/manpages.ent
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/modutils.ent b/LDP/guide/docbook/LFS/entities/modutils.ent
new file mode 100644
index 00000000..bb8b6668
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/modutils.ent
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/ncurses.ent b/LDP/guide/docbook/LFS/entities/ncurses.ent
new file mode 100644
index 00000000..03a35f21
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/ncurses.ent
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/nettools.ent b/LDP/guide/docbook/LFS/entities/nettools.ent
new file mode 100644
index 00000000..71184dc1
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/nettools.ent
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/patch.ent b/LDP/guide/docbook/LFS/entities/patch.ent
new file mode 100644
index 00000000..5957c944
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/patch.ent
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/perl.ent b/LDP/guide/docbook/LFS/entities/perl.ent
new file mode 100644
index 00000000..8b650667
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/perl.ent
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/procinfo.ent b/LDP/guide/docbook/LFS/entities/procinfo.ent
new file mode 100644
index 00000000..b6a8f0ed
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/procinfo.ent
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/procps.ent b/LDP/guide/docbook/LFS/entities/procps.ent
new file mode 100644
index 00000000..7983052e
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/procps.ent
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/psmisc.ent b/LDP/guide/docbook/LFS/entities/psmisc.ent
new file mode 100644
index 00000000..6909c305
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/psmisc.ent
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/sed.ent b/LDP/guide/docbook/LFS/entities/sed.ent
new file mode 100644
index 00000000..379cf2f1
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/sed.ent
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/shadow.ent b/LDP/guide/docbook/LFS/entities/shadow.ent
new file mode 100644
index 00000000..987a1cd1
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/shadow.ent
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/sysklogd.ent b/LDP/guide/docbook/LFS/entities/sysklogd.ent
new file mode 100644
index 00000000..060a1088
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/sysklogd.ent
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/sysvinit.ent b/LDP/guide/docbook/LFS/entities/sysvinit.ent
new file mode 100644
index 00000000..5879da77
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/sysvinit.ent
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/tar.ent b/LDP/guide/docbook/LFS/entities/tar.ent
new file mode 100644
index 00000000..aeaea07b
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/tar.ent
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/tcl.ent b/LDP/guide/docbook/LFS/entities/tcl.ent
new file mode 100644
index 00000000..8d93dd6f
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/tcl.ent
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/texinfo.ent b/LDP/guide/docbook/LFS/entities/texinfo.ent
new file mode 100644
index 00000000..217f4df4
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/texinfo.ent
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/utillinux.ent b/LDP/guide/docbook/LFS/entities/utillinux.ent
new file mode 100644
index 00000000..514abc14
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/utillinux.ent
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/vim.ent b/LDP/guide/docbook/LFS/entities/vim.ent
new file mode 100644
index 00000000..44f06636
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/vim.ent
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/entities/zlib.ent b/LDP/guide/docbook/LFS/entities/zlib.ent
new file mode 100644
index 00000000..a405c942
--- /dev/null
+++ b/LDP/guide/docbook/LFS/entities/zlib.ent
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/preface/audience.xml b/LDP/guide/docbook/LFS/preface/audience.xml
new file mode 100644
index 00000000..2ac651a1
--- /dev/null
+++ b/LDP/guide/docbook/LFS/preface/audience.xml
@@ -0,0 +1,91 @@
+
+Audience
+
+
+
+Who would want to read this book
+
+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.
+
+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.
+
+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.
+
+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.
+
+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).
+
+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.
+
+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).
+
+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.
+
+
+
+
+Who would not want to read this book
+
+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 From
+Power Up To Bash Prompt
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.
+
+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
+From Power Up To Bash Prompt
HOWTO is probably a better choice.
+
+The From Power Up To Bash Prompt
HOWTO is located at
+ or on The Linux
+Documentation Project's website at
+.
+
+
+
+
diff --git a/LDP/guide/docbook/LFS/preface/prerequisites.xml b/LDP/guide/docbook/LFS/preface/prerequisites.xml
new file mode 100644
index 00000000..dd26a996
--- /dev/null
+++ b/LDP/guide/docbook/LFS/preface/prerequisites.xml
@@ -0,0 +1,33 @@
+
+Prerequisites
+
+
+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:
+
+
+Software-Building-HOWTO
+
+This is a comprehensive guide to building and installing "generic"
+UNIX software distributions under Linux. This HOWTO is available at
+.
+
+The Linux Users' Guide
+
+This guide covers the usage of assorted Linux software and is
+available at
+.
+
+The Essential Pre-Reading Hint
+
+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
+
+
+
+
+
+