diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml
index 86b830249..e09fe4900 100644
--- a/chapter08/glibc.xml
+++ b/chapter08/glibc.xml
@@ -201,6 +201,121 @@ esac
sed '/test-installation/s@$(PERL)@echo not running@' -i ../Makefile
+
+
+ If upgrading Glibc to a new minor version (for example, from
+ Glibc-2.36 to Glibc-&glibc-version;) on a running LFS system, you
+ need to take some extra precautions to avoid breaking the system:
+
+
+
+
+
+
+ Upgrading Glibc on a LFS system prior to 11.0 (exclusive) is
+ not supported. Rebuild LFS if you are running such an old LFS
+ system but you need a newer Glibc.
+
+
+
+
+
+
+ If upgrading on a LFS system prior to 12.0 (exclusive), install
+ Libxcrypt following
+ In addition to
+ a normal Libxcrypt installation,
+ you MUST follow the note in Libxcrypt
+ section to install
+ libcrypt.so.1*
+ (overwritting
+ libcrypt.so.1 from the
+ prior Glibc installation).
+
+
+
+
+
+
+ If upgrading on a LFS system prior to 12.1 (exclusive),
+ remove the nscd program:
+
+
+ rm -f /usr/sbin/nscd
+
+
+ If this system (prior to LFS 12.1, exclusive) is based on
+ Systemd, it's also needed to disable and stop the
+ nscd service now:
+
+
+ systemctl disable --now nscd
+
+
+
+
+ Upgrade the kernel and reboot if it's older than &min-kernel;
+ (check the current version with uname -r)
+ or if you want to upgrade it anyway, following
+
+
+
+
+
+
+ Upgrade the kernel API headers if it's older than &min-kernel;
+ (check the current version with
+ cat /usr/include/linux/version.h)
+ or if you want to upgrade it anyway, following
+ (but removing
+ $LFS from the cp command).
+
+
+
+
+
+
+ Perform a DESTDIR installation and upgrade
+ the Glibc shared libraries on the system using one single
+ install command:
+
+
+ make DESTDIR=$PWD/dest install
+install -vm755 dest/usr/lib/*.so.* /usr/lib
+
+
+
+
+ It's imperative to strictly follow these steps above unless you
+ completely understand what you are doing.
+ Any unexpected deviation may render the
+ system completely unusable. YOU ARE WARNED.
+
+
+
+ Then continue to run the make install command
+ and the sed command against
+ /usr/bin/ldd. Once they are finished, reboot
+ the system immediately.
+
+
+
Install the package:
make install
diff --git a/chapter08/pkgmgt.xml b/chapter08/pkgmgt.xml
index 4c7bb6dd7..10ec5d199 100644
--- a/chapter08/pkgmgt.xml
+++ b/chapter08/pkgmgt.xml
@@ -63,21 +63,9 @@
If Glibc needs to be upgraded to a newer
- version, (e.g., from Glibc-2.31 to Glibc-2.32), it is safer to
- rebuild LFS. Though you may be able to rebuild
- all the packages in their dependency order, we do not recommend
- it.
-
-
-
- Reinstalling the same version of Glibc (&glibc-version; for
- this release of LFS) with patches should be safe when these patches
- do not change ABI and API. When a security vulnerability is found
- in Glibc, we often need to apply such a patch to fix the
- vulnerability and reinstall Glibc. Consult
- LFS security
- advisories if you are alerted for a published Glibc security
- vulnerability but unsure about the action to take.
+ version, (e.g., from Glibc-2.36 to Glibc-&glibc-version;),
+ some extra steps are needed to avoid breaking the system.
+ Read for details.
If a package containing a shared library is updated, and