diff --git a/bootscripts/lfs/init.d/checkfs b/bootscripts/lfs/init.d/checkfs
index 2ca032033..061d136e5 100644
--- a/bootscripts/lfs/init.d/checkfs
+++ b/bootscripts/lfs/init.d/checkfs
@@ -27,7 +27,7 @@
### BEGIN INIT INFO
# Provides: checkfs
-# Required-Start: udev
+# Required-Start: udev swap
# Should-Start:
# Required-Stop:
# Should-Stop:
diff --git a/bootscripts/lfs/init.d/network b/bootscripts/lfs/init.d/network
index 140bc72e8..17afa0983 100644
--- a/bootscripts/lfs/init.d/network
+++ b/bootscripts/lfs/init.d/network
@@ -16,10 +16,10 @@
### BEGIN INIT INFO
# Provides: $network
-# Required-Start: $local_fs $syslog localnet swap
-# Should-Start: firewalld iptables nftables
-# Required-Stop: $local_fs $syslog localnet swap
-# Should-Stop: firewalld iptables nftables
+# Required-Start: $local_fs localnet swap
+# Should-Start: $syslog firewalld iptables nftables
+# Required-Stop: $local_fs localnet swap
+# Should-Stop: $syslog firewalld iptables nftables
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: Starts and configures network interfaces.
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index f165c1ad5..73d439649 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -44,6 +44,47 @@
or as
appropriate for the entry or if needed the entire day's listitem.
-->
+
+
+ 2020-08-20
+
+ [thomas] - Add cleanup for multilib directories in
+ chapter 7
+
+
+
+
+
+
+ 2020-08-18
+
+ [dj] - Update to lfs-bootscripts-20200818.
+
+
+
+
+
+
+ 2020-08-15
+
+ [bdubbs] - Update to man-pages-5.08. Fixes
+ #4714.
+
+
+ [bdubbs] - Update to libpipeline-1.5.3. Fixes
+ #4713.
+
+
+ [bdubbs] - Update to iproute2-5.8.0. Fixes
+ #4712.
+
+
+ [bdubbs] - Update to linux-5.8.1. Fixes
+ #4708.
+
+
+
+
2020-08-11
@@ -360,7 +401,7 @@
[pierre] - Fix bash tests: add a couple of symlinks
from /bin to /tools, create the tester user with the uid of
the tty owner, run the bash tests with su << EOF, and
- explicitely defining stdin (with help from thomas and bdubbs).
+ explicitly defining stdin (with help from thomas and bdubbs).
@@ -728,36 +769,6 @@
-
- 2020-03-29
-
-
- [bdubbs] - Textual updates thanks to Kevin Buckley.
-
-
-
-
-
- 2020-03-19
-
-
- [renodr] - Update to systemd-245. Fixes
- #4593.
-
-
-
-
-
- 2020-03-18
-
-
- [renodr] - Make minor modifications to the kernel configuration
- in order to match the configuration options to there current positions
- in Linux-5.5
-
-
-
-
2020-03-15
diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml
index bf9fb327d..5530b99a5 100644
--- a/chapter01/whatsnew.xml
+++ b/chapter01/whatsnew.xml
@@ -159,9 +159,9 @@
-
+
diff --git a/chapter02/stages.xml b/chapter02/stages.xml
index 23348a885..31a60166d 100644
--- a/chapter02/stages.xml
+++ b/chapter02/stages.xml
@@ -68,7 +68,7 @@
A few operations, from Changing Ownership
to
Entering the Chroot Environment
must be done as the
- root user, with the LFS envirnment variable set for the root user.
+ root user, with the LFS environment variable set for the root user.
diff --git a/chapter03/patches.xml b/chapter03/patches.xml
index a9b34a989..defab5cc7 100644
--- a/chapter03/patches.xml
+++ b/chapter03/patches.xml
@@ -74,7 +74,7 @@
MD5 sum: &kbd-backspace-patch-md5;
-
+
Sysvinit Consolidated Patch - &sysvinit-consolidated-patch-size;:
diff --git a/chapter04/settingenviron.xml b/chapter04/settingenviron.xml
index dfaa2dc9b..9427d228f 100644
--- a/chapter04/settingenviron.xml
+++ b/chapter04/settingenviron.xml
@@ -32,7 +32,7 @@ EOF
ensuring a clean environment.
The new instance of the shell is a non-login
- shell, which does not read, and execute, the conten of /etc/profile or
+ shell, which does not read, and execute, the contents of /etc/profile or
.bash_profile files, but rather reads, and executes, the
.bashrc file instead. Create the
.bashrc file now:
@@ -174,7 +174,7 @@ EOF
lfs
user's environment in ways that can affect the building of critical LFS
packages. To make sure the lfs
- user's envronment is clean, check for the
+ user's environment is clean, check for the
presence of /etc/bash.bashrc and, if present, move it
out of the way. As the root
user, run:
diff --git a/chapter05/binutils-pass1.xml b/chapter05/binutils-pass1.xml
index f2f54c120..c44847b61 100644
--- a/chapter05/binutils-pass1.xml
+++ b/chapter05/binutils-pass1.xml
@@ -64,7 +64,7 @@ cd build
to be of any use, measure the time it takes to build this package from
the configuration, up to and including the first install. To achieve
this easily, wrap the commands in a time
- command like this: time { ./configure ... && make
+ command like this: time { ../configure ... && make
&& make install; }.
diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml
index 1918ffb26..23fa3a41c 100644
--- a/chapter05/glibc.xml
+++ b/chapter05/glibc.xml
@@ -360,7 +360,7 @@ readelf -l a.out | grep '/ld-linux-x32'
If everything is working correctly, there should be no errors,
and the output of the last command will be of the form:
-[Requesting program interpreter: /lib/ld-linux-x32.so.2]
+[Requesting program interpreter: /libx32/ld-linux-x32.so.2]
If the output is not shown as above or there was no output at all,
then something is wrong. Investigate and retrace the steps to find out
diff --git a/chapter06/bash.xml b/chapter06/bash.xml
index 6cb1dc728..e07ee308a 100644
--- a/chapter06/bash.xml
+++ b/chapter06/bash.xml
@@ -74,7 +74,7 @@
make DESTDIR=$LFS install
- Move the excutable to where it is expected:
+ Move the executable to where it is expected:
mv $LFS/usr/bin/bash $LFS/bin/bash
diff --git a/chapter06/findutils.xml b/chapter06/findutils.xml
index e6a19202b..ce3bbe00f 100644
--- a/chapter06/findutils.xml
+++ b/chapter06/findutils.xml
@@ -57,7 +57,7 @@
make DESTDIR=$LFS install
- Move the excutable to its final expected location:
+ Move the executable to its final expected location:
mv -v $LFS/usr/bin/find $LFS/bin
sed -i 's|find:=${BINDIR}|find:=/bin|' $LFS/usr/bin/updatedb
diff --git a/chapter06/gcc-pass2.xml b/chapter06/gcc-pass2.xml
index e1ca7d5c8..25f2c25e3 100644
--- a/chapter06/gcc-pass2.xml
+++ b/chapter06/gcc-pass2.xml
@@ -65,14 +65,14 @@ mv -v isl-&isl-version; isl
sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64
;;
esac
-
Create a separate build directory again:
@@ -152,7 +152,7 @@ ln -s ../../../libgcc/gthr-posix.h $LFS_TGT/libgcc/gthr-default.h
This option is automatically enabled when building a native
compiler with a native compiler on x86. But here, we build with
- a cross compiler, so we need to explicitely set this option.
+ a cross compiler, so we need to explicitly set this option.
diff --git a/chapter06/gzip.xml b/chapter06/gzip.xml
index 90d554b0d..7ce2a6b1c 100644
--- a/chapter06/gzip.xml
+++ b/chapter06/gzip.xml
@@ -55,7 +55,7 @@
make DESTDIR=$LFS install
- Move the excutable to its final expected location:
+ Move the executable to its final expected location:
mv -v $LFS/usr/bin/gzip $LFS/bin
diff --git a/chapter06/introduction.xml b/chapter06/introduction.xml
index ed8000fa8..163aa5796 100644
--- a/chapter06/introduction.xml
+++ b/chapter06/introduction.xml
@@ -24,7 +24,7 @@
Once again, let us recall that improper setting of LFS
together with building as root, may render your computer unusable.
This whole chapter must be done as user lfs, with the enviroment as described in
+ class="username">lfs, with the environment as described in
.
diff --git a/chapter07/libstdc++-pass2.xml b/chapter07/libstdc++-pass2.xml
index 9bf93542c..328e60a07 100644
--- a/chapter07/libstdc++-pass2.xml
+++ b/chapter07/libstdc++-pass2.xml
@@ -62,8 +62,7 @@ cd build
Prepare libstdc++ for compilation:
-
-../libstdc++-v3/configure \
+../libstdc++-v3/configure \
CXXFLAGS="-g -O2 -D_GNU_SOURCE" \
--prefix=/usr \
--disable-multilib \
diff --git a/chapter07/perl.xml b/chapter07/perl.xml
index 1c8a72d5a..93ffb9a39 100644
--- a/chapter07/perl.xml
+++ b/chapter07/perl.xml
@@ -48,12 +48,12 @@
sh Configure -des \
-Dprefix=/usr \
-Dvendorprefix=/usr \
- -Dprivlib=/usr/lib/perl5/5.32/core_perl \
- -Darchlib=/usr/lib/perl5/5.32/core_perl \
- -Dsitelib=/usr/lib/perl5/5.32/site_perl \
- -Dsitearch=/usr/lib/perl5/5.32/site_perl \
- -Dvendorlib=/usr/lib/perl5/5.32/vendor_perl \
- -Dvendorarch=/usr/lib/perl5/5.32/vendor_perl
+ -Dprivlib=/usr/lib/perl5/&perl-version-min;/core_perl \
+ -Darchlib=/usr/lib/perl5/&perl-version-min;/core_perl \
+ -Dsitelib=/usr/lib/perl5/&perl-version-min;/site_perl \
+ -Dsitearch=/usr/lib/perl5/&perl-version-min;/site_perl \
+ -Dvendorlib=/usr/lib/perl5/&perl-version-min;/vendor_perl \
+ -Dvendorarch=/usr/lib/perl5/&perl-version-min;/vendor_perl
The meaning of the new Configure options:
diff --git a/chapter07/stripping.xml b/chapter07/stripping.xml
index da0bd3991..5bbf1a21f 100644
--- a/chapter07/stripping.xml
+++ b/chapter07/stripping.xml
@@ -15,7 +15,15 @@
shared libraries, specially when using non-autotools build systems.
While still in chroot, remove those files now:
-find /usr/{lib,libexec} -name \*.la -delete
+find /usr/{lib,libexec} -name \*.la -delete
+find /usr/{lib{,32},libexec} -name \*.la -delete
+find /usr/{lib{,x32},libexec} -name \*.la -delete
+find /usr/{lib{,{,x}32},libexec} -name \*.la -delete
+
+ Remove the documentation of the temporary tools, to prevent them
+ from ending up in the final system, and save about 35 MB:
+
+rm -rf /usr/share/{info,man,doc}/*
All the remaining steps in this section are optional. Nevertheless,
@@ -82,7 +90,16 @@ umount $LFS/{sys,proc,run}
symbols.
Strip off debugging symbols from binaries:
-strip --strip-debug $LFS/usr/lib/*
+strip --strip-debug $LFS/usr/lib/*
+strip --strip-unneeded $LFS/usr/{,s}bin/*
+strip --strip-unneeded $LFS/tools/bin/*
+strip --strip-debug $LFS/usr/lib{,32}/*
+strip --strip-unneeded $LFS/usr/{,s}bin/*
+strip --strip-unneeded $LFS/tools/bin/*
+strip --strip-debug $LFS/usr/lib{,x32}/*
+strip --strip-unneeded $LFS/usr/{,s}bin/*
+strip --strip-unneeded $LFS/tools/bin/*
+strip --strip-debug $LFS/usr/lib{,{,x}32}/*
strip --strip-unneeded $LFS/usr/{,s}bin/*
strip --strip-unneeded $LFS/tools/bin/*
@@ -97,10 +114,6 @@ strip --strip-unneeded $LFS/tools/bin/*
ones would be destroyed and the toolchain packages would need to be
built all over again.
- To save more space (slightly more than 35 MB), remove the documentation:
-
-rm -rf $LFS/usr/share/{info,man,doc}
-
At this point, you should have at least 5 GB of free space on the
chroot partition that can be used to build and install Glibc and GCC in
the next phase. If you can build and install Glibc, you can build and install
diff --git a/chapter08/coreutils.xml b/chapter08/coreutils.xml
index fcf10b1dc..55006e1c7 100644
--- a/chapter08/coreutils.xml
+++ b/chapter08/coreutils.xml
@@ -127,6 +127,8 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
su tester -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check"
+ The test-getlogin test is known to fail in the LFS chroot environment.
+
Remove the temporary group:
sed -i '/dummy/d' /etc/group
diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml
index 96d059e14..3a6232aab 100644
--- a/chapter08/glibc.xml
+++ b/chapter08/glibc.xml
@@ -591,7 +591,7 @@ readelf -l a.out | grep '/ld-linux-x32'
If everything is working correctly, there should be no errors,
and the output of the last command will be of the form:
-[Requesting program interpreter: /lib/ld-linux-x32.so.2]
+[Requesting program interpreter: /libx32/ld-linux-x32.so.2]
If the output is not shown as above or there was no output at all,
then something is wrong. Investigate and retrace the steps to find out
diff --git a/chapter08/libpipeline.xml b/chapter08/libpipeline.xml
index 9dfc2949a..5d275d381 100644
--- a/chapter08/libpipeline.xml
+++ b/chapter08/libpipeline.xml
@@ -41,10 +41,6 @@
Installation of Libpipeline
- First, fix the files in the test suite:
-
-patch -Np1 -i ../&libpipeline-checks-patch;
-
Prepare Libpipeline for compilation:
./configure --prefix=/usr
diff --git a/chapter08/perl.xml b/chapter08/perl.xml
index b1dc6e88b..276ed03e1 100644
--- a/chapter08/perl.xml
+++ b/chapter08/perl.xml
@@ -58,12 +58,12 @@ export BUILD_BZIP2=0
sh Configure -des \
-Dprefix=/usr \
-Dvendorprefix=/usr \
- -Dprivlib=/usr/lib/perl5/5.32/core_perl \
- -Darchlib=/usr/lib/perl5/5.32/core_perl \
- -Dsitelib=/usr/lib/perl5/5.32/site_perl \
- -Dsitearch=/usr/lib/perl5/5.32/site_perl \
- -Dvendorlib=/usr/share/perl5/vendor_perl \
- -Dvendorarch=/usr/lib/perl5/5.32/vendor_perl \
+ -Dprivlib=/usr/lib/perl5/&perl-version-min;/core_perl \
+ -Darchlib=/usr/lib/perl5/&perl-version-min;/core_perl \
+ -Dsitelib=/usr/lib/perl5/&perl-version-min;/site_perl \
+ -Dsitearch=/usr/lib/perl5/&perl-version-min;/site_perl \
+ -Dvendorlib=/usr/lib/perl5/&perl-version-min;/vendor_perl \
+ -Dvendorarch=/usr/lib/perl5/&perl-version-min;/vendor_perl \
-Dman1dir=/usr/share/man/man1 \
-Dman3dir=/usr/share/man/man3 \
-Dpager="/usr/bin/less -isR" \
diff --git a/chapter08/revisedchroot.xml b/chapter08/revisedchroot.xml
index 122175c97..990e9f910 100644
--- a/chapter08/revisedchroot.xml
+++ b/chapter08/revisedchroot.xml
@@ -56,7 +56,7 @@ rm -f &usr-lib-mx32;/libltdl.a
rm -f &usr-lib-mx32;/libz.a
There are also several files installed in the /usr/lib and /usr/libexec
- directories with a file name extention of .la. These are "libtool archive"
+ directories with a file name extension of .la. These are "libtool archive"
files. As already said, they are only useful when linking with static
libraries. They are unneeded, and potentially harmful, when using dynamic
shared libraries, specially when using also non-autotools build systems.
@@ -72,7 +72,7 @@ find &usr-lib-mx32; -name \*.la -delete
The compiler built in and
is still partially
- installed, and not needed anymore. Remove it with:
+ installed and not needed anymore. Remove it with:
find /usr -depth -name $(uname -m)-lfs-linux-gnu\* | xargs rm -rf
diff --git a/chapter08/systemd.xml b/chapter08/systemd.xml
index c45ed3cbb..57f828bd9 100644
--- a/chapter08/systemd.xml
+++ b/chapter08/systemd.xml
@@ -92,6 +92,7 @@ meson --prefix=/usr \
-Dhomed=false \
-Duserdb=false \
-Dman=true \
+ -Ddocdir=/usr/share/doc/systemd-&systemd-version; \
..
diff --git a/chapter10/grub.xml b/chapter10/grub.xml
index fbc1eef9f..356cb4105 100644
--- a/chapter10/grub.xml
+++ b/chapter10/grub.xml
@@ -40,7 +40,7 @@ xorriso -as cdrecord -v dev=/dev/cdrw blank=as_needed grub-img.iso
To boot LFS on host systems that have UEFI enabled, the kernel needs to
- have been built with the CONFIG_EFI_STUB capabality described in the
+ have been built with the CONFIG_EFI_STUB capability described in the
previous section. However, LFS can be booted using GRUB2 without such
an addition. To do this, the UEFI Mode and Secure Boot capabilities in
the host system's BIOS need to be turned off. For details, see
- Running a multilib system means also that the kernel has to be
- configured proper. It is required that the kernel is able to
+ The kernel on a multilib system needs to be able to
identify and start binaries compiled for different architectures
- than the default. Setup the required parameter in the kernel
- config:
+ than the default.
-Binary Emulations --->
+
+
+ If support for any 32bit ABI was built, make sure that the option
+ "IA32 Emulation" is selected. The option 'IA32 a.out support' is
+ optional.
+
+
+
+ If support for the x32bit ABI was built, make sure that the option
+ "x32 ABI for 64-bit mode" is selected.
+
+
+Binary Emulations --->
+ [*] IA32 Emulation
+ <M> IA32 a.out support
+
+Binary Emulations --->
+ [*] x32 ABI for 64-bit mode
+
+Binary Emulations --->
[*] IA32 Emulation
<M> IA32 a.out support
[*] x32 ABI for 64-bit mode
- Make sure that the option
- 'IA32 Emulation' is set if you built support for the 32bit ABI.
- If you selected the x32 ABI or built support for both, also select
- 'x32 ABI for 64-bit mode'. The option 'IA32 a.out support' is
- optional.
-
-
+
+
The rationale for the above configuration items:
diff --git a/general.ent b/general.ent
index 9a567af81..0ae26d67b 100644
--- a/general.ent
+++ b/general.ent
@@ -1,13 +1,13 @@
-
+
-
+
-
+
diff --git a/packages.ent b/packages.ent
index 8a53977d5..f1eeb0b93 100644
--- a/packages.ent
+++ b/packages.ent
@@ -35,7 +35,7 @@
-
+
@@ -44,8 +44,8 @@
-
-
+
+
@@ -55,37 +55,37 @@
-
+
-
-
+
+
-
+
-
-
-
-
+
+
+
+
-
+
-
-
+
+
@@ -93,7 +93,7 @@
-
+
@@ -101,7 +101,7 @@
-
+
@@ -110,8 +110,8 @@
-
-
+
+
@@ -152,8 +152,8 @@
-
-
+
+
@@ -177,16 +177,16 @@
-
+
-
+
-
+
@@ -196,8 +196,8 @@
-
-
+
+
@@ -205,7 +205,7 @@
-
+
@@ -215,28 +215,28 @@
-
+
-
+
-
-
-
-
+
+
+
+
-
-
+
+
-
+
@@ -251,20 +251,20 @@
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
@@ -272,7 +272,7 @@
-
+
@@ -291,7 +291,7 @@
-
+
@@ -343,10 +343,10 @@
-
-
+
+
-
+
@@ -364,8 +364,8 @@
-
-
+
+
@@ -383,7 +383,7 @@
-
+
@@ -405,14 +405,14 @@
-
+
-
-
+
+
-
+
-
+
@@ -424,13 +424,13 @@
-
-
+
+
-
+
-
+
@@ -462,7 +462,7 @@
-
+
@@ -472,10 +472,10 @@
-
-
+
+
-
+
@@ -485,7 +485,7 @@
-
+
@@ -501,8 +501,8 @@
-
-
+
+
@@ -511,7 +511,7 @@
-
+
@@ -520,7 +520,7 @@
-
+
@@ -549,10 +549,10 @@
-
-
-
-
+
+
+
+
@@ -560,22 +560,22 @@
-
+
-
-
+
+
-
+