diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index 45a4df4d0..9fe7ca215 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -46,6 +46,7 @@ first a summary, then a detailed log.
Added:
+bash-3.0-display_wrap-1.patch
coreutils-5.2.1-suppress_hostname_uptime_kill_su-1.patch
flex-2.5.31-debian_fixes-2.patch
inetutils-1.4.2-kernel_headers-1.patch
@@ -54,6 +55,7 @@ first a summary, then a detailed log.
linux-libc-headers-2.6.7.0
module-init-tools-3.0
readline-5.0
+readline-5.0-display_wrap-1.patch
sysklogd-1.4.1-kernel_headers-1.patch
sysklogd-1.4.1-signal-1.patch
sysvinit-2.85-proclen-1.patch
@@ -79,6 +81,9 @@ first a summary, then a detailed log.
+August 17th, 2004 [gerard]: Added Bash and Readline
+Display Wrap patches.
+
August 8th, 2004 [gerard]: Upgraded to
iproute2-2.6.8-ss040730.
diff --git a/chapter03/patches.xml b/chapter03/patches.xml
index baaa867f9..66f2f5b15 100644
--- a/chapter03/patches.xml
+++ b/chapter03/patches.xml
@@ -15,6 +15,13 @@ needed to build an LFS system:
Patches
+
+Bash Dislay Wrap Patch - 1 KB:
+
+
+
+
+
Coreutils Suppress Uptime, Kill, Su Patch - 16 KB:
@@ -99,6 +106,13 @@ needed to build an LFS system:
+
+Readline Display Wrap Patch - 1 KB:
+
+>
+
+
+
Sysklogd Kernel Headers Patch - 3 KB:
diff --git a/chapter05/bash.xml b/chapter05/bash.xml
index c7f4193ac..0e8898c2e 100644
--- a/chapter05/bash.xml
+++ b/chapter05/bash.xml
@@ -31,6 +31,18 @@
./configure --prefix=/tools --without-bash-malloc
+The meaning of the configure option:
+
+
+
+--without-bash-malloc
+This options turns off the use of Bash's memory
+allocation (malloc) function which is known to cause segmentation
+faults. By turning this option off Bash will use the malloc functions
+from Glibc which are more stable.
+
+
+
Compile the program:
make
diff --git a/chapter05/binutils-pass1.xml b/chapter05/binutils-pass1.xml
index af71c09d5..d151b9f30 100644
--- a/chapter05/binutils-pass1.xml
+++ b/chapter05/binutils-pass1.xml
@@ -33,11 +33,10 @@ assembler to determine which of their own features to enable.
This package is known to have issues when its default
optimization flags (including the -march and
--mcpu options) are changed. Therefore, if any
-environment variables that override default optimizations have been
-defined, such as CFLAGS and
-CXXFLAGS, we recommend un-setting them when
-building Binutils.
+-mcpu options) are changed. If any environment
+variables that override default optimizations have been defined, such
+as CFLAGS and CXXFLAGS,
+unset them when building Binutils.
The Binutils documentation recommends building Binutils outside of the
source directory in a dedicated build directory:
diff --git a/chapter05/binutils-pass2.xml b/chapter05/binutils-pass2.xml
index e776c1f6e..13cf1c5e2 100644
--- a/chapter05/binutils-pass2.xml
+++ b/chapter05/binutils-pass2.xml
@@ -24,6 +24,13 @@
Re-installation of Binutils
+This package is known to have issues when its default
+optimization flags (including the -march and
+-mcpu options) are changed. If any environment
+variables that override default optimizations have been defined, such
+as CFLAGS and CXXFLAGS,
+unset them when building Binutils.
+
Create a separate build directory again:
mkdir ../binutils-build
diff --git a/chapter05/gcc-pass1.xml b/chapter05/gcc-pass1.xml
index 47876148e..cd010572d 100644
--- a/chapter05/gcc-pass1.xml
+++ b/chapter05/gcc-pass1.xml
@@ -30,13 +30,12 @@
Unpack only the gcc-core tarball because neither the C++
compiler nor the test suite will be needed here.
-This package is known to have issues when the default
+This package is known to have issues when its default
optimization flags (including the -march and
--mcpu options) are changed. Therefore, if any
-environment variables that override default optimizations have been
-defined, such as CFLAGS and
-CXXFLAGS, we recommend un-setting them when
-building GCC.
+-mcpu options) are changed. If any environment
+variables that override default optimizations have been defined, such
+as CFLAGS and CXXFLAGS,
+unset them when building GCC.
The GCC documentation recommends building GCC outside of the
source directory in a dedicated build directory:
diff --git a/chapter05/gcc-pass2.xml b/chapter05/gcc-pass2.xml
index 053c94707..b504b75df 100644
--- a/chapter05/gcc-pass2.xml
+++ b/chapter05/gcc-pass2.xml
@@ -26,6 +26,13 @@
Re-installation of GCC
+This package is known to have issues when its default
+optimization flags (including the -march and
+-mcpu options) are changed. If any environment
+variables that override default optimizations have been defined, such
+as CFLAGS and CXXFLAGS,
+unset them when building GCC.
+
The tools required to test GCC and Binutils -- Tcl, Expect and
DejaGNU -- are installed now. GCC and Binutils can now be rebuilt,
linking them against the new Glibc and testing them properly (if
diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml
index 8d2489565..255f50456 100644
--- a/chapter05/glibc.xml
+++ b/chapter05/glibc.xml
@@ -27,13 +27,12 @@
Installation of Glibc
-This package is known to have issues when the default
+This package is known to have issues when its default
optimization flags (including the -march and
--mcpu options) are changed. Therefore, if any
-environment variables that override default optimizations have been
-defined, such as CFLAGS and
-CXXFLAGS, it is recommended that these be un-set
-when building Glibc.
+-mcpu options) are changed. If any environment
+variables that override default optimizations have been defined, such
+as CFLAGS and CXXFLAGS,
+unset them when building Glibc.
It should be noted that compiling Glibc in any way other than
the method suggested in this book puts the stability of the system at
diff --git a/chapter05/hostreqs.xml b/chapter05/hostreqs.xml
index 830ed7654..78c55a5f3 100644
--- a/chapter05/hostreqs.xml
+++ b/chapter05/hostreqs.xml
@@ -10,7 +10,7 @@
The host must be running at least a 2.6.2 kernel compiled with
GCC-3.0 or higher. There are two main reasons for this high
requirement. First, the Native Posix Threading Library (NPTL)
-testsuite will segfault if the host's kernel hasn't been compiled with
+testsuite will segfault if the host's kernel has not been compiled with
GCC-3.0 or a later version. Secondly, the 2.6.2 or later version of
the kernel is required for the use of Udev. Udev creates devices
dynamically by reading from the
Installation of Bash
+The following patch fixes a problem where Bash sometimes will
+only show 33 characters on a line and then wraps to the next
+line.
+
+patch -Np1 -i ../bash-&bash-version;-display_wrap-1.patch
+
Prepare Bash for compilation:
./configure --prefix=/usr --bindir=/bin \
--without-bash-malloc --with-installed-readline
+The meaning of the configure option:
+
+
+
+--with-installed-readline
+This options tells Bash to use the
+readline library that is already installed on the
+system rather than using its own readline version.
+
+
+
Compile the package:
make
diff --git a/chapter06/binutils.xml b/chapter06/binutils.xml
index 6c7023e06..1ebc7f897 100644
--- a/chapter06/binutils.xml
+++ b/chapter06/binutils.xml
@@ -29,6 +29,13 @@ Glibc, Grep, Make, Perl, Sed, Texinfo
Installation of Binutils
+This package is known to have issues when its default
+optimization flags (including the -march and
+-mcpu options) are changed. If any environment
+variables that override default optimizations have been defined, such
+as CFLAGS and CXXFLAGS,
+unset them when building Binutils.
+
Verify that your the terminals (PTYs) are working properly
inside the chroot environment. Check that everything is set up
correctly by performing a simple test:
@@ -43,13 +50,6 @@ set up for proper PTY operation:
The issue needs to be resolved before running the test suites
for Binutils and GCC.
-This package is known to have issues when its default
-optimization flags (including the -march and
--mcpu options) are changed. If any environment
-variables that override default optimizations have been defined, such
-as CFLAGS and CXXFLAGS,
-unset or modifying them when building Binutils.
-
The Binutils documentation recommends building Binutils outside of the
source directory in a dedicated build directory:
diff --git a/chapter06/coreutils.xml b/chapter06/coreutils.xml
index 2bc3c067b..ab0746d40 100644
--- a/chapter06/coreutils.xml
+++ b/chapter06/coreutils.xml
@@ -99,15 +99,15 @@ mv /usr/bin/chroot /usr/sbin
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,
+basename, cat, chgrp, chmod, chown, chroot, cksum,
+comm, cp, csplit, cut, date, dd, df, dir, dircolors, dirname, du,
+echo, env, expand, expr, factor, false, fmt, fold, groups, head,
hostid, hostname, id, install, join, link, ln, logname, ls, md5sum,
-mkdir, mkfifo, mknod, mv, nice, nl, nohup, od, paste, pathchk, pinky, pr,
-printenv, printf, ptx, pwd, readlink, rm, rmdir, seq, sha1sum, shred, sleep,
-sort, split, stat, stty, su, sum, sync, tac, tail, tee, test, touch, tr, true,
-tsort, tty, uname, unexpand, uniq, unlink, uptime, users, vdir, wc, who,
-whoami and yes
+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, sum, sync, tac, tail, tee,
+test, touch, tr, true, tsort, tty, uname, unexpand, uniq, unlink,
+users, vdir, wc, who, whoami and yes
Short descriptions
@@ -650,6 +650,14 @@ making it difficult to recover the data.
+
+stat
+
+displays file or filesystem status.
+stat
+
+
+
stty
@@ -658,14 +666,6 @@ making it difficult to recover the data.
-
-su
-
-runs a shell with substitute user and group IDs.
-su
-
-
-
sum
@@ -795,15 +795,6 @@ input.
-
-uptime
-
-reports how long the system has been running, how many users are
-logged on, and the system load averages.
-uptime
-
-
-
users
diff --git a/chapter06/gcc.xml b/chapter06/gcc.xml
index 2c6678c44..dac381d2d 100644
--- a/chapter06/gcc.xml
+++ b/chapter06/gcc.xml
@@ -34,7 +34,7 @@ optimization flags (including the -march and
-mcpu options) are changed. If any environment
variables that override default optimizations have been defined, such
as CFLAGS and CXXFLAGS,
-unset or modifying them when building Binutils.
+unset them when building GCC.
Unpack both the gcc-core and the gcc-g++ tarballs -- they will
unpack into the same directory. Likewise, extract the gcc-testsuite
diff --git a/chapter06/glibc.xml b/chapter06/glibc.xml
index 0a4fa6d1e..5fd2e44bf 100644
--- a/chapter06/glibc.xml
+++ b/chapter06/glibc.xml
@@ -31,6 +31,13 @@ Gawk, GCC, Gettext, Grep, Make, Perl, Sed, Texinfo
Installation of Glibc
+This package is known to have issues when its default
+optimization flags (including the -march and
+-mcpu options) are changed. If any environment
+variables that override default optimizations have been defined, such
+as CFLAGS and CXXFLAGS,
+unset them when building GCC.
+
The Glibc build system is self-contained and will install
perfectly, even though the compiler specs file and linker are still
pointing at /tools. The specs
diff --git a/chapter06/grub.xml b/chapter06/grub.xml
index 55c912b59..d828f000b 100644
--- a/chapter06/grub.xml
+++ b/chapter06/grub.xml
@@ -33,7 +33,7 @@ optimization flags (including the -march and
-mcpu options) are changed. If any environment
variables that override default optimizations have been defined, such
as CFLAGS and CXXFLAGS,
-unset or modifying them when building Binutils.
+unset them when building Grub.
Prepare Grub for compilation:
diff --git a/chapter06/readline.xml b/chapter06/readline.xml
index 87a2db38c..439755918 100644
--- a/chapter06/readline.xml
+++ b/chapter06/readline.xml
@@ -28,6 +28,12 @@ GCC, Glibc, Grep, Make, Ncurses, Sed
Installation of Readline
+The following patch fixes a problem where Readline sometimes
+will only show 33 characters on a line and then wraps to the next
+line.
+
+patch -Np1 -i ../readline-&readline-version;-display_wrap-1.patch
+
Prepare Readline for compilation:
./configure --prefix=/usr
@@ -36,6 +42,16 @@ GCC, Glibc, Grep, Make, Ncurses, Sed
make SHLIB_XLDFLAGS=-lncurses
+The meaning of the make option:
+
+
+
+SHLIB_XLDFLAGS=-lncurses
+This option forces readline to link against the
+libncurses library.
+
+
+
Install the package:
make install
diff --git a/chapter06/vim.xml b/chapter06/vim.xml
index 685a8cef2..16d4d0730 100644
--- a/chapter06/vim.xml
+++ b/chapter06/vim.xml
@@ -53,11 +53,10 @@ echo '#define SYS_GVIMRC_FILE "/etc/gvimrc"' >> src/feature.h<
The optional but highly recommended
--enable-multibyte switch includes support for
editing files in multibyte character encodings into
-vim. This is needed if the recommendation was not
-heeded to not to use LFS in locales with multibyte character sets.
-This switch is also helpful to be able to edit text files initially
-created in Linux distributions like Fedora Core that use UTF-8 as a
-default character set.
+vim. This is needed if you are using a locale with
+a multibyte character set. This switch is also helpful to be able to
+edit text files initially created in Linux distributions like Fedora
+Core that use UTF-8 as a default character set.
Compile the package:
@@ -84,7 +83,10 @@ symlink:
system, it may be necessary to re-compile Vim after installing X. Vim
comes with a GUI version of the editor that requires X and some
additional libraries to be installed. For more information on this
-process, refer to the Vim documentation.
+process, refer to the Vim documentation and the Vim installation page
+in the BLFS book at
+.
diff --git a/chapter07/udev.xml b/chapter07/udev.xml
index 961f543b5..d8d4cdf28 100644
--- a/chapter07/udev.xml
+++ b/chapter07/udev.xml
@@ -152,12 +152,27 @@ immediately accessible.
When you plug in a device, e.g. a USB MP3 player, the kernel
recognizes that the device is now connected and generates a hotplug
-event. The driver will already have been loaded (either because it was
-compiled into the kernel, or it was loaded via the
-S05modules bootscript) so udev
-will simply be called upon to create the relevant device node
-according to the sysfs
-data available in /sys.
+event. If the driver is already loaded (either because it was compiled
+into the kernel, or it was loaded via the
+S05modules bootscript) udev will
+be called upon to create the relevant device node(s) according to the
+sysfs data available in
+/sys. If the driver for the
+just plugged in device is available as a module but currently unloaded,
+then attaching the device to the system will only cause the kernel's
+bus driver to generate a hotplug event that notifies userspace of the
+new device connection and it not being attached to a driver. In
+effect, nothing happens and the device itself is not usable
+yet.
+
+If you are building a system that has a lot of drivers compiled
+as modules rather than directly built into the kernel and using the
+S05modules is not practical then the Hotplug
+package (see ) can
+be beneficial. When the Hotplug package is installed it will respond
+to the aforementioned kernel's bus driver hotplug events. The Hotplug
+package will load the appropriate module and make this device
+available by creating the device node(s) for it.
diff --git a/general.ent b/general.ent
index 27e294f52..c71e5ae19 100644
--- a/general.ent
+++ b/general.ent
@@ -1,7 +1,6 @@
-
-
-
+
+
@@ -20,7 +19,7 @@
-
+
diff --git a/prologue/acknowledgments.xml b/prologue/acknowledgments.xml
index ebaa6bf41..4d8f108b4 100644
--- a/prologue/acknowledgments.xml
+++ b/prologue/acknowledgments.xml
@@ -18,6 +18,11 @@ for their contributions to the Linux From Scratch Project.
Beekmans <gerard@linuxfromscratch.org> -- Linux From
Scratch initiator, LFS Project organizer.
+Christine
+Barczak <theladyskye@linuxfromscratch.org> -- LFS Book
+Editor.
+
Matthew Burgess
<matthew@linuxfromscratch.org> -- LFS Project Co-Leader, LFS