Added:
+
+ &bash-upstream-fixes-patch;
+
+
setuptools-&setuptools-version;
diff --git a/chapter02/hostreqs.xml b/chapter02/hostreqs.xml
index 255692718..f9988cd52 100644
--- a/chapter02/hostreqs.xml
+++ b/chapter02/hostreqs.xml
@@ -29,9 +29,10 @@
minimum versions indicated. This should not be an issue for most
modern Linux distributions. Also note that many distributions will
place software headers into separate packages, often in the form of
- <package-name>-devel or
- <package-name>-dev. Be sure to install those if
- your distribution provides them.
+ <package-name>-devel
+ or
+ <package-name>-dev.
+ Be sure to install those if your distribution provides them.
Earlier versions of the listed software packages may work, but have
not been tested.
diff --git a/chapter02/mounting.xml b/chapter02/mounting.xml
index 60e5cdc62..4db0f5bfc 100644
--- a/chapter02/mounting.xml
+++ b/chapter02/mounting.xml
@@ -16,7 +16,7 @@
LFS environment variable described in the previous section.
- Strictly speaking, one cannot "mount a partition." One mounts the file
+ Strictly speaking, one cannot mount a partition. One mounts the file
system embedded in that partition. But since a single partition can't contain
more than one file system, people often speak of the partition and the
associated file system as if they were one and the same.
diff --git a/chapter03/patches.xml b/chapter03/patches.xml
index 50ff56a6f..106527518 100644
--- a/chapter03/patches.xml
+++ b/chapter03/patches.xml
@@ -27,14 +27,14 @@
-->
-
+
Install the package:
diff --git a/chapter08/coreutils.xml b/chapter08/coreutils.xml
index 3357fabc5..96c46996d 100644
--- a/chapter08/coreutils.xml
+++ b/chapter08/coreutils.xml
@@ -1261,8 +1261,8 @@ sed -i 's/"1"/"8"/' /usr/share/man/man8/chroot.8
yes
- Repeatedly outputs y, or a given string, until
- killed
+ Repeatedly outputs y or a given string,
+ until killedyes
diff --git a/chapter08/expect.xml b/chapter08/expect.xml
index 95dc8beae..810bc55a2 100644
--- a/chapter08/expect.xml
+++ b/chapter08/expect.xml
@@ -92,8 +92,8 @@
make testIf any test fails with the message
- The system has no more ptys. Ask your system
- administrator to create more, it indicates
+ The system has no more ptys. Ask your system
+ administrator to create more, it indicates
you've not mounted the
devpts file system
correctly. You need to exit from the chroot environment, read
diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml
index d7e7c9d1d..3cb51c2d0 100644
--- a/chapter08/glibc.xml
+++ b/chapter08/glibc.xml
@@ -73,7 +73,6 @@ cd build
--disable-werror \
--enable-kernel=&min-kernel; \
--enable-stack-protector=strong \
- --with-headers=/usr/include \
--disable-nscd \
libc_cv_slibdir=/usr/lib
../configure --prefix=/usr \
@@ -110,15 +109,10 @@ cd buildThis option increases system security by adding
extra code to check for buffer overflows, such as stack
- smashing attacks.
-
-
-
-
- --with-headers=/usr/include
-
- This option tells the build system where to find the
- kernel API headers.
+ smashing attacks. Note that Glibc always explicitly overrides
+ the default of GCC, so this option is still needed even though
+ we've already specified for
+ GCC.
diff --git a/chapter08/stripping.xml b/chapter08/stripping.xml
index e9972e880..17eb12da7 100644
--- a/chapter08/stripping.xml
+++ b/chapter08/stripping.xml
@@ -52,7 +52,7 @@
The ELF loader's name is ld-linux-x86-64.so.2 on 64-bit systems
and ld-linux.so.2 on 32-bit systems. The construct below selects the
correct name for the current architecture, excluding anything ending
- with g, in case the commands below have already been
+ with g, in case the commands below have already been
run.
diff --git a/chapter09/chapter09.xml b/chapter09/chapter09.xml
index 1f6dda19c..3f4db0d6b 100644
--- a/chapter09/chapter09.xml
+++ b/chapter09/chapter09.xml
@@ -26,14 +26,13 @@
-
-
+
diff --git a/chapter09/consoled.xml b/chapter09/consoled.xml
index f35a586fe..ce922d6a8 100644
--- a/chapter09/consoled.xml
+++ b/chapter09/consoled.xml
@@ -74,6 +74,25 @@
+ We'll use C.UTF-8 as the locale for interactive
+ sessions in the Linux console in The console fonts shipped by
+ the Kbd package containing the glyphs for
+ all characters from the program messages in the C.UTF-8
+ locale are LatArCyrHeb*.psfu.gz,
+ LatGrkCyr*.psfu.gz,
+ Lat2-Terminus16.psfu.gz, and
+ pancyrillic.f16.psfu.gz in
+ /usr/share/consolefonts (the other
+ shipped console fonts lack glyphs of some characters like the Unicode
+ left/right quotation marks and the Unicode English dash). So set one of
+ them, for example Lat2-Terminus16.psfu.gz as the
+ default console font:
+
+
+echo FONT=Lat2-Terminus16 > /etc/vconsole.conf
+
An example for a German keyboard and console is given below:
-
diff --git a/chapter09/networkd.xml b/chapter09/networkd.xml
index 363e8d883..6c2935de1 100644
--- a/chapter09/networkd.xml
+++ b/chapter09/networkd.xml
@@ -91,7 +91,8 @@
- Mask udev's .link file for the default policy:
+ Mask udev's .link file
+ for the default policy:
ln -s /dev/null /etc/systemd/network/99-default.link
@@ -101,9 +102,9 @@
Create a manual naming scheme, for example by naming the
interfaces something like internet0,
dmz0, or lan0.
- To do that, create .link files in /etc/systemd/network/ that
- select an explicit name or a better naming scheme for your
- network interfaces. For example:
+ To do that, create .link
+ files in /etc/systemd/network/ that select an explicit name or a
+ better naming scheme for your network interfaces. For example:
cat > /etc/systemd/network/10-ether0.link << "EOF"
diff --git a/chapter09/profile.xml b/chapter09/profile.xml
deleted file mode 100644
index 55cc5dbb0..000000000
--- a/chapter09/profile.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-
-
- %general-entities;
-]>
-
-
-
-
- The Bash Shell Startup Files
-
-
- /etc/profile
-
-
- The shell program /bin/bash (hereafter referred to
- as the shell) uses a collection of startup files to help
- create the environment to run in. Each file has a specific use and may affect
- login and interactive environments differently. The files in the /etc directory provide global settings. If
- equivalent files exist in the home directory, they may override the global
- settings.
-
- An interactive login shell is started after a successful login, using
- /bin/login, by reading the /etc/passwd
- file. An interactive non-login shell is started at the command-line (e.g.,
- [prompt]$/bin/bash). A non-interactive
- shell is usually present when a shell script is running. It is non-interactive
- because it is processing a script and not waiting for user input between
- commands.
-
-For more information, see the Bash Startup Files and
- Interactive Shells sections in the Bash
- Features chapter of the Bash info pages (info bash).
-
- The files /etc/profile and
- ~/.bash_profile are read when the shell is
- invoked as an interactive login shell.
-
- The base /etc/profile below sets some
- environment variables necessary for native language support. Setting
- them properly results in:
-
-
-
- The output of programs translated into the native language
-
-
- Correct classification of characters into letters, digits and other
- classes. This is necessary for bash to properly accept
- non-ASCII characters in command lines in non-English locales
-
-
- The correct alphabetical sorting order for the country
-
-
- Appropriate default paper size
-
-
- Correct formatting of monetary, time, and date values
-
-
-
- Replace <ll> below with the two-letter code
- for the desired language (e.g., en) and
- <CC> with the two-letter code for the appropriate
- country (e.g., GB). <charmap> should
- be replaced with the canonical charmap for your chosen locale. Optional
- modifiers such as @euro may also be present.
-
- The list of all locales supported by Glibc can be obtained by running
- the following command:
-
-locale -a
-
- Charmaps can have a number of aliases, e.g., ISO-8859-1
- is also referred to as iso8859-1 and iso88591.
- Some applications cannot handle the various synonyms correctly (e.g., require
- that UTF-8 is written as UTF-8, not
- utf8), so it is safest in most
- cases to choose the canonical name for a particular locale. To determine
- the canonical name, run the following command, where <locale
- name> is the output given by locale -a for
- your preferred locale (en_GB.iso88591 in our example).
-
-LC_ALL=<locale name> locale charmap
-
- For the en_GB.iso88591 locale, the above command
- will print:
-
-ISO-8859-1
-
- This results in a final locale setting of en_GB.ISO-8859-1.
- It is important that the locale found using the heuristic above is tested before
- it is added to the Bash startup files:
-
-LC_ALL=<locale name> locale language
-LC_ALL=<locale name> locale charmap
-LC_ALL=<locale name> locale int_curr_symbol
-LC_ALL=<locale name> locale int_prefix
-
- The above commands should print the language name, the character
- encoding used by the locale, the local currency, and the prefix to dial
- before the telephone number in order to get into the country. If any of the
- commands above fail with a message similar to the one shown below, this means
- that your locale was either not installed in
- or is not supported by the default installation of Glibc.
-
-locale: Cannot set LC_* to default locale: No such file or directory
-
- If this happens, you should either install the desired locale using the
- localedef command, or consider choosing a different locale.
- Further instructions assume that there are no such error messages from
- Glibc.
-
- Other packages may also function incorrectly (but will not necessarily
- display any error messages) if the locale name does not meet their expectations.
- In such cases, investigating how other Linux distributions support your locale
- might provide some useful information.
-
- Once the proper locale settings have been determined, create the
- /etc/profile file:
-
-cat > /etc/profile << "EOF"
-# Begin /etc/profile
-
-export LANG=<ll>_<CC>.<charmap><@modifiers>
-
-# End /etc/profile
-EOF
-
- The C (default) and en_US.utf8 (the recommended
- one for United States English users) locales are different. C
- uses the US-ASCII 7-bit character set, and treats bytes with the high-order bit set
- on as invalid characters. That's why, e.g., the ls command
- displays them as question marks in that locale. Also, an attempt to send
- mail with such characters from Mutt or Pine results in non-RFC-conforming
- messages being sent (the charset in the outgoing mail is indicated as unknown
- 8-bit). So you can only use the C locale if you are sure
- you will never need 8-bit characters.
-
- UTF-8 based locales are not supported well by some programs.
- Work is in progress to document and, if possible, fix such problems. See
- .
-
-
diff --git a/chapter09/usage.xml b/chapter09/usage.xml
index 85b35d16d..6b5441bba 100644
--- a/chapter09/usage.xml
+++ b/chapter09/usage.xml
@@ -432,6 +432,40 @@ EOFSome examples:
+
+
+ We'll use C.UTF-8 as the locale for interactive
+ sessions in the Linux console in so we should set
+ UNICODE to 1. And the console
+ fonts shipped by the Kbd package
+ containing the glyphs for all characters from the program messages
+ in the C.UTF-8 locale are
+ LatArCyrHeb*.psfu.gz,
+ LatGrkCyr*.psfu.gz,
+ Lat2-Terminus16.psfu.gz, and
+ pancyrillic.f16.psfu.gz in
+ /usr/share/consolefonts (the
+ other shipped console fonts lack glyphs of some characters like the
+ Unicode left/right quotation marks and the Unicode English dash).
+ So set one of them, for example
+ Lat2-Terminus16.psfu.gz as the default console
+ font:
+
+
+
+cat > /etc/sysconfig/console << "EOF"
+# Begin /etc/sysconfig/console
+
+UNICODE="1"
+FONT="Lat2-Terminus16"
+
+# End /etc/sysconfig/console
+EOF
+
+ For a non-Unicode setup, only the KEYMAP and FONT variables are
@@ -526,7 +560,7 @@ EOF
languages, because there accents are added to unaccented ASCII
characters, or two ASCII characters are composed together. However, in
UTF-8 mode it is a problem; e.g., for the Greek language, where one
- sometimes needs to put an accent on the letter alpha.
+ sometimes needs to put an accent on the letter α.
The solution is either to avoid the use of UTF-8, or to install the
X window system, which doesn't have this limitation, in its input
handling.
diff --git a/packages.ent b/packages.ent
index 18fadcc2c..d617c82ca 100644
--- a/packages.ent
+++ b/packages.ent
@@ -13,10 +13,10 @@
*-knl-* Package info for Kernel stuff
-->
-
-
+
+
-
+
@@ -65,10 +65,10 @@
-
-
+
+
-
+
@@ -317,10 +317,10 @@
-
-
+
+
-
+
@@ -440,12 +440,12 @@
-
+
-
+
-
+
-
+
diff --git a/patches.ent b/patches.ent
index d27c717de..c2f957aad 100644
--- a/patches.ent
+++ b/patches.ent
@@ -2,6 +2,10 @@
+
+
+
+
@@ -14,9 +18,9 @@
-
-
-
+
+
+
@@ -26,9 +30,9 @@
-
-
-
+
+
+