From 793f9087f14fecd775c15ff9ed9976485a8a331f Mon Sep 17 00:00:00 2001 From: Pierre Labastie Date: Thu, 6 Oct 2022 09:07:42 +0200 Subject: [PATCH 01/24] Fix sanity check in chapter 5 When I changed the sanity check to remove the "dummy.c" file, I inadvertently used "gcc" instead of "$LFS_TGT-gcc". Which of course finds the host gcc... --- chapter05/glibc.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml index 103fa42c8..7b118c540 100644 --- a/chapter05/glibc.xml +++ b/chapter05/glibc.xml @@ -195,7 +195,7 @@ cd build functions (compiling and linking) of the new toolchain are working as expected. To perform a sanity check, run the following commands: -echo 'int main(){}' | gcc -xc - +echo 'int main(){}' | $LFS_TGT-gcc -xc - readelf -l a.out | grep ld-linux If everything is working correctly, there should be no errors, From b6d3512cc55d524c55edb7aed37e21b65ebf29b6 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Thu, 6 Oct 2022 10:07:36 -0500 Subject: [PATCH 02/24] Typo --- part3intro/toolchaintechnotes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/part3intro/toolchaintechnotes.xml b/part3intro/toolchaintechnotes.xml index c5b8dc577..aae3d7f3a 100644 --- a/part3intro/toolchaintechnotes.xml +++ b/part3intro/toolchaintechnotes.xml @@ -267,7 +267,7 @@ package on a complete LFS system, the installed content of the package should be same as the content of the same package installed in &ch-final;. The temporary packages installed in &ch-tmp-cross; or - &ch-tmp-chroot; cannot satisify this expectation because some of them + &ch-tmp-chroot; cannot satisfy this expectation because some of them are built without optional dependencies installed, and autoconf cannot perform some feature checks in &ch-tmp-cross; because of cross compilation, causing the temporary packages to lack optional features From 68588615e6a546bd7d5c9e5a6f0d91209217c799 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 9 Oct 2022 13:30:58 +0800 Subject: [PATCH 03/24] temp bash: fix "support/config.guess: Permission denied" In bash-5.2 tarball config.guess is not executable, so we need to run the script with an explicit "sh". --- chapter06/bash.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/chapter06/bash.xml b/chapter06/bash.xml index d462d2631..d00e685ca 100644 --- a/chapter06/bash.xml +++ b/chapter06/bash.xml @@ -45,9 +45,9 @@ Prepare Bash for compilation: -./configure --prefix=/usr \ - --build=$(support/config.guess) \ - --host=$LFS_TGT \ +./configure --prefix=/usr \ + --build=$(sh support/config.guess) \ + --host=$LFS_TGT \ --without-bash-malloc From 312d536a3582b1ee629687b44948874c98b14874 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Sun, 9 Oct 2022 10:55:14 -0500 Subject: [PATCH 04/24] Fix systemd currency --- lfs-latest-git.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lfs-latest-git.php b/lfs-latest-git.php index 32c8150ca..d4f331697 100644 --- a/lfs-latest-git.php +++ b/lfs-latest-git.php @@ -17,7 +17,7 @@ $regex[ 'intltool' ] = "/^.*Latest version is (\d[\d\.]+\d).*$/"; $regex[ 'less' ] = "/^.*current released version is less-(\d+).*$/"; $regex[ 'mpfr' ] = "/^mpfr-([\d\.]+)\.tar.*$/"; $regex[ 'Python' ] = "/^.*Latest Python 3.*Python (3[\d\.]+\d).*$/"; -$regex[ 'systemd' ] = "/^.*v([\d]+)$/"; +$regex[ 'systemd' ] = "/^.*systemd v([\d]+)$/"; //$regex[ 'sysvinit' ] = "/^.*sysvinit-([\d\.]+)dsf\.tar.*$/"; $regex[ 'tzdata' ] = "/^.*tzdata([\d]+[a-z]).*$/"; $regex[ 'xz' ] = "/^.*xz-([\d\.]*\d).*$/"; From 8b539af84d3ea5784a000eec414591e600172495 Mon Sep 17 00:00:00 2001 From: Pierre Labastie Date: Sun, 9 Oct 2022 18:46:28 +0200 Subject: [PATCH 05/24] First attempt at clarifying "Important Preliminary Material" --- part3intro/toolchaintechnotes.xml | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/part3intro/toolchaintechnotes.xml b/part3intro/toolchaintechnotes.xml index aae3d7f3a..53c1f4a23 100644 --- a/part3intro/toolchaintechnotes.xml +++ b/part3intro/toolchaintechnotes.xml @@ -300,12 +300,11 @@ its library search order. Detailed information can be obtained from ld by passing it the --verbose flag. For example, $LFS_TGT-ld --verbose | grep SEARCH - will illustrate the current search paths and their order. It shows which - files are linked by ld by compiling a dummy program and - passing the --verbose switch to the linker. For - example, - $LFS_TGT-gcc dummy.c -Wl,--verbose 2>&1 | grep succeeded - will show all the files successfully opened during the linking. + will illustrate the current search paths and their order. Note that this + example can be run as shown only while being user + lfs. If you come back to this + page later, replace $LFS_TGT-ld with just + ld. The next package installed is gcc. An example of what can be seen during its run of configure is: @@ -318,14 +317,18 @@ checking what linker to use... /mnt/lfs/tools/i686-lfs-linux-gnu/bin/ldgcc itself, the same search paths are not necessarily used. To find out which standard linker gcc - will use, run: $LFS_TGT-gcc -print-prog-name=ld. + will use, run: $LFS_TGT-gcc -print-prog-name=ld. Again, + remove the $LFS_TGT- part if coming back to this + later. Detailed information can be obtained from gcc by passing it the -v command line option while compiling - a dummy program. For example, gcc -v dummy.c will show + a program. For example, $LFS_TGT-gcc -v + example.c (or without + $LFS_TGT- if coming back later to this) will show detailed information about the preprocessor, compilation, and assembly - stages, including gcc's included search paths and their - order. + stages, including gcc's search paths for included + headers and their order. Next installed are sanitized Linux API headers. These allow the standard C library (glibc) to interface with features that the Linux From 6e24d20038fef0e1db17477bffcceca792ab615f Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 12 Oct 2022 14:29:20 +0800 Subject: [PATCH 06/24] dependency: add LLVM (w/ Clang) as external dependency of kernel Some kernel features (like, building the kernel with LTO) already requires Clang. --- appendices/dependencies.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index 69c676394..99b84c385 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -1863,7 +1863,9 @@ &external; - cpio + cpio and + LLVM + (with Clang) From efae0398b45361b65c543be34877e50d06144631 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Fri, 14 Oct 2022 12:18:56 -0500 Subject: [PATCH 07/24] Package updates. Update to iana-etc-20221007. Update to vim-9.0.0739. Add upstream patches to readline and bash. Update to zlib-1.2.13. Update to man-pages-6.00. Update to gettext-0.21.1. Update to iproute2-6.0.0. Update to meson-0.63.3. Update to Python-3.10.8. Update to xz-5.2.7. Update to tzdata-2022e. Update to linux-6.0.1. Update to dbus-1.14.4. --- chapter01/changelog.xml | 60 +++++++++++++++++++++++++++++++- chapter01/whatsnew.xml | 33 ++++++++++-------- chapter03/patches.xml | 14 ++++---- chapter08/bash.xml | 4 +++ chapter08/readline.xml | 4 +++ packages.ent | 76 ++++++++++++++++++++--------------------- patches.ent | 12 ++++--- 7 files changed, 138 insertions(+), 65 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 819f2f15a..1619b169d 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -39,6 +39,64 @@ or as appropriate for the entry or if needed the entire day's listitem. --> + + 2022-10-15 + + + [bdubbs] - Update to iana-etc-20221007. Addresses + #5006. + + + [bdubbs] - Update to vim-9.0.0739. Addresses + #5006. + + + [bdubbs] - Add upstream patches to readline and bash. Fixes + #5131. + + + [bdubbs] - Update to zlib-1.2.13. Fixes + #5137. + + + [bdubbs] - Update to man-pages-6.00. Fixes + #5136. + + + [bdubbs] - Update to gettext-0.21.1. Fixes + #5130. + + + [bdubbs] - Update to iproute2-6.0.0. Fixes + #5127. + + + [bdubbs] - Update to meson-0.63.3. Fixes + #5129. + + + [bdubbs] - Update to Python-3.10.8. Fixes + #5133. + + + [bdubbs] - Update to xz-5.2.7. Fixes + #5133. + + + [bdubbs] - Update to tzdata-2022e. Fixes + #5134. + + + [bdubbs] - Update to linux-6.0.1. Fixes + #5135. + + + [bdubbs] - Update to dbus-1.14.4. Fixes + #5128. + + + + 2022-10-04 @@ -76,7 +134,7 @@ [bdubbs] - Update to libcap-2.66. Fixes - #5120. + #5120. [bdubbs] - Update to dbus-1.14.2. Fixes diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index ac7a4140c..752a2bd84 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -106,9 +106,9 @@ - + @@ -139,9 +139,9 @@ - + @@ -184,9 +184,9 @@ - + @@ -259,18 +259,18 @@ - + - - + @@ -289,9 +289,12 @@ Added: - + + &bash-fixes-patch; + + + &readline-fixes-patch; + diff --git a/chapter03/patches.xml b/chapter03/patches.xml index 2bba9c16d..630b21c2e 100644 --- a/chapter03/patches.xml +++ b/chapter03/patches.xml @@ -26,7 +26,7 @@ --> - + - + Sysvinit Consolidated Patch - &sysvinit-consolidated-patch-size;: diff --git a/chapter08/bash.xml b/chapter08/bash.xml index 4ea981d5b..fa21ab346 100644 --- a/chapter08/bash.xml +++ b/chapter08/bash.xml @@ -40,6 +40,10 @@ Installation of Bash + First, fix some issues identified upstream: + +patch -Np1 -i ../&bash-fixes-patch; + Prepare Bash for compilation: ./configure --prefix=/usr \ diff --git a/chapter08/readline.xml b/chapter08/readline.xml index 889314b14..51784d2f7 100644 --- a/chapter08/readline.xml +++ b/chapter08/readline.xml @@ -49,6 +49,10 @@ sed -i '/MV.*old/d' Makefile.in sed -i '/{OLDSUFF}/c:' support/shlib-install + Now fix a problem identified upstream: + +patch -Np1 -i ../&readline-fixes-patch; + Prepare Readline for compilation: ./configure --prefix=/usr \ diff --git a/packages.ent b/packages.ent index d7fb9fa2d..056a20f45 100644 --- a/packages.ent +++ b/packages.ent @@ -114,10 +114,10 @@ - - + + - + @@ -245,10 +245,10 @@ - - + + - + @@ -317,10 +317,10 @@ - + - + @@ -342,10 +342,10 @@ - - + + - + @@ -422,14 +422,14 @@ - - - + + + - + - + - + - + - + - - + + @@ -694,10 +694,10 @@ - + - + @@ -717,13 +717,13 @@ - + - + - + @@ -745,20 +745,20 @@ - - + + - + - - + + - + diff --git a/patches.ent b/patches.ent index 54c0c11fa..3877eebbd 100644 --- a/patches.ent +++ b/patches.ent @@ -7,11 +7,11 @@ --> - + + + + + + + + + 2022-10-17 + + + [bdubbs] - Update to linux-6.0.2 (Security update). Fixes + #5138. + + + + 2022-10-15 diff --git a/packages.ent b/packages.ent index 056a20f45..96d1e3ae9 100644 --- a/packages.ent +++ b/packages.ent @@ -424,12 +424,12 @@ - + - + - + a LiveCD from a commercial distribution. of this book describes how - to create a new Linux native partition and file system. This is the place + to create a new Linux native partition and file system, where the new LFS system will be compiled and installed. explains which packages and - patches need to be downloaded to build an LFS system and how to store + patches must be downloaded to build an LFS system, and how to store them on the new file system. discusses the setup of an appropriate working environment. Please read carefully as it explains several - important issues you need be aware of before beginning to + important issues you should be aware of before you begin to work your way through and beyond. explains the installation of - the initial tool chain, (binutils, gcc, and glibc) using cross compilation + the initial tool chain, (binutils, gcc, and glibc) using cross-compilation techniques to isolate the new tools from the host system. shows you how to cross-compile basic utilities using the just built cross-toolchain. then enters a - "chroot" environment and uses the previously built tools to build - the additional tools needed to build and test the final system. + "chroot" environment, which uses the new tools to build all + the rest of the tools needed to create the LFS system. This effort to isolate the new system from the host distribution may seem excessive. A full technical explanation as to why this is done is provided in . In the - full LFS system is built. Another advantage provided by the chroot + full-blown LFS system is built. Another advantage provided by the chroot environment is that it allows you to continue using the host system while LFS is being built. While waiting for package compilations to - complete, you can continue using your computer as normal. + complete, you can continue using your computer as usual. To finish the installation, the basic system configuration is set up in - , and the kernel and boot loader are set - up in . + , and the kernel and boot loader are created + in . contains information on continuing the LFS experience beyond this book. - After the steps in this book have been implemented, the computer will be - ready to reboot into the new LFS system. + After the steps in this chapter have been implemented, the computer is + ready to boot into the new LFS system. This is the process in a nutshell. Detailed information on each - step is discussed in the following chapters and package descriptions. - Items that may seem complicated will be clarified, and everything will - fall into place as you embark on the LFS adventure. + step is presented in the following chapters. + Items that seem complicated now will be clarified, and everything will + fall into place as you commence your LFS adventure. From ee0959b64ab47abdb01991ea9cc8f2a4bace77d6 Mon Sep 17 00:00:00 2001 From: David Bryant Date: Mon, 17 Oct 2022 15:19:01 -0500 Subject: [PATCH 15/24] Corrected grammar and idiom, clarified a couple of things. --- chapter01/whatsnew.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 752a2bd84..b36765261 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -11,16 +11,16 @@ What's new since the last release - In 11.3 release, --enable-default-pie + In the 11.3 release, --enable-default-pie and --enable-default-ssp are enabled for GCC. - They can mitigate some type of malicious attacks but they cannot provide - a full protection. In case if you are reading a programming textbook, - you may need to disable PIE and SSP with GCC options - -fno-pie -no-pie -fno-stack-protection - because some textbooks assume they were disabled by default. + These techniques can mitigate some malicious attacks, but they do not provide + perfect security. If you are reading LFS and a programming textbook, + you may need to disable PIE and SSP with the GCC options + -fno-pie -no-pie -fno-stack-protection, + because some textbooks assume these options are disabled by default. - Below is a list of package updates made since the previous - release of the book. + Here is a list of the packages updated since the previous + release of LFS. To see whether your host system has all the appropriate versions, and - the ability to compile programs, run the following: + the ability to compile programs, run the following commands: cat > version-check.sh << "EOF" #!/bin/bash From 294ea05cd1764b2808eb7a581427b25135ab407e Mon Sep 17 00:00:00 2001 From: David Bryant Date: Mon, 17 Oct 2022 16:12:16 -0500 Subject: [PATCH 18/24] Clarified verbiage here and there. Used the present perfect tense instead of the simple present to make the order of events clearer. --- chapter02/stages.xml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/chapter02/stages.xml b/chapter02/stages.xml index 036cd34cc..04f6373c9 100644 --- a/chapter02/stages.xml +++ b/chapter02/stages.xml @@ -12,22 +12,22 @@ LFS is designed to be built in one session. That is, the instructions assume that the system will not be shut down - during the process. That does not mean that the system has to - be done in one sitting. The issue is that certain procedures - have to be re-accomplished after a reboot if resuming LFS at + during the process. This does not mean that the system has to + be built in one sitting. The issue is that certain procedures + must be repeated after a reboot when resuming LFS at different points. Chapters 1–4 - These chapters are accomplished on the host system. When - restarting, be careful of the following: + These chapters run commands on the host system. When + restarting, be certain of one thing: - Procedures done as the + Procedures performed as the root user after Section - 2.4 need to have the LFS environment variable set + 2.4 must have the LFS environment variable set FOR THE ROOT USER. @@ -44,7 +44,7 @@ These two chapters must be done as user lfs. - A su - lfs command must be issued before any task in these + A su - lfs command must be issued before performing any task in these chapters. If you don't do that, you are at risk of installing packages to the host, and potentially rendering it unusable. @@ -52,8 +52,8 @@ The procedures in are critical. If there is any - doubt about installing a package, ensure any previously expanded - tarballs are removed, then re-extract the package files, and complete all + doubt a package has been installed correctly, ensure the previously expanded + tarball has been removed, then re-extract the package, and complete all the instructions in that section. @@ -77,7 +77,7 @@ When entering chroot, the LFS environment variable must be set for root. The LFS - variable is not used after entering the chroot environment. + variable is not used after the chroot environment has been entered. From af6ea195fe729eb18c5362fbc2b0641d8c01ea83 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 18 Oct 2022 14:32:33 +0800 Subject: [PATCH 19/24] prologue/standards: rewrite LSB description Well, somehow this paragraph has become too imprecise. 1. We don't support IA64. Both Intel and AMD uses x86_64 now, which is referred as "AMD64" because it's first proposed by AMD. Intel attempted to use IA64 (which is a VLIW architecture completely different with x86_64) to compete with AMD64, but failed. Then Intel adapted x86_64. 2. The architecture specific part belongs to Core and Desktop. 3. LFS cannot conform to both AMD64 and IA32 because we don't support multilib. It's "or", not "and". --- prologue/standards.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/prologue/standards.xml b/prologue/standards.xml index 6d29f8676..6ab757a07 100644 --- a/prologue/standards.xml +++ b/prologue/standards.xml @@ -31,11 +31,11 @@ Linux Standard Base (LSB) Version 5.0 (2015) - The LSB has four separate standards: Core, Desktop, - Runtime Languages, and Imaging. There are generic requirements, - and also architecture specific requirements. There are also two - trial standards: Gtk3 and Graphics. LFS attempts to conform to the - LASB standards for the IA32 / IA64 (Intel) and AMD64 (AMD) + The LSB has four separate specifications: Core, Desktop, + Runtime Languages, and Imaging. Some parts of Core and Desktop + specifications are architecture specific. There are also two trial + specifications: Gtk3 and Graphics. LFS attempts to conform to the LSB + specifications for the IA32 (32-bit x86) or AMD64 (x86_64) architectures discussed in the previous section. Many people do not agree with these requirements. From d114dd3530e46860719b68d13b1ef19f71846c06 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 18 Oct 2022 15:22:51 +0800 Subject: [PATCH 20/24] prologue/why: another "device" -> "device nodes" change You can't throw a NVIDIA GTX 690 into /dev. --- prologue/why.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prologue/why.xml b/prologue/why.xml index 4a002484e..1f8737c9b 100644 --- a/prologue/why.xml +++ b/prologue/why.xml @@ -141,7 +141,7 @@ Eudev This package is a device manager. It dynamically controls the ownership, - permissions, names, and symbolic links of devices in the /dev directory when + permissions, names, and symbolic links of device nodes in the /dev directory when devices are added to or removed from the system. From a1cf444e9f052a5fc716c79a54d14f1da586384f Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 18 Oct 2022 15:32:11 +0800 Subject: [PATCH 21/24] prologue/why: mention that less is used by many packages Why remove "used by man-db"? Now some user may think "I don't use this thing, I'll just use vim" and skip it :(. --- prologue/why.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/prologue/why.xml b/prologue/why.xml index 1f8737c9b..f2b4a5d18 100644 --- a/prologue/why.xml +++ b/prologue/why.xml @@ -319,8 +319,8 @@ Less This package contains a very nice text file viewer that - allows scrolling up or down when viewing a file. It is also used - when viewing manpages. + allows scrolling up or down when viewing a file. + Many packages use it for paging the output. From 72523a13db0b6428b42136b437bf7667280e9fdd Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 18 Oct 2022 15:47:08 +0800 Subject: [PATCH 22/24] prologue/why: paramaterize "eudev" with revision attribute --- prologue/why.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/prologue/why.xml b/prologue/why.xml index f2b4a5d18..fac1e1559 100644 --- a/prologue/why.xml +++ b/prologue/why.xml @@ -232,7 +232,9 @@ Gperf This package produces a program that generates a perfect hash - function from a set of keys. It is required by Eudev. + function from a set of keys. It is required by + Eudev + Systemd. From e15831967aed80014a0446b6d5492616bb3e22ae Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 18 Oct 2022 16:10:36 +0800 Subject: [PATCH 23/24] resources: remove bad usage of RFC 3986: URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ] hier-part = "//" authority path-abempty / path-absolute / path-rootless / path-empty So "linuxfromscratch.org" is not a URI, nor "irc.libera.chat". --- chapter01/resources.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/chapter01/resources.xml b/chapter01/resources.xml index da86d4609..ad20950b2 100644 --- a/chapter01/resources.xml +++ b/chapter01/resources.xml @@ -23,7 +23,8 @@ Mailing Lists - The linuxfromscratch.org server hosts a number of mailing + The linuxfromscratch.org + server hosts a number of mailing lists used for the development of the LFS project. These lists include the main development and support lists, among others. If the FAQ do not solve the problem you are having, the next step would be to search the mailing @@ -56,7 +57,8 @@ Several members of the LFS community offer assistance via Internet Relay Chat (IRC). Before using this support, please make sure your question is not already answered in the LFS FAQ or the mailing list - archives. You can find the IRC network at irc.libera.chat. + archives. You can find the IRC network at + irc.libera.chat. The support channel is named #lfs-support. From 0f9c02a9bfe70b119c5456f8a9019f9fb725e58c Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 18 Oct 2022 16:19:02 +0800 Subject: [PATCH 24/24] chapter01/how: small fix I guess a "chroot environment" don't know how to use the tools? --- chapter01/how.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter01/how.xml b/chapter01/how.xml index 84cb0a98d..a8fdddddd 100644 --- a/chapter01/how.xml +++ b/chapter01/how.xml @@ -54,7 +54,7 @@ cross-compile basic utilities using the just built cross-toolchain. then enters a - "chroot" environment, which uses the new tools to build all + "chroot" environment, where we use the new tools to build all the rest of the tools needed to create the LFS system. This effort to isolate the new system from the host distribution may