Changeset 1e6c82b
- Timestamp:
- 12/31/2022 05:15:00 PM (16 months ago)
- Branches:
- 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, bdubbs/gcc13, multilib, renodr/libudev-from-systemd, trunk, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/update-glibc
- Children:
- eaa8345a
- Parents:
- 888103d (diff), dfb8516 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Files:
-
- 25 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter01/changelog.xml
r888103d r1e6c82b 40 40 appropriate for the entry or if needed the entire day's listitem. 41 41 --> 42 <listitem revision="systemd"> 43 <para>2022-12-28</para> 44 <itemizedlist> 45 <listitem> 46 <para>[renodr] - Patch systemd against CVE-2022-4415. Fixes 47 <ulink url="&lfs-ticket-root;5187">#5187</ulink>.</para> 48 </listitem> 49 </itemizedlist> 50 </listitem> 51 42 52 <listitem> 43 53 <para>2022-12-31</para> … … 92 102 <listitem> 93 103 <para>[bdubbs] - Update to vim-9.0.1060. Addresses 94 <ulink url="&lfs-ticket-root; 5006">#5006</ulink>.</para>104 <ulink url="&lfs-ticket-root;4500">#4500</ulink>.</para> 95 105 </listitem> 96 106 <listitem> -
chapter01/whatsnew.xml
r888103d r1e6c82b 300 300 <para>&readline-fixes-patch;</para> 301 301 </listitem> 302 303 <listitem revision="systemd"> 304 <para>&systemd-upstream-patch;</para> 305 </listitem> 302 306 </itemizedlist> 303 307 -
chapter03/patches.xml
r888103d r1e6c82b 136 136 </varlistentry> 137 137 138 <!-- 138 139 139 <varlistentry revision="systemd"> 140 140 <term>Systemd Upstream Patch - <token>&systemd-upstream-patch-size;</token>:</term> … … 144 144 </listitem> 145 145 </varlistentry> 146 --> 146 147 147 <!-- 148 148 <varlistentry> -
chapter07/kernfs.xml
r888103d r1e6c82b 15 15 </indexterm> 16 16 17 <para>Applications running in user 17 <para>Applications running in userspace utilize various file 18 18 systems created by the kernel to communicate 19 19 with the kernel itself. These file systems are virtual: no disk -
chapter08/aboutdebug.xml
r888103d r1e6c82b 18 18 the names of the routines and variables.</para> 19 19 20 <para> However, the inclusion of these debugging symbols enlarges a21 program or library significantly. The following is an exampleof the20 <para>The inclusion of these debugging symbols enlarges a 21 program or library significantly. Here are two examples of the 22 22 amount of space these symbols occupy:</para> 23 23 … … 29 29 <listitem> 30 30 <para>A <command>bash</command> binary without debugging symbols: 31 480 KB </para>31 480 KB (60% smaller)</para> 32 32 </listitem> 33 33 <listitem> … … 37 37 </listitem> 38 38 <listitem> 39 <para>Glibc and GCC files without debugging symbols: 16 MB </para>39 <para>Glibc and GCC files without debugging symbols: 16 MB (82% smaller)</para> 40 40 </listitem> 41 41 </itemizedlist> 42 42 43 <para>Sizes may vary depending on which compiler and C library were used, 44 but when comparing programs with and without debugging symbols, the 45 difference will usually be a factor between two and five.</para> 46 47 <para>Because most users will never use a debugger on their system software, 43 <para>Sizes will vary depending on which compiler and C library were used, 44 but a program that has been stripped of debugging symbols is usually some 45 50% to 80% smaller than its unstripped counterpart. 46 Because most users will never use a debugger on their system software, 48 47 a lot of disk space can be regained by removing these symbols. The next 49 48 section shows how to strip all debugging symbols from the programs and -
chapter08/cleanup.xml
r888103d r1e6c82b 11 11 <title>Cleaning Up</title> 12 12 13 <para>Finally, clean up some extra files left aroundfrom running tests:</para>13 <para>Finally, clean up some extra files left over from running tests:</para> 14 14 15 15 <screen><userinput>rm -rf /tmp/*</userinput></screen> 16 16 17 <para>There are also several files in stalled inthe /usr/lib and /usr/libexec17 <para>There are also several files in the /usr/lib and /usr/libexec 18 18 directories with a file name extension of .la. These are "libtool archive" 19 files. As already said, on a modern Linux system the libtool .la files are19 files. On a modern Linux system the libtool .la files are 20 20 only useful for libltdl. No libraries in LFS are expected to be loaded 21 by libltdl, and it's known that some .la files can cause BLFS packages22 fail to build. Remove those files now:</para>21 by libltdl, and it's known that some .la files can break BLFS package 22 builds. Remove those files now:</para> 23 23 24 24 <screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput></screen> -
chapter08/e2fsprogs.xml
r888103d r1e6c82b 24 24 <title/> 25 25 26 <para>The e2fsprogs package contains the utilities for handling the26 <para>The E2fsprogs package contains the utilities for handling the 27 27 <systemitem class="filesystem">ext2</systemitem> file system. It also 28 28 supports the <systemitem class="filesystem">ext3</systemitem> and … … 45 45 <title>Installation of E2fsprogs</title> 46 46 47 <para>The e2fsprogs documentation recommends that the package be built in47 <para>The E2fsprogs documentation recommends that the package be built in 48 48 a subdirectory of the source tree: </para> 49 49 … … 51 51 cd build</userinput></screen> 52 52 53 <para>Prepare e2fsprogs for compilation:</para>53 <para>Prepare E2fsprogs for compilation:</para> 54 54 55 55 <screen><userinput remap="configure">../configure --prefix=/usr \ … … 75 75 <term><parameter>--disable-*</parameter></term> 76 76 <listitem> 77 <para>Th is prevents e2fsprogs frombuilding and installing the77 <para>These prevent building and installing the 78 78 <systemitem class="library">libuuid</systemitem> and 79 79 <systemitem class="library">libblkid</systemitem> libraries, the 80 80 <systemitem class="daemon">uuidd</systemitem> daemon, and the 81 <command>fsck</command> wrapper , asutil-linux installs more81 <command>fsck</command> wrapper; util-linux installs more 82 82 recent versions.</para> 83 83 </listitem> … … 176 176 <term><command>chattr</command></term> 177 177 <listitem> 178 <para>Changes the attributes of files on an <systemitem 179 class="filesystem">ext2</systemitem> file system; it also 180 changes <systemitem class="filesystem">ext3</systemitem> 181 file systems, the journaling version of <systemitem 182 class="filesystem">ext2</systemitem> file systems</para> 178 <para>Changes the attributes of files on <systemitem 179 class="filesystem">ext{234}</systemitem> file systems</para> 183 180 <indexterm zone="ch-system-e2fsprogs chattr"> 184 181 <primary sortas="b-chattr">chattr</primary> … … 203 200 <listitem> 204 201 <para>A file system debugger; it can be used to examine and change 205 the state of an <systemitem class="filesystem">ext2</systemitem>206 file system </para>202 the state of <systemitem class="filesystem">ext{234}</systemitem> 203 file systems</para> 207 204 <indexterm zone="ch-system-e2fsprogs debugfs"> 208 205 <primary sortas="b-debugfs">debugfs</primary> … … 235 232 <term><command>e2fsck</command></term> 236 233 <listitem> 237 <para>Is used to check, and optionally repair <systemitem 238 class="filesystem">ext2</systemitem> file systems and <systemitem 239 class="filesystem">ext3</systemitem> file systems</para> 234 <para>Is used to check and optionally repair <systemitem 235 class="filesystem">ext{234}</systemitem> file systems</para> 240 236 <indexterm zone="ch-system-e2fsprogs e2fsck"> 241 237 <primary sortas="b-e2fsck">e2fsck</primary> … … 248 244 <listitem> 249 245 <para>Is used to save critical <systemitem 250 class="filesystem">ext 2</systemitem> file system data to a file</para>246 class="filesystem">ext{234}</systemitem> file system data to a file</para> 251 247 <indexterm zone="ch-system-e2fsprogs e2image"> 252 248 <primary sortas="b-e2image">e2image</primary> … … 259 255 <listitem> 260 256 <para>Displays or changes the file system label on the <systemitem 261 class="filesystem">ext 2</systemitem> file system presenton a given257 class="filesystem">ext{234}</systemitem> file system on a given 262 258 device</para> 263 259 <indexterm zone="ch-system-e2fsprogs e2label"> … … 270 266 <term><command>e2mmpstatus</command></term> 271 267 <listitem> 272 <para>Checks MMP status of an ext4 filesystem</para> 268 <para>Checks MMP (Multiple Mount Protection) status of an <systemitem 269 class="filesystem">ext4</systemitem> file system</para> 273 270 <indexterm zone="ch-system-e2fsprogs e2mmpstatus"> 274 271 <primary sortas="b-e2mmpstatus">e2mmpstatus</primary> … … 280 277 <term><command>e2scrub</command></term> 281 278 <listitem> 282 <para>Checks the contents of a mounted ext[234] filesystem</para> 279 <para>Checks the contents of a mounted <systemitem 280 class="filesystem">ext{234}</systemitem> file system</para> 283 281 <indexterm zone="ch-system-e2fsprogs e2scrub"> 284 282 <primary sortas="b-e2scrub">e2scrub</primary> … … 290 288 <term><command>e2scrub_all</command></term> 291 289 <listitem> 292 <para>Checks all mounted ext[234] filesystems for errors</para> 290 <para>Checks all mounted <systemitem class="filesystem">ext{234}</systemitem> 291 file systems for errors</para> 293 292 <indexterm zone="ch-system-e2fsprogs e2scrub_all"> 294 293 <primary sortas="b-e2scrub_all">e2scrub_all</primary> … … 300 299 <term><command>e2undo</command></term> 301 300 <listitem> 302 <para>Replays the undo log undo_log for an ext2/ext3/ext4 filesystem 303 found on a device [This can be used to undo a failed operation by an 304 e2fsprogs program.]</para> 301 <para>Replays the undo log for an <systemitem 302 class="filesystem">ext{234}</systemitem> file system 303 found on a device. [This can be used to undo a failed operation by an 304 E2fsprogs program.]</para> 305 305 <indexterm zone="ch-system-e2fsprogs e2undo"> 306 306 <primary sortas="b-e2undo">e2undo</primary> … … 312 312 <term><command>e4crypt</command></term> 313 313 <listitem> 314 <para>Ext4 filesystem encryption utility</para> 314 <para><systemitem class="filesystem">Ext4</systemitem> 315 file system encryption utility</para> 315 316 <indexterm zone="ch-system-e2fsprogs e4crypt"> 316 317 <primary sortas="b-e4crypt">e4crypt</primary> … … 322 323 <term><command>e4defrag</command></term> 323 324 <listitem> 324 <para>Online defragmenter for ext4 filesystems</para> 325 <para>Online defragmenter for <systemitem 326 class="filesystem">ext4</systemitem> file systems</para> 325 327 <indexterm zone="ch-system-e2fsprogs e4defrag"> 326 328 <primary sortas="b-e4defrag">e4defrag</primary> … … 408 410 <term><command>mke2fs</command></term> 409 411 <listitem> 410 <para>Creates an <systemitem class="filesystem">ext2</systemitem> 411 or <systemitem class="filesystem">ext3</systemitem> file system on 412 the given device</para> 412 <para>Creates an <systemitem class="filesystem">ext{234}</systemitem> 413 file system on the given device</para> 413 414 <indexterm zone="ch-system-e2fsprogs mke2fs"> 414 415 <primary sortas="b-mke2fs">mke2fs</primary> … … 453 454 <term><command>mklost+found</command></term> 454 455 <listitem> 455 <para> Used to createa <filename class="directory">lost+found</filename>456 directory on an <systemitem class="filesystem">ext 2</systemitem> file456 <para>Creates a <filename class="directory">lost+found</filename> 457 directory on an <systemitem class="filesystem">ext{234}</systemitem> file 457 458 system; it pre-allocates disk blocks to this directory to lighten the 458 459 task of <command>e2fsck</command></para> … … 466 467 <term><command>resize2fs</command></term> 467 468 <listitem> 468 <para>Can be used to enlarge or shrink an<systemitem469 class="filesystem">ext 2</systemitem> file system</para>469 <para>Can be used to enlarge or shrink <systemitem 470 class="filesystem">ext{234}</systemitem> file systems</para> 470 471 <indexterm zone="ch-system-e2fsprogs resize2fs"> 471 472 <primary sortas="b-resize2fs">resize2fs</primary> … … 477 478 <term><command>tune2fs</command></term> 478 479 <listitem> 479 <para>Adjusts tunable file system parameters on an<systemitem480 class="filesystem">ext 2</systemitem> file system</para>480 <para>Adjusts tunable file system parameters on <systemitem 481 class="filesystem">ext{234}</systemitem> file systems</para> 481 482 <indexterm zone="ch-system-e2fsprogs tune2fs"> 482 483 <primary sortas="b-tune2fs">tune2fs</primary> … … 509 510 <term><filename class="libraryfile">libext2fs</filename></term> 510 511 <listitem> 511 <para>Contains routines to enable user-level programs to manipulate an512 <systemitem class="filesystem">ext 2</systemitem> file system</para>512 <para>Contains routines to enable user-level programs to manipulate 513 <systemitem class="filesystem">ext{234}</systemitem> file systems</para> 513 514 <indexterm zone="ch-system-e2fsprogs libext2fs"> 514 515 <primary sortas="c-libext2fs">libext2fs</primary> -
chapter08/gawk.xml
r888103d r1e6c82b 62 62 63 63 <variablelist> 64 <title>The meaning of the make environmentvariable:</title>64 <title>The meaning of the overridden make variable:</title> 65 65 66 66 <varlistentry> … … 89 89 90 90 <seglistitem> 91 <seg>awk (link to gawk), gawk, and awk-&gawk-version;</seg>91 <seg>awk (link to gawk), gawk, and gawk-&gawk-version;</seg> 92 92 <seg>filefuncs.so, fnmatch.so, fork.so, inplace.so, intdiv.so, ordchr.so, 93 93 readdir.so, readfile.so, revoutput.so, revtwoway.so, rwarray.so, -
chapter08/libcap.xml
r888103d r1e6c82b 24 24 <title/> 25 25 26 <para>The Libcap package implements the user -space interface to the POSIX26 <para>The Libcap package implements the userspace interface to the POSIX 27 27 1003.1e capabilities available in Linux kernels. These capabilities 28 28 partition the all-powerful root privilege into a set of distinct -
chapter08/man-db.xml
r888103d r1e6c82b 78 78 <term><parameter>--enable-cache-owner=bin</parameter></term> 79 79 <listitem> 80 <para>This makes the system-wide cache files be owned byuser80 <para>This changes ownership of the system-wide cache files to user 81 81 <systemitem class="username">bin</systemitem>.</para> 82 82 </listitem> -
chapter08/pkgmgt.xml
r888103d r1e6c82b 56 56 5.10.17 to 5.10.18 or 5.11.1), nothing else needs to be rebuilt. 57 57 The system will keep working fine thanks to the well-defined interface 58 between the kernel and user 58 between the kernel and userspace. Specifically, Linux API headers 59 59 need not be (and should not be, see the next item) upgraded 60 60 along with the kernel. You will merely need to reboot your system to use the -
chapter08/procps.xml
r888103d r1e6c82b 41 41 <title>Installation of Procps-ng</title> 42 42 43 <para>Prepare procps-ng for compilation:</para>43 <para>Prepare Procps-ng for compilation:</para> 44 44 45 45 <screen revision="sysv"><userinput remap="configure">./configure --prefix=/usr \ … … 61 61 <listitem> 62 62 <para>This switch disables building the <command>kill</command> 63 command that will be installed bythe Util-linux package.</para>63 command; it will be installed from the Util-linux package.</para> 64 64 </listitem> 65 65 </varlistentry> … … 182 182 </varlistentry> 183 183 184 < varlistentry id="pwait">184 <!-- <varlistentry id="pwait"> 185 185 <term><command>pwait</command></term> 186 186 <listitem> … … 190 190 </indexterm> 191 191 </listitem> 192 </varlistentry> 192 </varlistentry> This program no longer exists; 193 it's already been removed from the Installed programs list. --> 193 194 194 195 <varlistentry id="pwdx"> -
chapter08/stripping.xml
r888103d r1e6c82b 13 13 <para>This section is optional. If the intended user is not a 14 14 programmer and does not plan to do 15 any debugging o n the system software, the systemsize can be decreased16 by about 2 GB by removing the debugging symbols and unneededsymbol table17 entries from binaries and libraries. This causes no inconvenience other18 than not being able to debug the software fully anymore.</para>15 any debugging of the system software, the system's size can be decreased 16 by some 2 GB by removing the debugging symbols, and some unnecessary symbol table 17 entries, from binaries and libraries. This causes no real inconvenience for 18 a typical Linux user.</para> 19 19 20 20 <para>Most people who use the commands mentioned below do not 21 experience any difficulties. However, it is easy to make a typoand22 render the new system unusable , so before running the21 experience any difficulties. However, it is easy to make a mistake and 22 render the new system unusable. So before running the 23 23 <command>strip</command> commands, it is a good idea to make a 24 24 backup of the LFS system in its current state.</para> 25 25 26 <para>A <command>strip</command> command with 26 <para>A <command>strip</command> command with the 27 27 <parameter>--strip-unneeded</parameter> option removes all debug symbols 28 from a binary or library. And, itremoves all symbol table entries not28 from a binary or library. It also removes all symbol table entries not 29 29 needed by the linker (for static libraries) or dynamic linker (for 30 dynamic -linked binaries and shared libraries).</para>30 dynamically linked binaries and shared libraries).</para> 31 31 32 <para>The debugging symbols f or selected libraries are placed33 in separate files. Th is debugging information is needed if running34 regression tests that use<ulink32 <para>The debugging symbols from selected libraries are preserved 33 in separate files. That debugging information is needed to run 34 regression tests with <ulink 35 35 url='&blfs-book;/general/valgrind.html'>valgrind</ulink> or <ulink 36 url='&blfs-book;/general/gdb.html'>gdb</ulink> later in BLFS.36 url='&blfs-book;/general/gdb.html'>gdb</ulink> later, in BLFS. 37 37 </para> 38 38 39 39 <para>Note that <command>strip</command> will overwrite the binary or library 40 40 file it is processing. This can crash the processes using code or data from 41 the file. If the process running <command>strip</command> i tself is42 affected, the binary or library being stripped can be destroyed andcan43 make the system completely unusable. To avoid it, we'llcopy some libraries41 the file. If the process running <command>strip</command> is 42 affected, the binary or library being stripped can be destroyed; this can 43 make the system completely unusable. To avoid this problem we copy some libraries 44 44 and binaries into <filename class="directory">/tmp</filename>, strip them 45 there, and install them backwith the <command>install</command> command.46 Read the related entry in <xref linkend="pkgmgmt-upgrade-issues"/> forthe47 rationale to use the <command>install</command> command here.</para>45 there, then reinstall them with the <command>install</command> command. 46 (The related entry in <xref linkend="pkgmgmt-upgrade-issues"/> gives the 47 rationale for using the <command>install</command> command here.)</para> 48 48 49 49 <note><para>The ELF loader's name is ld-linux-x86-64.so.2 on 64-bit systems … … 112 112 </userinput></screen> 113 113 114 <para>A large number of files will be reported as havingtheir file115 format not recognized. These warnings can be safely ignored. They116 indicate that those files are scripts instead ofbinaries.</para>114 <para>A large number of files will be flagged as errors because their file 115 format is not recognized. These warnings can be safely ignored. They 116 indicate that those files are scripts, not binaries.</para> 117 117 118 118 </sect1> -
chapter08/sysklogd.xml
r888103d r1e6c82b 24 24 <title/> 25 25 26 <para>The sysklogd package contains programs for logging system messages,27 such as those givenby the kernel when unusual things happen.</para>26 <para>The Sysklogd package contains programs for logging system messages, 27 such as those emitted by the kernel when unusual things happen.</para> 28 28 29 29 <segmentedlist> … … 42 42 <title>Installation of Sysklogd</title> 43 43 44 <para>First, fix problems that causes a segmentation fault under45 some conditions in klogdand fix an obsolete program construct:</para>44 <para>First, fix a problem that causes a segmentation fault in klogd 45 under some conditions, and fix an obsolete program construct:</para> 46 46 47 47 <screen><userinput remap="pre">sed -i '/Error loading kernel symbols/{n;n;d}' ksym_mod.c -
chapter08/systemd.xml
r888103d r1e6c82b 41 41 <title>Installation of systemd</title> 42 42 43 <!-- 44 <para>First, fix a n issue introduced by glibc-2.36.</para>43 44 <para>First, fix a security issue in systemd-coredump:</para> 45 45 46 46 <screen><userinput remap="pre">patch -Np1 -i ../&systemd-upstream-patch;</userinput></screen> 47 --> 47 48 48 49 49 <para>Remove two unneeded groups, -
chapter08/sysvinit.xml
r888103d r1e6c82b 116 116 <term><command>fstab-decode</command></term> 117 117 <listitem> 118 <para>Run a command with fstab-encoded arguments</para>118 <para>Runs a command with fstab-encoded arguments</para> 119 119 <indexterm zone="ch-system-sysvinit fstab-decode"> 120 120 <primary sortas="b-fstab-decode">fstab-decode</primary> … … 127 127 <listitem> 128 128 <para>Normally invokes <command>shutdown</command> with the 129 <parameter>-h</parameter> option, except when already in run-level 0,130 thenit tells the kernel to halt the system; it notes in the131 file <filename>/var/log/wtmp</filename> that the system is being132 broughtdown</para>129 <parameter>-h</parameter> option, but when already in run-level 0, 130 it tells the kernel to halt the system; it notes in the 131 file <filename>/var/log/wtmp</filename> that the system is 132 going down</para> 133 133 <indexterm zone="ch-system-sysvinit halt-sysv"> 134 134 <primary sortas="b-halt">halt</primary> … … 141 141 <listitem> 142 142 <para>The first process to be started when the kernel has initialized 143 the hardware whichtakes over the boot process and starts all the144 proces es specified in its configuration file</para>143 the hardware; it takes over the boot process and starts all the 144 processes specified in its configuration file</para> 145 145 <indexterm zone="ch-system-sysvinit init-sysv"> 146 146 <primary sortas="b-init">init</primary> … … 153 153 <listitem> 154 154 <para>Sends a signal to all processes, except the processes in its own 155 session soit will not kill its parent shell</para>155 session; it will not kill its parent shell</para> 156 156 <indexterm zone="ch-system-sysvinit killall5"> 157 157 <primary sortas="b-killall5">killall5</primary> -
chapter08/util-linux.xml
r888103d r1e6c82b 78 78 79 79 <para>The --disable and --without options prevent warnings about 80 building components that require packages not in LFSor are80 building components that either require packages not in LFS, or are 81 81 inconsistent with programs installed by other packages.</para> 82 82 … … 93 93 module. Building it into the kernel will prevent booting. For complete 94 94 coverage, other BLFS packages must be installed. If desired, this test can 95 be run after rebooting into the completed LFS system and running:</para>95 be run by booting into the completed LFS system and running:</para> 96 96 97 97 <screen role="nodump"><userinput>bash tests/run.sh --srcdir=$PWD --builddir=$PWD</userinput></screen> … … 126 126 chmem, choom, chrt, col, colcrt, colrm, column, ctrlaltdel, delpart, dmesg, 127 127 eject, fallocate, fdisk, fincore, findfs, findmnt, flock, fsck, 128 fsck.cramfs, fsck.minix, fsfreeze, fstrim, getopt, hexdump, hwclock, 129 i386, ionice, ipcmk, ipcrm, ipcs, irqtop, isosize, kill, last, lastb (link to 130 last), ldattach, linux32, linux64, logger, look, losetup, lsblk, lscpu, 131 lsipc, lsirq, lslocks, lslogins, lsmem, lsns, mcookie, mesg, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap, 128 fsck.cramfs, fsck.minix, fsfreeze, fstrim, getopt, hardlink, hexdump, hwclock, 129 i386 (link to setarch), ionice, ipcmk, ipcrm, ipcs, irqtop, isosize, kill, last, 130 lastb (link to last), ldattach, linux32 (link to setarch), linux64 (link to setarch), 131 logger, look, losetup, lsblk, lscpu, lsipc, lsirq, lsfd, lslocks, lslogins, 132 lsmem, lsns, mcookie, mesg, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap, 132 133 more, mount, mountpoint, namei, nsenter, partx, pivot_root, prlimit, 133 134 readprofile, rename, renice, resizepart, rev, rfkill, rtcwake, script, 134 135 scriptlive, scriptreplay, setarch, setsid, setterm, sfdisk, sulogin, swaplabel, 135 swapoff (link to swapon), swapon, switch_root, taskset, uclampset, ul,136 umount, uname26 , unshare, utmpdump, uuidd, uuidgen, uuidparse, wall, wdctl, whereis,137 w ipefs, x86_64, and zramctl</seg>136 swapoff, swapon, switch_root, taskset, uclampset, ul, 137 umount, uname26 (link to setarch), unshare, utmpdump, uuidd, uuidgen, uuidparse, 138 wall, wdctl, whereis, wipefs, x86_64 (link to setarch), and zramctl</seg> 138 139 <seg>libblkid.so, libfdisk.so, libmount.so, 139 140 libsmartcols.so, and libuuid.so</seg> … … 198 199 <term><command>blkzone</command></term> 199 200 <listitem> 200 <para> Runs zone command on the given block device</para>201 <para>Is used to manage zoned storage block devices</para> 201 202 <indexterm zone="ch-system-util-linux blkzone"> 202 203 <primary sortas="b-blkzone">blkzone</primary> … … 259 260 <term><command>choom</command></term> 260 261 <listitem> 261 <para>Displays and adjusts OOM-killer score</para> 262 <para>Displays and adjusts OOM-killer scores, used to determine 263 which process to kill first when Linux is Out Of Memory</para> 262 264 <indexterm zone="ch-system-util-linux choom"> 263 265 <primary sortas="b-choom">choom</primary> … … 391 393 <term><command>findfs</command></term> 392 394 <listitem> 393 <para>Finds a file system by label or Universally Unique Identifier395 <para>Finds a file system, either by label or Universally Unique Identifier 394 396 (UUID)</para> 395 397 <indexterm zone="ch-system-util-linux findfs"> … … 403 405 <listitem> 404 406 <para>Is a command line interface to the libmount library 405 for work with mountinfo, fstab and mtab files</para>407 for working with mountinfo, fstab and mtab files</para> 406 408 <indexterm zone="ch-system-util-linux findmnt"> 407 409 <primary sortas="b-findmnt">findmnt</primary> … … 483 485 </listitem> 484 486 </varlistentry> 487 488 <varlistentry id="hardlink"> 489 <term><command>hardlink</command></term> 490 <listitem> 491 <para>Consolidates duplicate files by creating hard links</para> 492 <indexterm zone="ch-system-util-linux hardlink"> 493 <primary sortas="b-hardlink">hardlink</primary> 494 </indexterm> 495 </listitem> 496 </varlistentry> 485 497 486 498 <varlistentry id="hexdump"> 487 499 <term><command>hexdump</command></term> 488 500 <listitem> 489 <para>Dumps the given file in hexadecimal or in another given490 format</para>501 <para>Dumps the given file in hexadecimal, decimal, octal, 502 or ascii</para> 491 503 <indexterm zone="ch-system-util-linux hexdump"> 492 504 <primary sortas="b-hexdump">hexdump</primary> … … 691 703 </listitem> 692 704 </varlistentry> 705 706 <varlistentry id="lsfd"> 707 <term><command>lsfd</command></term> 708 <listitem> 709 <para>Displays information about open files; replaces <command>lsof</command></para> 710 <indexterm zone="ch-system-util-linux lsfd"> 711 <primary sortas="b-lsfd">lsfd</primary> 712 </indexterm> 713 </listitem> 714 </varlistentry> 693 715 694 716 <varlistentry id="lsipc"> … … 862 884 <term><command>namei</command></term> 863 885 <listitem> 864 <para>Shows the symbolic links in the given path names</para>886 <para>Shows the symbolic links in the given paths</para> 865 887 <indexterm zone="ch-system-util-linux namei"> 866 888 <primary sortas="b-namei">namei</primary> … … 904 926 <term><command>prlimit</command></term> 905 927 <listitem> 906 <para>Get and set a process'resource limits</para>928 <para>Gets and sets a process's resource limits</para> 907 929 <indexterm zone="ch-system-util-linux prlimit"> 908 930 <primary sortas="b-prlimit">prlimit</primary> … … 975 997 <term><command>rtcwake</command></term> 976 998 <listitem> 977 <para>Used to enter a system sleep state until specified wakeup999 <para>Used to enter a system sleep state until the specified wakeup 978 1000 time</para> 979 1001 <indexterm zone="ch-system-util-linux rtcwake"> … … 996 1018 <term><command>scriptlive</command></term> 997 1019 <listitem> 998 <para>Re-run session typescripts using timing information</para>1020 <para>Re-runs session typescripts using timing information</para> 999 1021 <indexterm zone="ch-system-util-linux scriptlive"> 1000 1022 <primary sortas="b-scriptlive">scriptlive</primary> … … 1016 1038 <term><command>setarch</command></term> 1017 1039 <listitem> 1018 <para>Changes reported architecture in a new program environment and1040 <para>Changes reported architecture in a new program environment, and 1019 1041 sets personality flags</para> 1020 1042 <indexterm zone="ch-system-util-linux setarch"> … … 1069 1091 <term><command>swaplabel</command></term> 1070 1092 <listitem> 1071 <para> Allows to change swapareaUUID and label</para>1093 <para>Makes changes to the swap area's UUID and label</para> 1072 1094 <indexterm zone="ch-system-util-linux swaplabel"> 1073 1095 <primary sortas="b-swaplabel">swaplabel</primary> … … 1089 1111 <term><command>swapon</command></term> 1090 1112 <listitem> 1091 <para>Enables devices and files for paging and swapping and1113 <para>Enables devices and files for paging and swapping, and 1092 1114 lists the devices and files currently in use</para> 1093 1115 <indexterm zone="ch-system-util-linux swapon"> … … 1110 1132 <term><command>taskset</command></term> 1111 1133 <listitem> 1112 <para>Retrieves or sets a process' CPU affinity</para>1134 <para>Retrieves or sets a process's CPU affinity</para> 1113 1135 <indexterm zone="ch-system-util-linux taskset"> 1114 1136 <primary sortas="b-taskset">taskset</primary> … … 1120 1142 <term><command>uclampset</command></term> 1121 1143 <listitem> 1122 <para>Manipulate the utilization clamping attributes of the1144 <para>Manipulates the utilization clamping attributes of the 1123 1145 system or a process</para> 1124 1146 <indexterm zone="ch-system-util-linux uclampset"> … … 1172 1194 <term><command>utmpdump</command></term> 1173 1195 <listitem> 1174 <para>Displays the content of the given login file in a more1196 <para>Displays the content of the given login file in a 1175 1197 user-friendly format</para> 1176 1198 <indexterm zone="ch-system-util-linux utmpdump"> … … 1194 1216 <term><command>uuidgen</command></term> 1195 1217 <listitem> 1196 <para>Creates new UUIDs. Each new UUID can reasonably be considered1218 <para>Creates new UUIDs. Each new UUID is a random number likely to be 1197 1219 unique among all UUIDs created, on the local system and on other 1198 systems, in the past and in the future</para> 1220 systems, in the past and in the future, with extremely high 1221 probability (~340 trillion trillion trillion unique UUIDs are possible)</para> 1199 1222 <indexterm zone="ch-system-util-linux uuidgen"> 1200 1223 <primary sortas="b-uuidgen">uuidgen</primary> … … 1206 1229 <term><command>uuidparse</command></term> 1207 1230 <listitem> 1208 <para>A nutility to parse unique identifiers</para>1231 <para>A utility to parse unique identifiers</para> 1209 1232 <indexterm zone="ch-system-util-linux uuidparse"> 1210 1233 <primary sortas="b-uuidparse">uuidparse</primary> … … 1238 1261 <listitem> 1239 1262 <para>Reports the location of the binary, source, and man page 1240 f or the given command</para>1263 files for the given command</para> 1241 1264 <indexterm zone="ch-system-util-linux whereis"> 1242 1265 <primary sortas="b-whereis">whereis</primary> -
chapter09/bootscripts.xml
r888103d r1e6c82b 75 75 <listitem> 76 76 <para>Checks the integrity of the file systems before they are mounted 77 (with the exception of journal and networkbased file systems)</para>77 (with the exception of journaling and network-based file systems)</para> 78 78 <indexterm zone="ch-config-bootscripts checkfs-bootscripts"> 79 79 <primary sortas="d-checkfs">checkfs</primary> … … 174 174 <term><command>mountfs</command></term> 175 175 <listitem> 176 <para>Mounts all file systems, except onesthat are marked177 <emphasis>noauto</emphasis> or are network based</para>176 <para>Mounts all file systems, except those that are marked 177 <emphasis>noauto</emphasis>, or are network based</para> 178 178 <indexterm zone="ch-config-bootscripts mountfs-bootscripts"> 179 179 <primary sortas="d-mountfs">mountfs</primary> … … 209 209 <para>The master run-level control script; it is responsible for 210 210 running all the other bootscripts one-by-one, in a sequence determined 211 by the name of the symbolic links being processed</para>211 by the names of the symbolic links to those other bootscripts</para> 212 212 <indexterm zone="ch-config-bootscripts rc-bootscripts"> 213 213 <primary sortas="d-rc">rc</primary> … … 240 240 <term><command>setclock</command></term> 241 241 <listitem> 242 <para>Resets the kernel clock to local time in casethe hardware clock243 is not set to UTC time</para>242 <para>Resets the system clock to local time if the hardware clock 243 is not set to UTC</para> 244 244 <indexterm zone="ch-config-bootscripts setclock-bootscripts"> 245 245 <primary sortas="d-setclock">setclock</primary> … … 306 306 <listitem> 307 307 <para>Prepares the <filename class="directory">/dev</filename> 308 directory and starts Udev</para>308 directory and starts the udev daemon</para> 309 309 <indexterm zone="ch-config-bootscripts udev-bootscripts"> 310 310 <primary sortas="d-udev">udev</primary> -
chapter09/introduction.xml
r888103d r1e6c82b 12 12 13 13 <para>Booting a Linux system involves several tasks. The process must 14 mount both virtual and real file systems, initialize devices, activate swap,15 check file systems for integrity, mount an y swap partitions or files, set14 mount both virtual and real file systems, initialize devices, 15 check file systems for integrity, mount and activate any swap partitions or files, set 16 16 the system clock, bring up networking, start any daemons required by the 17 system, and accomplish any other custom tasks needed by the user. This17 system, and accomplish any other custom tasks specified by the user. This 18 18 process must be organized to ensure the tasks are performed in the correct 19 order but, at the same time, be executed as fastas possible.</para>19 order and executed as quickly as possible.</para> 20 20 21 21 <sect2 id='sysv-desc'> … … 24 24 <para>System V is the classic boot process that has been used in Unix and 25 25 Unix-like systems such as Linux since about 1983. It consists of a small 26 program, <command>init</command>, that sets up basic pro grams such as26 program, <command>init</command>, that sets up basic processes such as 27 27 <command>login</command> (via getty) and runs a script. This script, 28 28 usually named <command>rc</command>, controls the execution of a set of … … 32 32 <para>The <command>init</command> program is controlled by the 33 33 <filename>/etc/inittab</filename> file and is organized into run levels that 34 can be run by the user. In LFS, they are used as follows:</para>34 can be chosen by the user. In LFS, they are used as follows:</para> 35 35 36 36 <literallayout>0 — halt … … 71 71 <listitem> 72 72 <para>Serial processing of boot tasks. This is related to the previous 73 point. A delay in any process such as a file system check, will73 point. A delay in any process, such as a file system check, will 74 74 delay the entire boot process.</para> 75 75 </listitem> … … 77 77 <listitem> 78 78 <para>Does not directly support advanced features like 79 control groups (cgroups) ,and per-user fair share scheduling.</para>79 control groups (cgroups) and per-user fair share scheduling.</para> 80 80 </listitem> 81 81 -
chapter09/network.xml
r888103d r1e6c82b 18 18 <title>Creating Network Interface Configuration Files</title> 19 19 20 <para> Which interfaces are brought up and down by the network script21 usually de pends on the files in <filename22 class="directory">/etc/sysconfig/</filename>. This directory should20 <para>The files in <filename class="directory">/etc/sysconfig/</filename> 21 usually determine which interfaces are brought up and down by the network 22 script. This directory should 23 23 contain a file for each interface to be configured, such as 24 <filename>ifconfig.xyz</filename>, where <quote>xyz</quote> should describe24 <filename>ifconfig.xyz</filename>, where <quote>xyz</quote> describes 25 25 the network card. The interface name (e.g. eth0) is usually appropriate. 26 Inside this file are attributes to thisinterface, such as its IP27 address(es), subnet masks, and so forth. It is necessary that the stem of28 the filename be <emphasis>ifconfig</emphasis>.</para>26 Each file contains the attributes of one interface, such as its IP 27 address(es), subnet masks, and so forth. The stem of 28 the filename must be <emphasis>ifconfig</emphasis>.</para> 29 29 30 30 <note> … … 39 39 configuration of the udev daemon running on the system. The udev 40 40 daemon for LFS (installed in <xref linkend="ch-system-eudev"/>) will 41 not run until the LFS system is booted. So it's unreliable to42 determine the interface names being used in LFS systemby running41 not run until the LFS system is booted. So the interface names 42 in the LFS system cannot always be determined by running 43 43 those commands on the host distro, 44 <emphasis>even thoughin the chroot environment</emphasis>.</para>44 <emphasis>even in the chroot environment</emphasis>.</para> 45 45 </note> 46 46 … … 60 60 EOF</userinput></screen> 61 61 62 <para>The values in italics must be changed in e very file to match63 the proper setup.</para>62 <para>The values in italics must be changed in each file, to set 63 the interfaces up correctly.</para> 64 64 65 65 <para>If the <envar>ONBOOT</envar> variable is set to <quote>yes</quote> the 66 66 System V network script will bring up the Network Interface Card (NIC) during 67 the system boot process. If set to anything b ut <quote>yes</quote>the NIC68 will be ignored by the network script and not be automatically brought up.69 The interfacecan be manually started or stopped with the67 the system boot process. If set to anything besides <quote>yes</quote>, the NIC 68 will be ignored by the network script and will not be started automatically. 69 Interfaces can be manually started or stopped with the 70 70 <command>ifup</command> and <command>ifdown</command> commands.</para> 71 71 … … 85 85 variable entirely.</para> 86 86 87 <para>The <envar>PREFIX</envar> variable contains the number of88 bits used in the subnet. Each octet inan IP address is 8 bits. If the89 subnet's netmask is 255.255.255.0, then it is using the first three octets87 <para>The <envar>PREFIX</envar> variable specifies the number of 88 bits used in the subnet. Each segment of an IP address is 8 bits. If the 89 subnet's netmask is 255.255.255.0, then it is using the first three segments 90 90 (24 bits) to specify the network number. If the netmask is 255.255.255.240, 91 it would beusing the first 28 bits. Prefixes longer than 24 bits are91 the subnet is using the first 28 bits. Prefixes longer than 24 bits are 92 92 commonly used by DSL and cable-based Internet Service Providers (ISPs). 93 93 In this example (PREFIX=24), the netmask is 255.255.255.0. Adjust the … … 140 140 141 141 <sect2 id="ch-config-hostname"> 142 <title>Configuring the system hostname</title>142 <title>Configuring the System Hostname</title> 143 143 144 144 <indexterm zone="ch-config-hostname"> … … 157 157 <para><replaceable><lfs></replaceable> needs to be replaced with the 158 158 name given to the computer. Do not enter the Fully Qualified Domain Name 159 (FQDN) here. That information is putin the159 (FQDN) here. That information goes in the 160 160 <filename>/etc/hosts</filename> file.</para> 161 161 -
chapter09/symlinks.xml
r888103d r1e6c82b 18 18 data or physical characteristics like the bus, slot, or MAC address. The 19 19 purpose of this naming convention is to ensure that network devices are 20 named consistently and not based on the time the network card was 21 discovered. For example, on a computer having two network cards made by 22 Intel and Realtek, the network card manufactured by Intel may become eth0 23 and the Realtek card becomes eth1. In some cases, after a reboot the cards 24 could get renumbered the other way around.</para> 25 26 <para>In the new naming scheme, typical network device names would then 27 be something like enp5s0 or wlp3s0. If this naming convention is not 28 desired, the traditional naming scheme or a custom scheme can be 20 named consistently, not based on when the network card was 21 discovered. In older versions of Linux—on a computer with two 22 network cards made by Intel and Realtek, for instance—the 23 network card manufactured by Intel might have become eth0 24 while the Realtek card became eth1. After a reboot, the cards 25 would sometimes get renumbered the other way around.</para> 26 27 <para>In the new naming scheme, typical network device names are 28 something like enp5s0 or wlp3s0. If this naming convention is not 29 desired, the traditional naming scheme, or a custom scheme, can be 29 30 implemented.</para> 30 31 … … 32 33 <title>Disabling Persistent Naming on the Kernel Command Line</title> 33 34 34 <para>The traditional naming scheme using eth0, eth1, etc can be35 <para>The traditional naming scheme using eth0, eth1, etc. can be 35 36 restored by adding <userinput>net.ifnames=0</userinput> on the 36 kernel command line. This is most appropriate for thosesystems37 that have only one ethernet device of the sametype. Laptops38 often have multiple ethernet connections that arenamed eth0 and39 wlan0 and are also candidates forthis method. The command line40 is passedin the GRUB configuration file.37 kernel command line. This is most appropriate for systems 38 that have just one ethernet device of a particular type. Laptops 39 often have two ethernet connections named eth0 and 40 wlan0; such laptops can also use this method. The command line 41 is in the GRUB configuration file. 41 42 See <xref linkend="grub-cfg"/>.</para> 42 43 </sect3> … … 57 58 <screen role="nodump"><userinput>cat /etc/udev/rules.d/70-persistent-net.rules</userinput></screen> 58 59 59 <note><para>In some cases such as when MAC addresses have been assigned to60 a network card manually or in a virtual environment such as Qemu or Xen,61 the network rules file may not have beengenerated because addresses60 <note><para>In some cases, such as when MAC addresses have been assigned to 61 a network card manually, or in a virtual environment such as Qemu or Xen, 62 the network rules file may not be generated because addresses 62 63 are not consistently assigned. In these cases, this method cannot 63 64 be used.</para></note> 64 65 65 <para>The file begins with a comment block followed by two lines for each66 <para>The file begins with a comment block, followed by two lines for each 66 67 NIC. The first line for each NIC is a commented description showing its 67 68 hardware IDs (e.g. its PCI vendor and device IDs, if it's a PCI card), 68 along with its driver in parentheses, if the driver can be found. Neither69 along with its driver (in parentheses, if the driver can be found). Neither 69 70 the hardware ID nor the driver is used to determine which name to give an 70 71 interface; this information is only for reference. The second line is the 71 72 udev rule that matches this NIC and actually assigns it a name.</para> 72 73 73 <para>All udev rules are made up of several keys, separated by commas and 74 optional whitespace. This rule's keys and an explanation of each of them 75 are as follows:</para> 74 <para>All udev rules are made up of several keywords, separated by commas and 75 optional whitespace. Here are the keywords, and an explanation of each one:</para> 76 76 77 77 <itemizedlist> … … 89 89 ignore VLAN or bridge sub-interfaces (because these sub-interfaces do 90 90 not have drivers). These sub-interfaces are skipped because the name 91 that would be assigned would collide with the irparent devices.</para>92 </listitem> 93 <listitem> 94 <para><literal>ATTR{address}</literal> - The value of this key is the91 that would be assigned would collide with the parent devices.</para> 92 </listitem> 93 <listitem> 94 <para><literal>ATTR{address}</literal> - The value of this keyword is the 95 95 NIC's MAC address.</para> 96 96 </listitem> … … 103 103 </listitem> 104 104 <listitem> 105 <para><literal>NAME</literal> - The value of this key is the name that105 <para><literal>NAME</literal> - The value of this keyword is the name that 106 106 udev will assign to this interface.</para> 107 107 </listitem> … … 111 111 you know which name has been assigned to each of your network cards before 112 112 proceeding, and be sure to use that <literal>NAME</literal> value when 113 creating your configuration files below.</para>113 creating your network configuration files.</para> 114 114 115 115 </sect3> … … 119 119 <sect2 revision="sysv"> 120 120 121 <title>CD-ROM symlinks</title>121 <title>CD-ROM Symlinks</title> 122 122 123 123 <para>Some software that you may want to install later (e.g., various 124 media players) expect the <filename class="symlink">/dev/cdrom</filename>124 media players) expects the <filename class="symlink">/dev/cdrom</filename> 125 125 and <filename class="symlink">/dev/dvd</filename> symlinks to exist, and 126 126 to point to a CD-ROM or DVD-ROM device. Also, it may be convenient to put … … 140 140 on which type of device you have.</para> 141 141 142 <para>There are advantages to each approach; the correct approach to use143 will dependon what kinds of device changes may happen. If you expect the142 <para>There are advantages to each approach; the correct approach 143 depends on what kinds of device changes may happen. If you expect the 144 144 physical path to the device (that is, the ports and/or slots that it plugs 145 145 into) to change, for example because you plan on moving the drive to a 146 146 different IDE port or a different USB connector, then you should use the 147 147 <quote>by-id</quote> mode. On the other hand, if you expect the device's 148 identification to change, for example because it may die, and you would149 replace it with a different device with the same capabilities and which150 is pluggedinto the same connectors, then you should use the148 identification to change, for example because it may die, and you intend 149 to replace it with a different device that 150 plugs into the same connectors, then you should use the 151 151 <quote>by-path</quote> mode.</para> 152 152 … … 199 199 the same device. If you need that, then inspect (and possibly edit) the 200 200 generated <filename>/etc/udev/rules.d/70-persistent-cd.rules</filename> 201 file after booting, to make sure the assigned symlinks match what you need.</para>201 file after booting, to make sure the assigned symlinks match your needs.</para> 202 202 203 203 </sect2> … … 205 205 <sect2> 206 206 207 <title>Dealing with duplicate devices</title>207 <title>Dealing with Duplicate Devices</title> 208 208 209 209 <para>As explained in <xref linkend="ch-config-udev"/>, the order in … … 215 215 after a reboot the order changes. 216 216 For all classes of hardware except sound cards and network cards, this is 217 fixable by creating udev rules for custompersistent symlinks.217 fixable by creating udev rules to create persistent symlinks. 218 218 The case of network cards is covered separately in 219 219 <xref linkend="ch-config-network"/>, and sound card configuration can -
chapter09/udev.xml
r888103d r1e6c82b 17 17 18 18 <para>In <xref linkend="chapter-building-system"/>, we installed the udev 19 packagewhen <phrase revision="sysv">eudev</phrase>19 daemon when <phrase revision="sysv">eudev</phrase> 20 20 <phrase revision="systemd">systemd</phrase> was built. Before we go into the 21 details regarding how thisworks, a brief history of previous methods of21 details regarding how udev works, a brief history of previous methods of 22 22 handling devices is in order.</para> 23 23 … … 26 26 class="directory">/dev</filename> (sometimes literally thousands of nodes), 27 27 regardless of whether the corresponding hardware devices actually existed. This 28 was typically done via a <command>MAKEDEV</command> script, which contain sa28 was typically done via a <command>MAKEDEV</command> script, which contained a 29 29 number of calls to the <command>mknod</command> program with the relevant 30 30 major and minor device numbers for every possible device that might exist in 31 31 the world.</para> 32 32 33 <para>Using the udev method, only those devices which are detected by the34 kernel get device nodes created for them. Because these device nodes will be35 created each time the system boots , they will be stored on a <systemitem33 <para>Using the udev method, device nodes are only created for those devices 34 which are detected by the kernel. These device nodes are 35 created each time the system boots; they are stored in a <systemitem 36 36 class="filesystem">devtmpfs</systemitem> file system (a virtual file system 37 37 that resides entirely in system memory). Device nodes do not require much … … 52 52 detection, creation, and naming. The latter issue, that of device node 53 53 naming, was perhaps the most critical. It is generally accepted that if 54 device names are allowed to be configurable, thenthe device naming policy55 should be up to a system administrator, not imposed on them by any56 particulardeveloper(s). The <systemitem54 device names are configurable, the device naming policy 55 should be chosen by system administrators, and not imposed on them by the 56 developer(s). The <systemitem 57 57 class="filesystem">devfs</systemitem> file system also suffered from race 58 conditions that were inherent in its design and could not be fixed without a 59 substantial revision to the kernel. It was marked as deprecated for a long 60 period – due to a lack of maintenance – and was finally removed 58 conditions that were inherent in its design; these could not be fixed without a 59 substantial revision of the kernel. <systemitem class="filesystem">devfs</systemitem> 60 was marked as deprecated for a long 61 time, and was finally removed 61 62 from the kernel in June, 2006.</para> 62 63 … … 64 65 as the 2.6 series of stable kernels, a new virtual filesystem called 65 66 <systemitem class="filesystem">sysfs</systemitem> came to be. The job of 66 <systemitem class="filesystem">sysfs</systemitem> is to export a view of67 <systemitem class="filesystem">sysfs</systemitem> is to provide information about 67 68 the system's hardware configuration to userspace processes. With this 68 userspace-visible representation, the possibility of developing a userspace 69 replacement for <systemitem class="filesystem">devfs</systemitem> became 70 much more realistic.</para> 69 userspace-visible representation, it became possible to develop a userspace 70 replacement for <systemitem class="filesystem">devfs</systemitem>.</para> 71 71 72 72 </sect2> … … 82 82 class="filesystem">sysfs</systemitem> knows about the devices present on 83 83 a system and what device numbers should be used for them. Drivers that 84 have been compiled into the kernel directly register their objects with a84 have been compiled into the kernel register their objects in 85 85 <systemitem class="filesystem">sysfs</systemitem> (devtmpfs internally) 86 as they are detected by the kernel. For drivers compiled as modules, this 87 registration will happen when the module is loaded. Once the <systemitem 88 class="filesystem">sysfs</systemitem> filesystem is mounted (on /sys), 89 data which the drivers register with <systemitem 86 as they are detected by the kernel. For drivers compiled as modules, 87 registration happens when the module is loaded. Once the <systemitem 88 class="filesystem">sysfs</systemitem> filesystem is mounted (on 89 <filename class="directory">/sys</filename>), 90 data which the drivers have registered with <systemitem 90 91 class="filesystem">sysfs</systemitem> are available to userspace 91 92 processes and to udevd for processing (including modifications to device … … 97 98 <title>Device Node Creation</title> 98 99 99 <para>Device files are created by the kernel bythe <systemitem100 class="filesystem">devtmpfs</systemitem> file system. Any driver that101 wishes to register a device node will go throughthe <systemitem100 <para>Device files are created by the kernel in the <systemitem 101 class="filesystem">devtmpfs</systemitem> file system. Any driver that 102 wishes to register a device node will use the <systemitem 102 103 class="filesystem">devtmpfs</systemitem> (via the driver core) to do it. 103 104 When a <systemitem class="filesystem">devtmpfs</systemitem> instance is 104 105 mounted on <filename class="directory">/dev</filename>, the device node 105 will initially be createdwith a fixed name, permissions, and106 will initially be exposed to userspace with a fixed name, permissions, and 106 107 owner.</para> 107 108 … … 173 174 174 175 <sect3> 175 <title>A kernel module is not loaded automatically</title>176 <title>A Kernel Module Is Not Loaded Automatically</title> 176 177 177 178 <para>Udev will only load a module if it has a bus-specific alias and the … … 207 208 208 209 <sect3> 209 <title>A kernel module is not loaded automatically, and udev is not210 intended to load it</title>210 <title>A Kernel Module Is Not Loaded Automatically, and Udev Is Not 211 Intended to Load It</title> 211 212 212 213 <para>If the <quote>wrapper</quote> module only enhances the … … 237 238 238 239 <sect3> 239 <title>Udev loads some unwanted module</title>240 <title>Udev Loads Some Unwanted Module</title> 240 241 241 242 <para>Either don't build the module, or blacklist it in a … … 251 252 252 253 <sect3> 253 <title>Udev creates a device incorrectly, or makes a wrong symlink</title>254 <title>Udev Creates a Device Incorrectly, or Makes the Wrong Symlink</title> 254 255 255 256 <para>This usually happens if a rule unexpectedly matches a device. For … … 262 263 263 264 <sect3> 264 <title>Udev rule works unreliably</title>265 <title>Udev Rule Works Unreliably</title> 265 266 266 267 <para>This may be another manifestation of the previous problem. If not, … … 276 277 277 278 <sect3> 278 <title>Udev does not create a device</title>279 280 <para>F urther text assumes that the driver is built staticallyinto the281 kernel or already loaded as a module, and that you have already checked282 that udev doesn't createa misnamed device.</para>283 284 <para> Udev has no information needed to create a device node if a kernel285 driver does not export its data to286 <systemitem class="filesystem">sysfs</systemitem>. This is most common279 <title>Udev Does Not Create a Device</title> 280 281 <para>First, be certain that the driver is built into the 282 kernel or already loaded as a module, and that 283 udev isn't creating a misnamed device.</para> 284 285 <para>If a kernel driver does not export its data to 286 <systemitem class="filesystem">sysfs</systemitem>, udev lacks the 287 information needed to create a device node. This is most likely to happen 287 288 with third party drivers from outside the kernel tree. Create a static 288 289 device node in <filename>/usr/lib/udev/devices</filename> with the … … 296 297 297 298 <sect3> 298 <title>Device naming order changes randomly after rebooting</title>299 <title>Device Naming Order Changes Randomly After Rebooting</title> 299 300 300 301 <para>This is due to the fact that udev, by design, handles uevents and -
chapter09/usage.xml
r888103d r1e6c82b 20 20 <title>How Do the System V Bootscripts Work?</title> 21 21 22 <para>Linux uses a special booting facility named SysVinit that is based on a 23 concept of <emphasis>run-levels</emphasis>. It can be quite different from one 24 system to another, so it cannot be assumed that because things worked in one 25 particular Linux distribution, they should work the same in LFS too. LFS has its 26 own way of doing things, but it respects generally accepted standards.</para> 22 <para>This version of LFS uses a special booting facility named SysVinit, based on a 23 series of <emphasis>run levels</emphasis>. The boot procedure can be quite different from one 24 system to another; the fact that things worked one way in a particular Linux 25 distribution does not guarantee they will work the same way in LFS. LFS has its 26 own way of doing things, but it does respect generally accepted standards.</para> 27 28 <para>There is an alternative boot procedure called <command>systemd</command>. We will 29 not discuss that boot process any further here. For a detailed description visit 30 <ulink url="https://www.linux.com/training-tutorials/understanding-and-using-systemd/"/>.</para> 27 31 28 32 <para>SysVinit (which will be referred to as <quote>init</quote> from now on) 29 works using a run-levels scheme. There are seven (numbered 0 to 6) run-levels30 ( actually, there are more run-levels, but theyare for special cases and are31 generally not used. See <filename>init(8)</filename> for more details ), and32 each one of those corresponds to theactions the computer is supposed to33 perform when it starts up . The default run-level is 3. Here are the34 descriptions of the different run -levels as they are implemented in LFS:</para>33 uses a run levels scheme. There are seven run levels, numbered 0 to 6. 34 (Actually, there are more run levels, but the others are for special cases and are 35 generally not used. See <filename>init(8)</filename> for more details.) 36 Each one of the seven corresponds to actions the computer is supposed to 37 perform when it starts up or shuts down. The default run level is 3. Here are the 38 descriptions of the different run levels as they are implemented in LFS:</para> 35 39 36 40 <literallayout>0: halt the computer 37 41 1: single-user mode 38 2: reserved for customization, otherwise doesthe same as 342 2: reserved for customization, otherwise the same as 3 39 43 3: multi-user mode with networking 40 4: reserved for customization, otherwise doesthe same as 344 4: reserved for customization, otherwise the same as 3 41 45 5: same as 4, it is usually used for GUI login (like GNOME's <command>gdm</command> or LXDE's <command>lxdm</command>) 42 46 6: reboot the computer</literallayout> … … 46 50 Classically, run level 2 above was defined as 47 51 "multi-user mode without networking", but this was only the case 48 many years ago when multiple users could log into a system connectedvia49 serial ports. In today's environment it makes no sense and50 we designate it now as "reserved".52 many years ago when multiple users could connect to a system via 53 serial ports. In today's environment it makes no sense, and 54 we now say it is "reserved". 51 55 </para> 52 56 </note> … … 66 70 </indexterm> 67 71 68 <para>During thekernel initialization, the first program that is run69 is either specified on the command line or, by default72 <para>During kernel initialization, the first program that is run 73 (if not overridden on the command line) is 70 74 <command>init</command>. This program reads the initialization file 71 75 <filename>/etc/inittab</filename>. Create this file with:</para> … … 102 106 103 107 <para>An explanation of this initialization file is in the man page for 104 <emphasis>inittab</emphasis>. For LFS, the key command that is runis105 <command>rc</command>. The initialization file above will instruct108 <emphasis>inittab</emphasis>. In LFS, the key command is 109 <command>rc</command>. The initialization file above instructs 106 110 <command>rc</command> to run all the scripts starting with an S in the 107 111 <filename class="directory">/etc/rc.d/rcS.d</filename> directory … … 114 118 This library also reads an optional configuration file, 115 119 <filename>/etc/sysconfig/rc.site</filename>. Any of the system 116 configuration fileparameters described in subsequent sections can be117 alternatively placed in this fileallowing consolidation of all system120 configuration parameters described in subsequent sections can be 121 placed in this file, allowing consolidation of all system 118 122 parameters in this one file.</para> 119 123 … … 121 125 to <filename>/run/var/bootlog</filename>. Since the <filename 122 126 class="directory">/run</filename> directory is a tmpfs, this file is not 123 persistent across boots , howeverit is appended to the more permanent file127 persistent across boots; however, it is appended to the more permanent file 124 128 <filename>/var/log/boot.log</filename> at the end of the boot process.</para> 125 129 … … 127 131 <title>Changing Run Levels</title> 128 132 129 <para>Changing run -levels is done with <command>init133 <para>Changing run levels is done with <command>init 130 134 <replaceable><runlevel></replaceable></command>, where 131 <replaceable><runlevel></replaceable> is the target run -level. For example, to135 <replaceable><runlevel></replaceable> is the target run level. For example, to 132 136 reboot the computer, a user could issue the <command>init 6</command> command, 133 137 which is an alias for the <command>reboot</command> command. Likewise, … … 137 141 <para>There are a number of directories under <filename 138 142 class="directory">/etc/rc.d</filename> that look like <filename 139 class="directory">rc?.d</filename> (where ? is the number of the run -level) and143 class="directory">rc?.d</filename> (where ? is the number of the run level) and 140 144 <filename class="directory">rcS.d</filename>, all containing a number of 141 symbolic links. Some begin with a <emphasis>K</emphasis>,the others begin with145 symbolic links. Some links begin with a <emphasis>K</emphasis>; the others begin with 142 146 an <emphasis>S</emphasis>, and all of them have two numbers following the 143 147 initial letter. The K means to stop (kill) a service and the S means to start a 144 148 service. The numbers determine the order in which the scripts are run, from 00 145 to 99—the lower the number the earlier it gets executed. When146 <command>init</command> switches to another run -level, the appropriate services147 are either started or stopped, depending on the run level chosen.</para>149 to 99—the smaller the number, the sooner tht script runs. When 150 <command>init</command> switches to another run level, the appropriate services 151 are either started or stopped, depending on the run level chosen.</para> 148 152 149 153 <para>The real scripts are in <filename … … 228 232 <para>The <filename>/etc/rc.d/init.d/udev</filename> initscript starts 229 233 <command>udevd</command>, triggers any "coldplug" devices that have 230 already been created by the kernel and waits for any rules to complete.234 already been created by the kernel, and waits for any rules to complete. 231 235 The script also unsets the uevent handler from the default of 232 236 <filename>/sbin/hotplug </filename>. This is done because the kernel no 233 longer needs to call out to an external binary. Instead237 longer needs to call an external binary. Instead, 234 238 <command>udevd</command> will listen on a netlink socket for uevents that 235 239 the kernel raises.</para> 236 240 237 <para>The <command>/etc/rc.d/init.d/udev_retry</command> initscript takes241 <para>The <command>/etc/rc.d/init.d/udev_retry</command> script takes 238 242 care of re-triggering events for subsystems whose rules may rely on 239 file systems that are not mounted until the <command>mountfs</command>243 file systems that are not mounted until the <command>mountfs</command> 240 244 script is run (in particular, <filename class="directory">/usr</filename> 241 245 and <filename class="directory">/var</filename> may cause this). This 242 246 script runs after the <command>mountfs</command> script, so those rules 243 247 (if re-triggered) should succeed the second time around. It is 244 configured fromthe <filename>/etc/sysconfig/udev_retry</filename> file;248 configured by the <filename>/etc/sysconfig/udev_retry</filename> file; 245 249 any words in this file other than comments are considered subsystem names 246 250 to trigger at retry time. To find the subsystem of a device, use 247 251 <command>udevadm info --attribute-walk <device></command> where 248 <device> is an absolute path in /dev or /sys such as /dev/sr0or252 <device> is an absolute path in /dev or /sys, such as /dev/sr0, or 249 253 /sys/class/rtc.</para> 250 254 … … 261 265 262 266 <para>The <command>setclock</command> script reads the time from the hardware 263 clock, also known as the BIOS or theComplementary Metal Oxide Semiconductor267 clock, also known as the BIOS or Complementary Metal Oxide Semiconductor 264 268 (CMOS) clock. If the hardware clock is set to UTC, this script will convert the 265 269 hardware clock's time to the local time using the 266 270 <filename>/etc/localtime</filename> file (which tells the 267 <command>hwclock</command> program which time zone to use). There is no271 <command>hwclock</command> program which time zone to use). There is no 268 272 way to detect whether or not the hardware clock is set to UTC, so this 269 needs tobe configured manually.</para>273 must be configured manually.</para> 270 274 271 275 <para>The <command>setclock</command> program is run via … … 280 284 set to local time. If the output from <command>hwclock</command> is not local 281 285 time, chances are it is set to UTC time. Verify this by adding or subtracting 282 the proper amount of hours for the timezone to the time shown by286 the proper number of hours for your time zone to the time shown by 283 287 <command>hwclock</command>. For example, if you are currently in the MST 284 time zone, which is also known as GMT -0700, add seven hours to the local288 time zone, which is also known as GMT -0700, add seven hours to the local 285 289 time.</para> 286 290 … … 326 330 bootscript that sets up the keyboard map, console font, and console kernel log 327 331 level. If non-ASCII characters (e.g., the copyright sign, the British pound 328 sign andEuro symbol) will not be used and the keyboard is a U.S. one, much332 sign, and the Euro symbol) will not be used and the keyboard is a U.S. one, much 329 333 of this section can be skipped. Without the configuration file, (or 330 334 equivalent settings in <filename>rc.site</filename>), the … … 334 338 <filename>/etc/sysconfig/console</filename> file for configuration 335 339 information. Decide which keymap and screen font will be used. Various 336 language-specific HOWTOs can also help with this ,see <ulink340 language-specific HOWTOs can also help with this; see <ulink 337 341 url="https://tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. If still in 338 342 doubt, look in the <filename class="directory">/usr/share/keymaps</filename> 339 343 and <filename class="directory">/usr/share/consolefonts</filename> directories 340 for valid keymaps and screen fonts. Read <filename>loadkeys(1)</filename> and344 for valid keymaps and screen fonts. Read the <filename>loadkeys(1)</filename> and 341 345 <filename>setfont(8)</filename> manual pages to determine the correct 342 346 arguments for these programs.</para> … … 359 363 <listitem> 360 364 <para>This variable specifies the arguments for the 361 <command>loadkeys</command> program, typically, the name of keymap365 <command>loadkeys</command> program, typically, the name of the keymap 362 366 to load, e.g., <quote>it</quote>. If this variable is not set, the 363 367 bootscript will not run the <command>loadkeys</command> program, … … 391 395 map to load. E.g., in order to load the <quote>lat1-16</quote> font 392 396 together with the <quote>8859-1</quote> application character map 393 (a s it is appropriate in the USA),397 (appropriate in the USA), 394 398 <!-- because of the copyright sign --> 395 399 set this variable to <quote>lat1-16 -m 8859-1</quote>. 396 In UTF-8 mode, the kernel uses the application character map for397 conver sion of composed 8-bit key codes in the keymap to UTF-8, and thus400 In UTF-8 mode, the kernel uses the application character map to 401 convert 8-bit key codes to UTF-8. Therefore 398 402 the argument of the "-m" parameter should be set to the encoding of the 399 403 composed key codes in the keymap.</para> … … 405 409 <term>UNICODE</term> 406 410 <listitem> 407 <para>Set this variable to <quote>1</quote>, <quote>yes</quote> or411 <para>Set this variable to <quote>1</quote>, <quote>yes</quote>, or 408 412 <quote>true</quote> in order to put the 409 413 console into UTF-8 mode. This is useful in UTF-8 based locales and … … 523 527 sometimes needs to put an accent on the letter <quote>alpha</quote>. 524 528 The solution is either to avoid the use of UTF-8, or to install the 525 X window system that doesn't have this limitationin its input529 X window system, which doesn't have this limitation, in its input 526 530 handling.</para> 527 531 </listitem> … … 532 536 who need such languages should install the X Window System, fonts that 533 537 cover the necessary character ranges, and the proper input method (e.g., 534 SCIM ,supports a wide variety of languages).</para>538 SCIM supports a wide variety of languages).</para> 535 539 </listitem> 536 540 … … 566 570 567 571 <sect2 id="ch-config-sysklogd"> 568 <title>Configuring the sysklogd Script</title>572 <title>Configuring the Sysklogd Script</title> 569 573 570 574 <indexterm zone="ch-config-sysklogd"> … … 601 605 <filename class='directory'>/etc/sysconfig/</filename> directory. If the 602 606 associated variables are present in both these separate files and 603 <filename>rc.site</filename>, the values in the script specific files have604 precedence. </para>607 <filename>rc.site</filename>, the values in the script-specific files take 608 effect. </para> 605 609 606 610 <para><filename>rc.site</filename> also contains parameters that can … … 616 620 617 621 <para>The LFS boot scripts boot and shut down a system in a fairly 618 efficient manner, but there are a few tweaks thatyou can make in the619 rc.site file to improve speed even more and to adjust messages according622 efficient manner, but there are a few tweaks you can make in the 623 rc.site file to improve speed even more, and to adjust messages according 620 624 to your preferences. To do this, adjust the settings in 621 625 the <filename>/etc/sysconfig/rc.site</filename> file above.</para> … … 625 629 <listitem><para>During the boot script <filename>udev</filename>, there is 626 630 a call to <command>udev settle</command> that requires some time to 627 complete. This time may or may not be required depending on devices present631 complete. This time may or may not be required depending on the devices 628 632 in the system. If you only have simple partitions and a single ethernet 629 633 card, the boot process will probably not need to wait for this command. To … … 631 635 632 636 <listitem><para>The boot script <filename>udev_retry</filename> also runs 633 <command>udev settle</command> by default. This command is only needed by634 defaultif the <filename class='directory'>/var</filename> directory is635 separately mounted . This is because the clock needs the file636 <filename>/var/lib/hwclock/adjtime</filename> . Other customizations may637 <command>udev settle</command> by default. This command is only needed 638 if the <filename class='directory'>/var</filename> directory is 639 separately mounted, because the clock needs the 640 <filename>/var/lib/hwclock/adjtime</filename> file. Other customizations may 637 641 also need to wait for udev to complete, but in many installations it is not 638 ne eded. Skip the command by setting the variable OMIT_UDEV_RETRY_SETTLE=y.642 necessary. Skip the command by setting the variable OMIT_UDEV_RETRY_SETTLE=y. 639 643 </para></listitem> 640 644 … … 665 669 <listitem><para>During shutdown, the <command>init</command> program sends 666 670 a TERM signal to each program it has started (e.g. agetty), waits for a set 667 time (default 3 seconds), andsends each process a KILL signal and waits671 time (default 3 seconds), then sends each process a KILL signal and waits 668 672 again. This process is repeated in the <command>sendsignals</command> 669 673 script for any processes that are not shut down by their own scripts. The -
patches.ent
r888103d r1e6c82b 92 92 <!ENTITY sysvinit-consolidated-patch-size "2.5 KB"> 93 93 94 <!-- 95 <!ENTITY systemd-upstream-patch "systemd-&systemd-version;- glibc_2.36_fix-1.patch">96 <!ENTITY systemd-upstream-patch-md5 " fd8dc901e73ad00dc72a351a0d4ac48c">97 <!ENTITY systemd-upstream-patch-size " 3.0 KB">98 --> 94 95 <!ENTITY systemd-upstream-patch "systemd-&systemd-version;-security_fix-1.patch"> 96 <!ENTITY systemd-upstream-patch-md5 "da817e69e897d35cdffd7c45ea06be39"> 97 <!ENTITY systemd-upstream-patch-size "76.0 KB"> 98 99 99 <!-- 100 100 <!ENTITY xz-upstream-fix-patch "xz-&xz-version;-upstream_fix-1.patch"> -
prologue/why.xml
r888103d r1e6c82b 329 329 <para>Libcap</para> 330 330 331 <para>This package implements the user -space interfaces to331 <para>This package implements the userspace interfaces to 332 332 the POSIX 1003.1e capabilities available in Linux kernels. 333 333 </para>
Note:
See TracChangeset
for help on using the changeset viewer.