From 26954aad8d430e7be853ba568c743315b8cb4fbe Mon Sep 17 00:00:00 2001 From: David Bryant Date: Thu, 15 Dec 2022 11:07:56 -0600 Subject: [PATCH 01/21] Correct inconsistency in list of installed programs (awk --> gawk). --- chapter08/gawk.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/gawk.xml b/chapter08/gawk.xml index 45a7444bf..b0e7cc43c 100644 --- a/chapter08/gawk.xml +++ b/chapter08/gawk.xml @@ -88,7 +88,7 @@ cp -v doc/{awkforai.txt,*.{eps,pdf,jpg}} /usr/share/doc/gawk-&gawk-version;Installed directories - awk (link to gawk), gawk, and awk-&gawk-version; + awk (link to gawk), gawk, and gawk-&gawk-version; filefuncs.so, fnmatch.so, fork.so, inplace.so, intdiv.so, ordchr.so, readdir.so, readfile.so, revoutput.so, revtwoway.so, rwarray.so, and time.so (all in /usr/lib/gawk) From 59109ad71417440e65f13e659756eaa5281a83e9 Mon Sep 17 00:00:00 2001 From: David Bryant Date: Thu, 15 Dec 2022 12:24:46 -0600 Subject: [PATCH 02/21] Reordered a clumsy sentence. --- chapter08/man-db.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/man-db.xml b/chapter08/man-db.xml index 523962c9a..55559b1fa 100644 --- a/chapter08/man-db.xml +++ b/chapter08/man-db.xml @@ -77,7 +77,7 @@ --enable-cache-owner=bin - This makes the system-wide cache files be owned by user + This changes ownership of the system-wide cache files to user bin. From baf93f520fa8378454cfc313dd6e256c6167c875 Mon Sep 17 00:00:00 2001 From: David Bryant Date: Thu, 15 Dec 2022 12:44:44 -0600 Subject: [PATCH 03/21] Capitalized the name of the package. Removed "pwait" from the Short Descriptions list; it has already beeen dropped from the Installed Programs list. --- chapter08/procps.xml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/chapter08/procps.xml b/chapter08/procps.xml index dbc78213c..e17d199ca 100644 --- a/chapter08/procps.xml +++ b/chapter08/procps.xml @@ -40,7 +40,7 @@ Installation of Procps-ng - Prepare procps-ng for compilation: + Prepare Procps-ng for compilation: ./configure --prefix=/usr \ --docdir=/usr/share/doc/procps-ng-&procps-ng-version; \ @@ -60,7 +60,7 @@ --disable-kill This switch disables building the kill - command that will be installed by the Util-linux package. + command; it will be installed from the Util-linux package. @@ -181,7 +181,7 @@ make check - + pwdx From c8e374b510336132931a766bc07dc535cd9e775a Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 16 Dec 2022 15:51:50 +0800 Subject: [PATCH 04/21] gawk: LN='ln -f' is an overridden make variable, not environment variable `LN='ln -f' make install` won't work. The terminlogy "override" is from section 9.5 of "info make". --- chapter08/gawk.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/gawk.xml b/chapter08/gawk.xml index b0e7cc43c..192cc9f32 100644 --- a/chapter08/gawk.xml +++ b/chapter08/gawk.xml @@ -61,7 +61,7 @@ make LN='ln -f' install - The meaning of the make environment variable: + The meaning of the overridden make variable: LN='ln -f' From 9bb4939772b0f0f7acd7475bcd9d6c3d1166ac75 Mon Sep 17 00:00:00 2001 From: David Bryant Date: Fri, 16 Dec 2022 16:24:32 -0600 Subject: [PATCH 05/21] Patched clumsy verbiage. Added two items (hardlink, lsfd) to the list of installed programs. Added (link to setarch) to the five items that link to setarch. Corrected erroneous description of swapoff. Clarified some of the "short descriptions". Changed the imperative mood to the indicative mood, and added an "s" to a couple of possessive nouns. --- chapter08/util-linux.xml | 81 ++++++++++++++++++++++++++-------------- 1 file changed, 52 insertions(+), 29 deletions(-) diff --git a/chapter08/util-linux.xml b/chapter08/util-linux.xml index 7648d2a7f..221743d3d 100644 --- a/chapter08/util-linux.xml +++ b/chapter08/util-linux.xml @@ -77,7 +77,7 @@ --docdir=/usr/share/doc/util-linux-&util-linux-version; The --disable and --without options prevent warnings about - building components that require packages not in LFS or are + building components that either require packages not in LFS, or are inconsistent with programs installed by other packages. Compile the package: @@ -92,7 +92,7 @@ be available in the currently running system and must be built as a module. Building it into the kernel will prevent booting. For complete coverage, other BLFS packages must be installed. If desired, this test can - be run after rebooting into the completed LFS system and running: + be run by booting into the completed LFS system and running: bash tests/run.sh --srcdir=$PWD --builddir=$PWD @@ -125,16 +125,17 @@ su tester -c "make -k check" addpart, agetty, blkdiscard, blkid, blkzone, blockdev, cal, cfdisk, chcpu, chmem, choom, chrt, col, colcrt, colrm, column, ctrlaltdel, delpart, dmesg, eject, fallocate, fdisk, fincore, findfs, findmnt, flock, fsck, - fsck.cramfs, fsck.minix, fsfreeze, fstrim, getopt, hexdump, hwclock, - i386, ionice, ipcmk, ipcrm, ipcs, irqtop, isosize, kill, last, lastb (link to - last), ldattach, linux32, linux64, logger, look, losetup, lsblk, lscpu, - lsipc, lsirq, lslocks, lslogins, lsmem, lsns, mcookie, mesg, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap, + fsck.cramfs, fsck.minix, fsfreeze, fstrim, getopt, hardlink, hexdump, hwclock, + i386 (link to setarch), ionice, ipcmk, ipcrm, ipcs, irqtop, isosize, kill, last, + lastb (link to last), ldattach, linux32 (link to setarch), linux64 (link to setarch), + logger, look, losetup, lsblk, lscpu, lsipc, lsirq, lsfd, lslocks, lslogins, + lsmem, lsns, mcookie, mesg, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap, more, mount, mountpoint, namei, nsenter, partx, pivot_root, prlimit, readprofile, rename, renice, resizepart, rev, rfkill, rtcwake, script, scriptlive, scriptreplay, setarch, setsid, setterm, sfdisk, sulogin, swaplabel, - swapoff (link to swapon), swapon, switch_root, taskset, uclampset, ul, - umount, uname26, unshare, utmpdump, uuidd, uuidgen, uuidparse, wall, wdctl, whereis, - wipefs, x86_64, and zramctl + swapoff, swapon, switch_root, taskset, uclampset, ul, + umount, uname26 (link to setarch), unshare, utmpdump, uuidd, uuidgen, uuidparse, + wall, wdctl, whereis, wipefs, x86_64 (link to setarch), and zramctl libblkid.so, libfdisk.so, libmount.so, libsmartcols.so, and libuuid.so /usr/include/blkid, @@ -197,7 +198,7 @@ su tester -c "make -k check" blkzone - Runs zone command on the given block device + Is used to manage zoned storage block devices blkzone @@ -258,7 +259,8 @@ su tester -c "make -k check" choom - Displays and adjusts OOM-killer score + Displays and adjusts OOM-killer scores, used to determine + which process to kill first when Linux is Out Of Memory choom @@ -390,7 +392,7 @@ su tester -c "make -k check" findfs - Finds a file system by label or Universally Unique Identifier + Finds a file system, either by label or Universally Unique Identifier (UUID) findfs @@ -402,7 +404,7 @@ su tester -c "make -k check" findmnt Is a command line interface to the libmount library - for work with mountinfo, fstab and mtab files + for working with mountinfo, fstab and mtab files findmnt @@ -482,12 +484,22 @@ su tester -c "make -k check" + + + hardlink + + Consolidates duplicate files by creating hard links + + hardlink + + + hexdump - Dumps the given file in hexadecimal or in another given - format + Dumps the given file in hexadecimal, decimal, octal, + or ascii hexdump @@ -690,6 +702,16 @@ su tester -c "make -k check" + + + lsfd + + Displays information about open files; replaces lsof + + lsfd + + + lsipc @@ -861,7 +883,7 @@ su tester -c "make -k check" namei - Shows the symbolic links in the given pathnames + Shows the symbolic links in the given paths namei @@ -903,7 +925,7 @@ su tester -c "make -k check" prlimit - Get and set a process' resource limits + Gets and sets a process's resource limits prlimit @@ -974,7 +996,7 @@ su tester -c "make -k check" rtcwake - Used to enter a system sleep state until specified wakeup + Used to enter a system sleep state until the specified wakeup time rtcwake @@ -995,7 +1017,7 @@ su tester -c "make -k check" scriptlive - Re-run session typescripts using timing information + Re-runs session typescripts using timing information scriptlive @@ -1015,7 +1037,7 @@ su tester -c "make -k check" setarch - Changes reported architecture in a new program environment and + Changes reported architecture in a new program environment, and sets personality flags setarch @@ -1068,7 +1090,7 @@ su tester -c "make -k check" swaplabel - Allows to change swaparea UUID and label + Makes changes to the swap area's UUID and label swaplabel @@ -1088,7 +1110,7 @@ su tester -c "make -k check" swapon - Enables devices and files for paging and swapping and + Enables devices and files for paging and swapping, and lists the devices and files currently in use swapon @@ -1109,7 +1131,7 @@ su tester -c "make -k check" taskset - Retrieves or sets a process' CPU affinity + Retrieves or sets a process's CPU affinity taskset @@ -1119,7 +1141,7 @@ su tester -c "make -k check" uclampset - Manipulate the utilization clamping attributes of the + Manipulates the utilization clamping attributes of the system or a process uclampset @@ -1171,7 +1193,7 @@ su tester -c "make -k check" utmpdump - Displays the content of the given login file in a more + Displays the content of the given login file in a user-friendly format utmpdump @@ -1193,9 +1215,10 @@ su tester -c "make -k check" uuidgen - Creates new UUIDs. Each new UUID can reasonably be considered + Creates new UUIDs. Each new UUID is a random number likely to be unique among all UUIDs created, on the local system and on other - systems, in the past and in the future + systems, in the past and in the future, with extremely high + probability (~340 trillion trillion trillion unique UUIDs are possible) uuidgen @@ -1205,7 +1228,7 @@ su tester -c "make -k check" uuidparse - An utility to parse unique identifiers + A utility to parse unique identifiers uuidparse @@ -1237,7 +1260,7 @@ su tester -c "make -k check" whereis Reports the location of the binary, source, and man page - for the given command + files for the given command whereis From 8cde1045985f5a4ddf73dba34deac0f103f09a37 Mon Sep 17 00:00:00 2001 From: David Bryant Date: Sat, 17 Dec 2022 14:17:55 -0600 Subject: [PATCH 06/21] Capitalize the name of the package. Standardize references to "ext{234}" file systems. Clean up English idiom here and there. Standardize the spelling of "file system"; unless it's part of a command or something like that, it should be written as two words. --- chapter08/e2fsprogs.xml | 73 +++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 36 deletions(-) diff --git a/chapter08/e2fsprogs.xml b/chapter08/e2fsprogs.xml index 79fdc5f1f..bccf33227 100644 --- a/chapter08/e2fsprogs.xml +++ b/chapter08/e2fsprogs.xml @@ -23,7 +23,7 @@ - <para>The e2fsprogs package contains the utilities for handling the + <para>The E2fsprogs package contains the utilities for handling the <systemitem class="filesystem">ext2</systemitem> file system. It also supports the <systemitem class="filesystem">ext3</systemitem> and <systemitem class="filesystem">ext4</systemitem> journaling @@ -44,13 +44,13 @@ <sect2 role="installation"> <title>Installation of E2fsprogs - The e2fsprogs documentation recommends that the package be built in + The E2fsprogs documentation recommends that the package be built in a subdirectory of the source tree: mkdir -v build cd build - Prepare e2fsprogs for compilation: + Prepare E2fsprogs for compilation: ../configure --prefix=/usr \ --sysconfdir=/etc \ @@ -74,11 +74,11 @@ cd build --disable-* - This prevents e2fsprogs from building and installing the + These prevent building and installing the libuuid and libblkid libraries, the uuidd daemon, and the - fsck wrapper, as util-linux installs more + fsck wrapper; util-linux installs more recent versions. @@ -175,11 +175,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info chattr - Changes the attributes of files on an ext2 file system; it also - changes ext3 - file systems, the journaling version of ext2 file systems + Changes the attributes of files on ext{234} file systems chattr @@ -202,8 +199,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.infodebugfs A file system debugger; it can be used to examine and change - the state of an ext2 - file system + the state of ext{234} + file systems debugfs @@ -234,9 +231,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info e2fsck - Is used to check, and optionally repair ext2 file systems and ext3 file systems + Is used to check and optionally repair ext{234} file systems e2fsck @@ -247,7 +243,7 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.infoe2image Is used to save critical ext2 file system data to a file + class="filesystem">ext{234} file system data to a file e2image @@ -258,7 +254,7 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.infoe2label Displays or changes the file system label on the ext2 file system present on a given + class="filesystem">ext{234} file system on a given device e2label @@ -269,7 +265,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info e2mmpstatus - Checks MMP status of an ext4 filesystem + Checks MMP (Multiple Mount Protection) status of an ext4 file system e2mmpstatus @@ -279,7 +276,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info e2scrub - Checks the contents of a mounted ext[234] filesystem + Checks the contents of a mounted ext{234} file system e2scrub @@ -289,7 +287,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info e2scrub_all - Checks all mounted ext[234] filesystems for errors + Checks all mounted ext{234} + file systems for errors e2scrub_all @@ -299,9 +298,10 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info e2undo - Replays the undo log undo_log for an ext2/ext3/ext4 filesystem - found on a device [This can be used to undo a failed operation by an - e2fsprogs program.] + Replays the undo log for an ext{234} file system + found on a device. [This can be used to undo a failed operation by an + E2fsprogs program.] e2undo @@ -311,7 +311,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info e4crypt - Ext4 filesystem encryption utility + Ext4 + file system encryption utility e4crypt @@ -321,7 +322,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info e4defrag - Online defragmenter for ext4 filesystems + Online defragmenter for ext4 file systems e4defrag @@ -407,9 +409,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info mke2fs - Creates an ext2 - or ext3 file system on - the given device + Creates an ext{234} + file system on the given device mke2fs @@ -452,8 +453,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info mklost+found - Used to create a lost+found - directory on an ext2 file + Creates a lost+found + directory on an ext{234} file system; it pre-allocates disk blocks to this directory to lighten the task of e2fsck @@ -465,8 +466,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info resize2fs - Can be used to enlarge or shrink an ext2 file system + Can be used to enlarge or shrink ext{234} file systems resize2fs @@ -476,8 +477,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info tune2fs - Adjusts tunable file system parameters on an ext2 file system + Adjusts tunable file system parameters on ext{234} file systems tune2fs @@ -508,8 +509,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info libext2fs - Contains routines to enable user-level programs to manipulate an - ext2 file system + Contains routines to enable user-level programs to manipulate + ext{234} file systems libext2fs From d15c80e1b48c272ccd5b4510c2c139bda30896bc Mon Sep 17 00:00:00 2001 From: David Bryant Date: Mon, 19 Dec 2022 13:44:36 -0600 Subject: [PATCH 07/21] Capitalize package names. Patch up a clumsy sentence. Change an instance of the imperative mood to the indicative. Improve the description of the "halt" and "init" programs. --- chapter08/sysklogd.xml | 8 ++++---- chapter08/sysvinit.xml | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/chapter08/sysklogd.xml b/chapter08/sysklogd.xml index 9aec7ba9b..89fc314ed 100644 --- a/chapter08/sysklogd.xml +++ b/chapter08/sysklogd.xml @@ -23,8 +23,8 @@ - <para>The sysklogd package contains programs for logging system messages, - such as those given by the kernel when unusual things happen.</para> + <para>The Sysklogd package contains programs for logging system messages, + such as those emitted by the kernel when unusual things happen.</para> <segmentedlist> <segtitle>&buildtime;</segtitle> @@ -41,8 +41,8 @@ <sect2 role="installation"> <title>Installation of Sysklogd - First, fix problems that causes a segmentation fault under - some conditions in klogd and fix an obsolete program construct: + First, fix a problem that causes a segmentation fault in klogd + under some conditions, and fix an obsolete program construct: sed -i '/Error loading kernel symbols/{n;n;d}' ksym_mod.c sed -i 's/union wait/int/' syslogd.c diff --git a/chapter08/sysvinit.xml b/chapter08/sysvinit.xml index 0d6914a45..7b31ec007 100644 --- a/chapter08/sysvinit.xml +++ b/chapter08/sysvinit.xml @@ -115,7 +115,7 @@ fstab-decode - Run a command with fstab-encoded arguments + Runs a command with fstab-encoded arguments fstab-decode @@ -126,10 +126,10 @@ halt Normally invokes shutdown with the - -h option, except when already in run-level 0, - then it tells the kernel to halt the system; it notes in the - file /var/log/wtmp that the system is being - brought down + -h option, but when already in run-level 0, + it tells the kernel to halt the system; it notes in the + file /var/log/wtmp that the system is + going down halt @@ -140,8 +140,8 @@ init The first process to be started when the kernel has initialized - the hardware which takes over the boot process and starts all the - proceses specified in its configuration file + the hardware; it takes over the boot process and starts all the + processes specified in its configuration file init @@ -152,7 +152,7 @@ killall5 Sends a signal to all processes, except the processes in its own - session so it will not kill its parent shell + session; it will not kill its parent shell killall5 From a613960c4be169277fa1192f2aa1d4a6c107e796 Mon Sep 17 00:00:00 2001 From: David Bryant Date: Tue, 20 Dec 2022 09:26:41 -0600 Subject: [PATCH 08/21] Removed redundant verbiage. Rewrote a very clumsy sentence. To speak of a difference (implying subtraction) and a factor (multiplication) as equivalent is confusing at best. --- chapter08/aboutdebug.xml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/chapter08/aboutdebug.xml b/chapter08/aboutdebug.xml index d646b797e..e9b90d64b 100644 --- a/chapter08/aboutdebug.xml +++ b/chapter08/aboutdebug.xml @@ -17,8 +17,8 @@ the debugger can provide not only memory addresses, but also the names of the routines and variables. - However, the inclusion of these debugging symbols enlarges a - program or library significantly. The following is an example of the + The inclusion of these debugging symbols enlarges a + program or library significantly. Here are two examples of the amount of space these symbols occupy: @@ -28,7 +28,7 @@ A bash binary without debugging symbols: - 480 KB + 480 KB (60% smaller) Glibc and GCC files (/lib @@ -36,15 +36,14 @@ symbols: 87 MB - Glibc and GCC files without debugging symbols: 16 MB + Glibc and GCC files without debugging symbols: 16 MB (82% smaller) - Sizes may vary depending on which compiler and C library were used, - but when comparing programs with and without debugging symbols, the - difference will usually be a factor between two and five. - - Because most users will never use a debugger on their system software, + Sizes will vary depending on which compiler and C library were used, + but a program that has been stripped of debugging symbols is usually some + 50% to 80% smaller than its unstripped counterpart. + Because most users will never use a debugger on their system software, a lot of disk space can be regained by removing these symbols. The next section shows how to strip all debugging symbols from the programs and libraries. From 0785a5e6ddee48b499d6a19e9e17ca0eeea8c393 Mon Sep 17 00:00:00 2001 From: David Bryant Date: Tue, 20 Dec 2022 09:48:03 -0600 Subject: [PATCH 09/21] Remove redundant verbiage; improve English idiom. --- chapter08/cleanup.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/chapter08/cleanup.xml b/chapter08/cleanup.xml index c55b7af2f..daa38f597 100644 --- a/chapter08/cleanup.xml +++ b/chapter08/cleanup.xml @@ -10,16 +10,16 @@ Cleaning Up - Finally, clean up some extra files left around from running tests: + Finally, clean up some extra files left over from running tests: rm -rf /tmp/* - There are also several files installed in the /usr/lib and /usr/libexec + There are also several files in the /usr/lib and /usr/libexec directories with a file name extension of .la. These are "libtool archive" - files. As already said, on a modern Linux system the libtool .la files are + files. On a modern Linux system the libtool .la files are only useful for libltdl. No libraries in LFS are expected to be loaded - by libltdl, and it's known that some .la files can cause BLFS packages - fail to build. Remove those files now: + by libltdl, and it's known that some .la files can break BLFS package + builds. Remove those files now: find /usr/lib /usr/libexec -name \*.la -delete From 9c753b58f1db4267ee47a990b118782773dedd96 Mon Sep 17 00:00:00 2001 From: David Bryant Date: Tue, 20 Dec 2022 13:57:22 -0600 Subject: [PATCH 10/21] Improve English idiom and make additional changes, for clarity. Rephrased a clumsy sentence. Broke a run-on sentence in two. Used adverbs, and the possessive case, where necessary. --- chapter08/stripping.xml | 44 ++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/chapter08/stripping.xml b/chapter08/stripping.xml index d82b72ac1..eaabab5b7 100644 --- a/chapter08/stripping.xml +++ b/chapter08/stripping.xml @@ -12,39 +12,39 @@ This section is optional. If the intended user is not a programmer and does not plan to do - any debugging on the system software, the system size can be decreased - by about 2 GB by removing the debugging symbols and unneeded symbol table - entries from binaries and libraries. This causes no inconvenience other - than not being able to debug the software fully anymore. + any debugging of the system software, the system's size can be decreased + by some 2 GB by removing the debugging symbols, and some unnecessary symbol table + entries, from binaries and libraries. This causes no real inconvenience for + a typical Linux user. Most people who use the commands mentioned below do not - experience any difficulties. However, it is easy to make a typo and - render the new system unusable, so before running the + experience any difficulties. However, it is easy to make a mistake and + render the new system unusable. So before running the strip commands, it is a good idea to make a backup of the LFS system in its current state. - A strip command with + A strip command with the --strip-unneeded option removes all debug symbols - from a binary or library. And, it removes all symbol table entries not + from a binary or library. It also removes all symbol table entries not needed by the linker (for static libraries) or dynamic linker (for - dynamic-linked binaries and shared libraries). + dynamically linked binaries and shared libraries). - The debugging symbols for selected libraries are placed - in separate files. This debugging information is needed if running - regression tests that use The debugging symbols from selected libraries are preserved + in separate files. That debugging information is needed to run + regression tests with valgrind or gdb later in BLFS. + url='&blfs-book;/general/gdb.html'>gdb later, in BLFS. Note that strip will overwrite the binary or library file it is processing. This can crash the processes using code or data from - the file. If the process running strip itself is - affected, the binary or library being stripped can be destroyed and can - make the system completely unusable. To avoid it, we'll copy some libraries + the file. If the process running strip is + affected, the binary or library being stripped can be destroyed; this can + make the system completely unusable. To avoid this problem we copy some libraries and binaries into /tmp, strip them - there, and install them back with the install command. - Read the related entry in for the - rationale to use the install command here. + there, then reinstall them with the install command. + (The related entry in gives the + rationale for using the install command here.) 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 @@ -111,8 +111,8 @@ done unset BIN LIB save_usrlib online_usrbin online_usrlib - A large number of files will be reported as having their file - format not recognized. These warnings can be safely ignored. They - indicate that those files are scripts instead of binaries. + A large number of files will be flagged as errors because their file + format is not recognized. These warnings can be safely ignored. They + indicate that those files are scripts, not binaries. From c30b3ccf262e52464a6aba15de0f42990de2e1d4 Mon Sep 17 00:00:00 2001 From: David Bryant Date: Wed, 21 Dec 2022 10:18:58 -0600 Subject: [PATCH 11/21] Remove redundant verbiage and clarify a few things. --- chapter09/introduction.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/chapter09/introduction.xml b/chapter09/introduction.xml index da5ffe67c..745ca3165 100644 --- a/chapter09/introduction.xml +++ b/chapter09/introduction.xml @@ -11,19 +11,19 @@ Introduction Booting a Linux system involves several tasks. The process must - mount both virtual and real file systems, initialize devices, activate swap, - check file systems for integrity, mount any swap partitions or files, set + mount both virtual and real file systems, initialize devices, + check file systems for integrity, mount and activate any swap partitions or files, set the system clock, bring up networking, start any daemons required by the - system, and accomplish any other custom tasks needed by the user. This + system, and accomplish any other custom tasks specified by the user. This process must be organized to ensure the tasks are performed in the correct - order but, at the same time, be executed as fast as possible. + order and executed as quickly as possible. System V System V is the classic boot process that has been used in Unix and Unix-like systems such as Linux since about 1983. It consists of a small - program, init, that sets up basic programs such as + program, init, that sets up basic processes such as login (via getty) and runs a script. This script, usually named rc, controls the execution of a set of additional scripts that perform the tasks required to initialize the @@ -31,7 +31,7 @@ The init program is controlled by the /etc/inittab file and is organized into run levels that - can be run by the user. In LFS, they are used as follows: + can be chosen by the user. In LFS, they are used as follows: 0 — halt 1 — Single user mode @@ -70,13 +70,13 @@ Serial processing of boot tasks. This is related to the previous - point. A delay in any process such as a file system check, will + point. A delay in any process, such as a file system check, will delay the entire boot process. Does not directly support advanced features like - control groups (cgroups), and per-user fair share scheduling. + control groups (cgroups) and per-user fair share scheduling. From c1fec3a92268a67d06233d9fe093c02d0e3f6dfc Mon Sep 17 00:00:00 2001 From: David Bryant Date: Wed, 21 Dec 2022 10:42:53 -0600 Subject: [PATCH 12/21] Improved English idiom; clarified a few descriptions of scripts. --- chapter09/bootscripts.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/chapter09/bootscripts.xml b/chapter09/bootscripts.xml index cb88a9fd8..fbffa76df 100644 --- a/chapter09/bootscripts.xml +++ b/chapter09/bootscripts.xml @@ -74,7 +74,7 @@ checkfs Checks the integrity of the file systems before they are mounted - (with the exception of journal and network based file systems) + (with the exception of journaling and network-based file systems) checkfs @@ -173,8 +173,8 @@ mountfs - Mounts all file systems, except ones that are marked - noauto or are network based + Mounts all file systems, except those that are marked + noauto, or are network based mountfs @@ -208,7 +208,7 @@ The master run-level control script; it is responsible for running all the other bootscripts one-by-one, in a sequence determined - by the name of the symbolic links being processed + by the names of the symbolic links to those other bootscripts rc @@ -239,8 +239,8 @@ setclock - Resets the kernel clock to local time in case the hardware clock - is not set to UTC time + Resets the system clock to local time if the hardware clock + is not set to UTC setclock @@ -305,7 +305,7 @@ udev Prepares the /dev - directory and starts Udev + directory and starts the udev daemon udev From 6ef50538b2bf9d57c9856ea002a1efa12204e7a4 Mon Sep 17 00:00:00 2001 From: David Bryant Date: Wed, 21 Dec 2022 16:13:16 -0600 Subject: [PATCH 13/21] Correct capitalization, patch up grammar and idiom. Regularized capital letters in lines. Changed a dependent clause and made it independent. Smoothed out some bumpy verbiage in the "History" section. Removed superfluous verbiage. Clarified some trounbleshooting advice. --- chapter09/udev.xml | 76 +++++++++++++++++++++++----------------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/chapter09/udev.xml b/chapter09/udev.xml index 396f2b389..4bcb52dfe 100644 --- a/chapter09/udev.xml +++ b/chapter09/udev.xml @@ -16,23 +16,23 @@ </indexterm> <para>In <xref linkend="chapter-building-system"/>, we installed the udev - package when <phrase revision="sysv">eudev</phrase> + daemon when <phrase revision="sysv">eudev</phrase> <phrase revision="systemd">systemd</phrase> was built. Before we go into the - details regarding how this works, a brief history of previous methods of + details regarding how udev works, a brief history of previous methods of handling devices is in order.</para> <para>Linux systems in general traditionally used a static device creation method, whereby a great many device nodes were created under <filename class="directory">/dev</filename> (sometimes literally thousands of nodes), regardless of whether the corresponding hardware devices actually existed. This - was typically done via a <command>MAKEDEV</command> script, which contains a + was typically done via a <command>MAKEDEV</command> script, which contained a number of calls to the <command>mknod</command> program with the relevant major and minor device numbers for every possible device that might exist in the world.</para> - <para>Using the udev method, only those devices which are detected by the - kernel get device nodes created for them. Because these device nodes will be - created each time the system boots, they will be stored on a <systemitem + <para>Using the udev method, device nodes are only created for those devices + which are detected by the kernel. These device nodes are + created each time the system boots; they are stored in a <systemitem class="filesystem">devtmpfs</systemitem> file system (a virtual file system that resides entirely in system memory). Device nodes do not require much space, so the memory that is used is negligible.</para> @@ -51,23 +51,23 @@ class="filesystem">devfs</systemitem> was the way it handled device detection, creation, and naming. The latter issue, that of device node naming, was perhaps the most critical. It is generally accepted that if - device names are allowed to be configurable, then the device naming policy - should be up to a system administrator, not imposed on them by any - particular developer(s). The <systemitem + device names are configurable, the device naming policy + should be chosen by system administrators, and not imposed on them by the + developer(s). The <systemitem class="filesystem">devfs</systemitem> file system also suffered from race - conditions that were inherent in its design and could not be fixed without a - substantial revision to the kernel. It was marked as deprecated for a long - period – due to a lack of maintenance – and was finally removed + conditions that were inherent in its design; these could not be fixed without a + substantial revision of the kernel. <systemitem class="filesystem">devfs</systemitem> + was marked as deprecated for a long + time, and was finally removed from the kernel in June, 2006.</para> <para>With the development of the unstable 2.5 kernel tree, later released as the 2.6 series of stable kernels, a new virtual filesystem called <systemitem class="filesystem">sysfs</systemitem> came to be. The job of - <systemitem class="filesystem">sysfs</systemitem> is to export a view of + <systemitem class="filesystem">sysfs</systemitem> is to provide information about the system's hardware configuration to userspace processes. With this - userspace-visible representation, the possibility of developing a userspace - replacement for <systemitem class="filesystem">devfs</systemitem> became - much more realistic.</para> + userspace-visible representation, it became possible to develop a userspace + replacement for <systemitem class="filesystem">devfs</systemitem>.</para> </sect2> @@ -81,12 +81,12 @@ was mentioned briefly above. One may wonder how <systemitem class="filesystem">sysfs</systemitem> knows about the devices present on a system and what device numbers should be used for them. Drivers that - have been compiled into the kernel directly register their objects with a + have been compiled into the kernel register their objects in <systemitem class="filesystem">sysfs</systemitem> (devtmpfs internally) - as they are detected by the kernel. For drivers compiled as modules, this - registration will happen when the module is loaded. Once the <systemitem + as they are detected by the kernel. For drivers compiled as modules, + registration happens when the module is loaded. Once the <systemitem class="filesystem">sysfs</systemitem> filesystem is mounted (on /sys), - data which the drivers register with <systemitem + data which the drivers have registered with <systemitem class="filesystem">sysfs</systemitem> are available to userspace processes and to udevd for processing (including modifications to device nodes).</para> @@ -96,13 +96,13 @@ <sect3 id='ch-config-udev-device-node-creation'> <title>Device Node Creation - Device files are created by the kernel by the devtmpfs filesystem. Any driver that - wishes to register a device node will go through the Device files are created by the kernel in the devtmpfs file system. Any driver that + wishes to register a device node will use the devtmpfs (via the driver core) to do it. When a devtmpfs instance is mounted on /dev, the device node - will initially be created with a fixed name, permissions, and + will initially be exposed to userspace with a fixed name, permissions, and owner. A short time later, the kernel will send a uevent to @@ -172,7 +172,7 @@ creating device nodes. - A kernel module is not loaded automatically + A Kernel Module Is Not Loaded Automatically Udev will only load a module if it has a bus-specific alias and the bus driver properly exports the necessary aliases to - A kernel module is not loaded automatically, and udev is not - intended to load it + A Kernel Module Is Not Loaded Automatically, and Udev Is Not + Intended to Load It If the wrapper module only enhances the functionality provided by some other module (e.g., @@ -236,7 +236,7 @@ - Udev loads some unwanted module + Udev Loads Some Unwanted Module Either don't build the module, or blacklist it in a /etc/modprobe.d/blacklist.conf file as done with the @@ -250,7 +250,7 @@ - Udev creates a device incorrectly, or makes a wrong symlink + Udev Creates a Device Incorrectly, or Makes the Wrong Symlink This usually happens if a rule unexpectedly matches a device. For example, a poorly-written rule can match both a SCSI disk (as desired) @@ -261,7 +261,7 @@ - Udev rule works unreliably + Udev Rule Works Unreliably This may be another manifestation of the previous problem. If not, and your rule uses sysfs @@ -275,15 +275,15 @@ - Udev does not create a device + Udev Does Not Create a Device - Further text assumes that the driver is built statically into the - kernel or already loaded as a module, and that you have already checked - that udev doesn't create a misnamed device. + First, be certain that the driver is built into the + kernel or already loaded as a module, and that + udev isn't creating a misnamed device. - Udev has no information needed to create a device node if a kernel - driver does not export its data to - sysfs. This is most common + If a kernel driver does not export its data to + sysfs, udev lacks the + information needed to create a device node. This is most likely to happen with third party drivers from outside the kernel tree. Create a static device node in /usr/lib/udev/devices with the appropriate major/minor numbers (see the file @@ -295,7 +295,7 @@ - Device naming order changes randomly after rebooting + Device Naming Order Changes Randomly After Rebooting This is due to the fact that udev, by design, handles uevents and loads modules in parallel, and thus in an unpredictable order. This will From 6beb8ce0554474f6e2f275f470f38172cdaf0620 Mon Sep 17 00:00:00 2001 From: David Bryant Date: Thu, 22 Dec 2022 12:23:21 -0600 Subject: [PATCH 14/21] Add a missing XML tag (). --- chapter09/udev.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/chapter09/udev.xml b/chapter09/udev.xml index 4bcb52dfe..20212035c 100644 --- a/chapter09/udev.xml +++ b/chapter09/udev.xml @@ -85,7 +85,8 @@ sysfs (devtmpfs internally) as they are detected by the kernel. For drivers compiled as modules, registration happens when the module is loaded. Once the sysfs filesystem is mounted (on /sys), + class="filesystem">sysfs filesystem is mounted (on + /sys), data which the drivers have registered with sysfs are available to userspace processes and to udevd for processing (including modifications to device From 8972a361d04f15f7153d90700af80e4a6a250f90 Mon Sep 17 00:00:00 2001 From: David Bryant Date: Thu, 22 Dec 2022 14:46:52 -0600 Subject: [PATCH 15/21] Clean up / clarify disccussion; correct capitalization of titles. Clarify discussion of "eth0" vs "enp5s0". Remove superfluous verbiage. Improve punctuation. Patch grammatical errors (subject / verb). Improve English idiom in a few places. --- chapter09/symlinks.xml | 72 +++++++++++++++++++++--------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/chapter09/symlinks.xml b/chapter09/symlinks.xml index 24ebf537d..86528ba69 100644 --- a/chapter09/symlinks.xml +++ b/chapter09/symlinks.xml @@ -17,27 +17,28 @@ Udev, by default, names network devices according to Firmware/BIOS data or physical characteristics like the bus, slot, or MAC address. The purpose of this naming convention is to ensure that network devices are - named consistently and not based on the time the network card was - discovered. For example, on a computer having two network cards made by - Intel and Realtek, the network card manufactured by Intel may become eth0 - and the Realtek card becomes eth1. In some cases, after a reboot the cards - could get renumbered the other way around. + named consistently, not based on when the network card was + discovered. In older versions of Linux—on a computer with two + network cards made by Intel and Realtek, for instance—the + network card manufactured by Intel might have become eth0 + while the Realtek card became eth1. After a reboot, the cards + would sometimes get renumbered the other way around. - In the new naming scheme, typical network device names would then - be something like enp5s0 or wlp3s0. If this naming convention is not - desired, the traditional naming scheme or a custom scheme can be + In the new naming scheme, typical network device names are + something like enp5s0 or wlp3s0. If this naming convention is not + desired, the traditional naming scheme, or a custom scheme, can be implemented. Disabling Persistent Naming on the Kernel Command Line - The traditional naming scheme using eth0, eth1, etc can be + The traditional naming scheme using eth0, eth1, etc. can be restored by adding net.ifnames=0 on the - kernel command line. This is most appropriate for those systems - that have only one ethernet device of the same type. Laptops - often have multiple ethernet connections that are named eth0 and - wlan0 and are also candidates for this method. The command line - is passed in the GRUB configuration file. + kernel command line. This is most appropriate for systems + that have just one ethernet device of a particular type. Laptops + often have two ethernet connections named eth0 and + wlan0; such laptops can also use this method. The command line + is in the GRUB configuration file. See . @@ -56,23 +57,22 @@ cat /etc/udev/rules.d/70-persistent-net.rules - In some cases such as when MAC addresses have been assigned to - a network card manually or in a virtual environment such as Qemu or Xen, - the network rules file may not have been generated because addresses + In some cases, such as when MAC addresses have been assigned to + a network card manually, or in a virtual environment such as Qemu or Xen, + the network rules file may not be generated because addresses are not consistently assigned. In these cases, this method cannot be used. - The file begins with a comment block followed by two lines for each + The file begins with a comment block, followed by two lines for each NIC. The first line for each NIC is a commented description showing its hardware IDs (e.g. its PCI vendor and device IDs, if it's a PCI card), - along with its driver in parentheses, if the driver can be found. Neither + along with its driver (in parentheses, if the driver can be found). Neither the hardware ID nor the driver is used to determine which name to give an interface; this information is only for reference. The second line is the udev rule that matches this NIC and actually assigns it a name. - All udev rules are made up of several keys, separated by commas and - optional whitespace. This rule's keys and an explanation of each of them - are as follows: + All udev rules are made up of several keywords, separated by commas and + optional whitespace. Here are the keywords, and an explanation of each one: @@ -88,10 +88,10 @@ DRIVERS=="?*" - This exists so that udev will ignore VLAN or bridge sub-interfaces (because these sub-interfaces do not have drivers). These sub-interfaces are skipped because the name - that would be assigned would collide with their parent devices. + that would be assigned would collide with the parent devices. - ATTR{address} - The value of this key is the + ATTR{address} - The value of this keyword is the NIC's MAC address. @@ -102,7 +102,7 @@ skipped: there would be a name collision otherwise. - NAME - The value of this key is the name that + NAME - The value of this keyword is the name that udev will assign to this interface. @@ -110,7 +110,7 @@ The value of NAME is the important part. Make sure you know which name has been assigned to each of your network cards before proceeding, and be sure to use that NAME value when - creating your configuration files below. + creating your network configuration files. @@ -118,10 +118,10 @@ - CD-ROM symlinks + CD-ROM Symlinks Some software that you may want to install later (e.g., various - media players) expect the /dev/cdrom + media players) expects the /dev/cdrom and /dev/dvd symlinks to exist, and to point to a CD-ROM or DVD-ROM device. Also, it may be convenient to put references to those symlinks into /etc/fstab. Udev @@ -139,15 +139,15 @@ ata_id or scsi_id programs, depending on which type of device you have. - There are advantages to each approach; the correct approach to use - will depend on what kinds of device changes may happen. If you expect the + There are advantages to each approach; the correct approach + depends on what kinds of device changes may happen. If you expect the physical path to the device (that is, the ports and/or slots that it plugs into) to change, for example because you plan on moving the drive to a different IDE port or a different USB connector, then you should use the by-id mode. On the other hand, if you expect the device's - identification to change, for example because it may die, and you would - replace it with a different device with the same capabilities and which - is plugged into the same connectors, then you should use the + identification to change, for example because it may die, and you intend + to replace it with a different device that + plugs into the same connectors, then you should use the by-path mode. If either type of change is possible with your drive, then choose a @@ -198,13 +198,13 @@ this is only an issue if you need the symlinks on both systems to point to the same device. If you need that, then inspect (and possibly edit) the generated /etc/udev/rules.d/70-persistent-cd.rules - file after booting, to make sure the assigned symlinks match what you need. + file after booting, to make sure the assigned symlinks match your needs. - Dealing with duplicate devices + Dealing with Duplicate Devices As explained in , the order in which devices with the same function appear in @@ -214,7 +214,7 @@ /dev/video1 refers to the tuner, and sometimes after a reboot the order changes. For all classes of hardware except sound cards and network cards, this is - fixable by creating udev rules for custom persistent symlinks. + fixable by creating udev rules to create persistent symlinks. The case of network cards is covered separately in , and sound card configuration can be found in BLFS. From 7ae2811988d440448f8f993d6e9b2df4652f3833 Mon Sep 17 00:00:00 2001 From: David Bryant Date: Sat, 24 Dec 2022 10:00:23 -0600 Subject: [PATCH 16/21] Standardize spelling of "userspace". --- chapter07/kernfs.xml | 2 +- chapter08/libcap.xml | 2 +- chapter08/pkgmgt.xml | 2 +- prologue/why.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/chapter07/kernfs.xml b/chapter07/kernfs.xml index 1f72fecf2..b5b0762bb 100644 --- a/chapter07/kernfs.xml +++ b/chapter07/kernfs.xml @@ -14,7 +14,7 @@ /dev/* - Applications running in user space utilize various file + Applications running in userspace utilize various file systems created by the kernel to communicate with the kernel itself. These file systems are virtual: no disk space is used for them. The content of these file systems resides in diff --git a/chapter08/libcap.xml b/chapter08/libcap.xml index 89348db88..367e05c3f 100644 --- a/chapter08/libcap.xml +++ b/chapter08/libcap.xml @@ -23,7 +23,7 @@ - <para>The Libcap package implements the user-space interface to the POSIX + <para>The Libcap package implements the userspace interface to the POSIX 1003.1e capabilities available in Linux kernels. These capabilities partition the all-powerful root privilege into a set of distinct privileges.</para> diff --git a/chapter08/pkgmgt.xml b/chapter08/pkgmgt.xml index d4b616bc7..8bf8dfdaa 100644 --- a/chapter08/pkgmgt.xml +++ b/chapter08/pkgmgt.xml @@ -55,7 +55,7 @@ <para>If the Linux kernel needs to be upgraded (for example, from 5.10.17 to 5.10.18 or 5.11.1), nothing else needs to be rebuilt. The system will keep working fine thanks to the well-defined interface - between the kernel and user space. Specifically, Linux API headers + between the kernel and userspace. Specifically, Linux API headers need not be (and should not be, see the next item) upgraded along with the kernel. You will merely need to reboot your system to use the upgraded kernel.</para> diff --git a/prologue/why.xml b/prologue/why.xml index fac1e1559..ea22b04df 100644 --- a/prologue/why.xml +++ b/prologue/why.xml @@ -328,7 +328,7 @@ <listitem> <para>Libcap</para> - <para>This package implements the user-space interfaces to + <para>This package implements the userspace interfaces to the POSIX 1003.1e capabilities available in Linux kernels. </para> </listitem> From c5c1e86e000f87e89f78b69cef7dfc1e9c5c35c6 Mon Sep 17 00:00:00 2001 From: David Bryant <david@davidcbryant.net> Date: Sat, 24 Dec 2022 20:02:12 -0600 Subject: [PATCH 17/21] Clarify by reordering some sentences; improve English idiom. Corrected capitilization of some titls. Reworked some clumsy sentences. Eliminated one tautological sentence. --- chapter09/network.xml | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/chapter09/network.xml b/chapter09/network.xml index 5ea7e3add..e2d0a5edf 100644 --- a/chapter09/network.xml +++ b/chapter09/network.xml @@ -17,15 +17,15 @@ <sect2> <title>Creating Network Interface Configuration Files - Which interfaces are brought up and down by the network script - usually depends on the files in /etc/sysconfig/. This directory should + The files in /etc/sysconfig/ + usually determine which interfaces are brought up and down by the network + script. This directory should contain a file for each interface to be configured, such as - ifconfig.xyz, where xyz should describe + ifconfig.xyz, where xyz describes the network card. The interface name (e.g. eth0) is usually appropriate. - Inside this file are attributes to this interface, such as its IP - address(es), subnet masks, and so forth. It is necessary that the stem of - the filename be ifconfig. + Each file contains the attributes of one interface, such as its IP + address(es), subnet masks, and so forth. The stem of + the filename must be ifconfig. If the procedure in the previous section was not used, udev @@ -38,10 +38,10 @@ The interface names depend on the implementation and configuration of the udev daemon running on the system. The udev daemon for LFS (installed in ) will - not run until the LFS system is booted. So it's unreliable to - determine the interface names being used in LFS system by running + not run until the LFS system is booted. So the interface names + in the LFS system cannot always be determined by running those commands on the host distro, - even though in the chroot environment. + even in the chroot environment. The following command creates a sample file for the @@ -59,14 +59,14 @@ PREFIX=24 BROADCAST=192.168.1.255 EOF - The values in italics must be changed in every file to match - the proper setup. + The values in italics must be changed in each file, to set + the interfaces up correctly. If the ONBOOT variable is set to yes the System V network script will bring up the Network Interface Card (NIC) during - the system boot process. If set to anything but yes the NIC - will be ignored by the network script and not be automatically brought up. - The interface can be manually started or stopped with the + the system boot process. If set to anything besides yes, the NIC + will be ignored by the network script and will not be started automatically. + Interfaces can be manually started or stopped with the ifup and ifdown commands. The IFACE variable defines the interface name, @@ -84,11 +84,11 @@ EOF gateway IP address, if one is present. If not, then comment out the variable entirely. - The PREFIX variable contains the number of - bits used in the subnet. Each octet in an IP address is 8 bits. If the - subnet's netmask is 255.255.255.0, then it is using the first three octets + The PREFIX variable specifies the number of + bits used in the subnet. Each segment of an IP address is 8 bits. If the + subnet's netmask is 255.255.255.0, then it is using the first three segments (24 bits) to specify the network number. If the netmask is 255.255.255.240, - it would be using the first 28 bits. Prefixes longer than 24 bits are + the subnet is using the first 28 bits. Prefixes longer than 24 bits are commonly used by DSL and cable-based Internet Service Providers (ISPs). In this example (PREFIX=24), the netmask is 255.255.255.0. Adjust the PREFIX variable according to your specific subnet. @@ -139,7 +139,7 @@ EOF - Configuring the system hostname + Configuring the System Hostname hostname @@ -156,7 +156,7 @@ EOF <lfs> needs to be replaced with the name given to the computer. Do not enter the Fully Qualified Domain Name - (FQDN) here. That information is put in the + (FQDN) here. That information goes in the /etc/hosts file. From fb3f5d7424639890ae6643648bb9ac88a6d674c6 Mon Sep 17 00:00:00 2001 From: Ken Moffat Date: Sun, 25 Dec 2022 04:10:42 +0000 Subject: [PATCH 18/21] Typo in ticket number in changelog. --- chapter01/changelog.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index b3f9f5c5a..d15590c1f 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -53,7 +53,7 @@ [bdubbs] - Update to vim-9.0.1060. Addresses - #5006. + #4500. [bdubbs] - Update to iproute2-6.1.0. Fixes From e193e35799dc8e247c9efecf8440a835462a77ed Mon Sep 17 00:00:00 2001 From: "Douglas R. Reno" Date: Wed, 28 Dec 2022 09:52:50 -0600 Subject: [PATCH 19/21] Patch systemd against CVE-2022-4415 --- chapter01/changelog.xml | 10 ++++++++++ chapter01/whatsnew.xml | 4 ++++ chapter03/patches.xml | 4 ++-- chapter08/systemd.xml | 6 +++--- patches.ent | 10 +++++----- 5 files changed, 24 insertions(+), 10 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index d15590c1f..7baf7c058 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -39,6 +39,16 @@ or as appropriate for the entry or if needed the entire day's listitem. --> + + 2022-12-28 + + + [renodr] - Patch systemd against CVE-2022-4415. Fixes + #5187. + + + + 2022-12-15 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 207240036..86992592b 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -299,6 +299,10 @@ &readline-fixes-patch; + + + &systemd-upstream-patch; + diff --git a/chapter03/patches.xml b/chapter03/patches.xml index 033ccd00c..05b49d319 100644 --- a/chapter03/patches.xml +++ b/chapter03/patches.xml @@ -135,7 +135,7 @@ - + + Remove two unneeded groups, render and diff --git a/patches.ent b/patches.ent index 53536069e..91cd3b719 100644 --- a/patches.ent +++ b/patches.ent @@ -91,11 +91,11 @@ - + + + + + set this variable to lat1-16 -m 8859-1. - In UTF-8 mode, the kernel uses the application character map for - conversion of composed 8-bit key codes in the keymap to UTF-8, and thus + In UTF-8 mode, the kernel uses the application character map to + convert 8-bit key codes to UTF-8. Therefore the argument of the "-m" parameter should be set to the encoding of the composed key codes in the keymap. @@ -404,7 +408,7 @@ EOF UNICODE - Set this variable to 1, yes or + Set this variable to 1, yes, or true in order to put the console into UTF-8 mode. This is useful in UTF-8 based locales and harmful otherwise. @@ -522,7 +526,7 @@ EOF 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. The solution is either to avoid the use of UTF-8, or to install the - X window system that doesn't have this limitation in its input + X window system, which doesn't have this limitation, in its input handling. @@ -531,7 +535,7 @@ EOF console cannot be configured to display the needed characters. Users who need such languages should install the X Window System, fonts that cover the necessary character ranges, and the proper input method (e.g., - SCIM, supports a wide variety of languages). + SCIM supports a wide variety of languages). @@ -565,7 +569,7 @@ EOF - Configuring the sysklogd Script + Configuring the Sysklogd Script sysklogd @@ -600,8 +604,8 @@ EOF console, and clock files in the /etc/sysconfig/ directory. If the associated variables are present in both these separate files and - rc.site, the values in the script specific files have - precedence. + rc.site, the values in the script-specific files take + effect. rc.site also contains parameters that can customize other aspects of the boot process. Setting the IPROMPT variable @@ -615,8 +619,8 @@ EOF Customizing the Boot and Shutdown Scripts The LFS boot scripts boot and shut down a system in a fairly - efficient manner, but there are a few tweaks that you can make in the - rc.site file to improve speed even more and to adjust messages according + efficient manner, but there are a few tweaks you can make in the + rc.site file to improve speed even more, and to adjust messages according to your preferences. To do this, adjust the settings in the /etc/sysconfig/rc.site file above. @@ -624,18 +628,18 @@ EOF During the boot script udev, there is a call to udev settle that requires some time to - complete. This time may or may not be required depending on devices present + complete. This time may or may not be required depending on the devices in the system. If you only have simple partitions and a single ethernet card, the boot process will probably not need to wait for this command. To skip it, set the variable OMIT_UDEV_SETTLE=y. The boot script udev_retry also runs - udev settle by default. This command is only needed by - default if the /var directory is - separately mounted. This is because the clock needs the file - /var/lib/hwclock/adjtime. Other customizations may + udev settle by default. This command is only needed + if the /var directory is + separately mounted, because the clock needs the + /var/lib/hwclock/adjtime file. Other customizations may also need to wait for udev to complete, but in many installations it is not - needed. Skip the command by setting the variable OMIT_UDEV_RETRY_SETTLE=y. + necessary. Skip the command by setting the variable OMIT_UDEV_RETRY_SETTLE=y. By default, the file system checks are silent. This can @@ -664,7 +668,7 @@ EOF During shutdown, the init program sends a TERM signal to each program it has started (e.g. agetty), waits for a set - time (default 3 seconds), and sends each process a KILL signal and waits + time (default 3 seconds), then sends each process a KILL signal and waits again. This process is repeated in the sendsignals script for any processes that are not shut down by their own scripts. The delay for init can be set by passing a parameter. For From dfb8516c83c2a3377829096892579c969e0a5906 Mon Sep 17 00:00:00 2001 From: David Bryant Date: Sat, 31 Dec 2022 10:23:56 -0600 Subject: [PATCH 21/21] Minor tweaks: a couple of commas, "your time zone". --- chapter09/usage.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chapter09/usage.xml b/chapter09/usage.xml index ffbfc408a..2e9843988 100644 --- a/chapter09/usage.xml +++ b/chapter09/usage.xml @@ -249,7 +249,7 @@ EOF any words in this file other than comments are considered subsystem names to trigger at retry time. To find the subsystem of a device, use udevadm info --attribute-walk <device> where - <device> is an absolute path in /dev or /sys such as /dev/sr0 or + <device> is an absolute path in /dev or /sys, such as /dev/sr0, or /sys/class/rtc. For information on kernel module loading and udev, see @@ -283,7 +283,7 @@ EOF clock. If this time matches whatever your watch says, then the hardware clock is set to local time. If the output from hwclock is not local time, chances are it is set to UTC time. Verify this by adding or subtracting - the proper number of hours for the time zone to the time shown by + the proper number of hours for your time zone to the time shown by hwclock. For example, if you are currently in the MST time zone, which is also known as GMT -0700, add seven hours to the local time.