Changeset 1e6c82b


Ignore:
Timestamp:
12/31/2022 05:15:00 PM (16 months ago)
Author:
Bruce Dubbs <bdubbs@…>
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.
Message:

Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk

Files:
25 edited

Legend:

Unmodified
Added
Removed
  • chapter01/changelog.xml

    r888103d r1e6c82b  
    4040    appropriate for the entry or if needed the entire day's listitem.
    4141    -->
     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
    4252    <listitem>
    4353      <para>2022-12-31</para>
     
    92102        <listitem>
    93103          <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>
    95105        </listitem>
    96106        <listitem>
  • chapter01/whatsnew.xml

    r888103d r1e6c82b  
    300300      <para>&readline-fixes-patch;</para>
    301301    </listitem>
     302
     303    <listitem revision="systemd">
     304      <para>&systemd-upstream-patch;</para>
     305    </listitem>
    302306  </itemizedlist>
    303307
  • chapter03/patches.xml

    r888103d r1e6c82b  
    136136    </varlistentry>
    137137
    138 <!--
     138
    139139    <varlistentry revision="systemd">
    140140      <term>Systemd Upstream Patch - <token>&systemd-upstream-patch-size;</token>:</term>
     
    144144      </listitem>
    145145    </varlistentry>
    146 -->
     146
    147147<!--
    148148    <varlistentry>
  • chapter07/kernfs.xml

    r888103d r1e6c82b  
    1515  </indexterm>
    1616
    17     <para>Applications running in user space utilize various file
     17    <para>Applications running in userspace utilize various file
    1818    systems created by the kernel to communicate
    1919    with the kernel itself. These file systems are virtual: no disk
  • chapter08/aboutdebug.xml

    r888103d r1e6c82b  
    1818  the names of the routines and variables.</para>
    1919
    20   <para>However, the inclusion of these debugging symbols enlarges a
    21   program or library significantly. The following is an example of the
     20  <para>The inclusion of these debugging symbols enlarges a
     21  program or library significantly. Here are two examples of the
    2222  amount of space these symbols occupy:</para>
    2323
     
    2929    <listitem>
    3030      <para>A <command>bash</command> binary without debugging symbols:
    31       480 KB</para>
     31      480 KB (60% smaller)</para>
    3232    </listitem>
    3333    <listitem>
     
    3737    </listitem>
    3838    <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>
    4040    </listitem>
    4141  </itemizedlist>
    4242
    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,
    4847  a lot of disk space can be regained by removing these symbols. The next
    4948  section shows how to strip all debugging symbols from the programs and
  • chapter08/cleanup.xml

    r888103d r1e6c82b  
    1111  <title>Cleaning Up</title>
    1212
    13   <para>Finally, clean up some extra files left around from running tests:</para>
     13  <para>Finally, clean up some extra files left over from running tests:</para>
    1414
    1515<screen><userinput>rm -rf /tmp/*</userinput></screen>
    1616
    17   <para>There are also several files installed in the /usr/lib and /usr/libexec
     17  <para>There are also several files in the /usr/lib and /usr/libexec
    1818  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 are
     19  files. On a modern Linux system the libtool .la files are
    2020  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 packages
    22   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>
    2323
    2424<screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput></screen>
  • chapter08/e2fsprogs.xml

    r888103d r1e6c82b  
    2424    <title/>
    2525
    26     <para>The e2fsprogs package contains the utilities for handling the
     26    <para>The E2fsprogs package contains the utilities for handling the
    2727    <systemitem class="filesystem">ext2</systemitem> file system. It also
    2828    supports the <systemitem class="filesystem">ext3</systemitem> and
     
    4545    <title>Installation of E2fsprogs</title>
    4646
    47     <para>The e2fsprogs documentation recommends that the package be built in
     47    <para>The E2fsprogs documentation recommends that the package be built in
    4848    a subdirectory of the source tree: </para>
    4949
     
    5151cd       build</userinput></screen>
    5252
    53     <para>Prepare e2fsprogs for compilation:</para>
     53    <para>Prepare E2fsprogs for compilation:</para>
    5454
    5555<screen><userinput remap="configure">../configure --prefix=/usr           \
     
    7575        <term><parameter>--disable-*</parameter></term>
    7676        <listitem>
    77           <para>This prevents e2fsprogs from building and installing the
     77          <para>These prevent building and installing the
    7878          <systemitem class="library">libuuid</systemitem> and
    7979          <systemitem class="library">libblkid</systemitem> libraries, the
    8080          <systemitem class="daemon">uuidd</systemitem> daemon, and the
    81           <command>fsck</command> wrapper, as util-linux installs more
     81          <command>fsck</command> wrapper; util-linux installs more
    8282          recent versions.</para>
    8383        </listitem>
     
    176176        <term><command>chattr</command></term>
    177177        <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>
    183180          <indexterm zone="ch-system-e2fsprogs chattr">
    184181            <primary sortas="b-chattr">chattr</primary>
     
    203200        <listitem>
    204201          <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>
    207204          <indexterm zone="ch-system-e2fsprogs debugfs">
    208205            <primary sortas="b-debugfs">debugfs</primary>
     
    235232        <term><command>e2fsck</command></term>
    236233        <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>
    240236          <indexterm zone="ch-system-e2fsprogs e2fsck">
    241237            <primary sortas="b-e2fsck">e2fsck</primary>
     
    248244        <listitem>
    249245          <para>Is used to save critical <systemitem
    250           class="filesystem">ext2</systemitem> file system data to a file</para>
     246          class="filesystem">ext{234}</systemitem> file system data to a file</para>
    251247          <indexterm zone="ch-system-e2fsprogs e2image">
    252248            <primary sortas="b-e2image">e2image</primary>
     
    259255        <listitem>
    260256          <para>Displays or changes the file system label on the <systemitem
    261           class="filesystem">ext2</systemitem> file system present on a given
     257          class="filesystem">ext{234}</systemitem> file system on a given
    262258          device</para>
    263259          <indexterm zone="ch-system-e2fsprogs e2label">
     
    270266        <term><command>e2mmpstatus</command></term>
    271267        <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>
    273270          <indexterm zone="ch-system-e2fsprogs e2mmpstatus">
    274271            <primary sortas="b-e2mmpstatus">e2mmpstatus</primary>
     
    280277        <term><command>e2scrub</command></term>
    281278        <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>
    283281          <indexterm zone="ch-system-e2fsprogs e2scrub">
    284282            <primary sortas="b-e2scrub">e2scrub</primary>
     
    290288        <term><command>e2scrub_all</command></term>
    291289        <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>
    293292          <indexterm zone="ch-system-e2fsprogs e2scrub_all">
    294293            <primary sortas="b-e2scrub_all">e2scrub_all</primary>
     
    300299        <term><command>e2undo</command></term>
    301300        <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>
    305305          <indexterm zone="ch-system-e2fsprogs e2undo">
    306306            <primary sortas="b-e2undo">e2undo</primary>
     
    312312        <term><command>e4crypt</command></term>
    313313        <listitem>
    314           <para>Ext4 filesystem encryption utility</para>
     314          <para><systemitem class="filesystem">Ext4</systemitem>
     315          file system encryption utility</para>
    315316          <indexterm zone="ch-system-e2fsprogs e4crypt">
    316317            <primary sortas="b-e4crypt">e4crypt</primary>
     
    322323        <term><command>e4defrag</command></term>
    323324        <listitem>
    324           <para>Online defragmenter for ext4 filesystems</para>
     325          <para>Online defragmenter for <systemitem
     326          class="filesystem">ext4</systemitem> file systems</para>
    325327          <indexterm zone="ch-system-e2fsprogs e4defrag">
    326328            <primary sortas="b-e4defrag">e4defrag</primary>
     
    408410        <term><command>mke2fs</command></term>
    409411        <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>
    413414          <indexterm zone="ch-system-e2fsprogs mke2fs">
    414415            <primary sortas="b-mke2fs">mke2fs</primary>
     
    453454        <term><command>mklost+found</command></term>
    454455        <listitem>
    455           <para>Used to create a <filename class="directory">lost+found</filename>
    456           directory on an <systemitem class="filesystem">ext2</systemitem> file
     456          <para>Creates a <filename class="directory">lost+found</filename>
     457          directory on an <systemitem class="filesystem">ext{234}</systemitem> file
    457458          system; it pre-allocates disk blocks to this directory to lighten the
    458459          task of <command>e2fsck</command></para>
     
    466467        <term><command>resize2fs</command></term>
    467468        <listitem>
    468           <para>Can be used to enlarge or shrink an <systemitem
    469           class="filesystem">ext2</systemitem> file system</para>
     469          <para>Can be used to enlarge or shrink <systemitem
     470          class="filesystem">ext{234}</systemitem> file systems</para>
    470471          <indexterm zone="ch-system-e2fsprogs resize2fs">
    471472            <primary sortas="b-resize2fs">resize2fs</primary>
     
    477478        <term><command>tune2fs</command></term>
    478479        <listitem>
    479           <para>Adjusts tunable file system parameters on an <systemitem
    480           class="filesystem">ext2</systemitem> file system</para>
     480          <para>Adjusts tunable file system parameters on <systemitem
     481          class="filesystem">ext{234}</systemitem> file systems</para>
    481482          <indexterm zone="ch-system-e2fsprogs tune2fs">
    482483            <primary sortas="b-tune2fs">tune2fs</primary>
     
    509510        <term><filename class="libraryfile">libext2fs</filename></term>
    510511        <listitem>
    511           <para>Contains routines to enable user-level programs to manipulate an
    512           <systemitem class="filesystem">ext2</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>
    513514          <indexterm zone="ch-system-e2fsprogs libext2fs">
    514515            <primary sortas="c-libext2fs">libext2fs</primary>
  • chapter08/gawk.xml

    r888103d r1e6c82b  
    6262
    6363    <variablelist>
    64       <title>The meaning of the make environment variable:</title>
     64      <title>The meaning of the overridden make variable:</title>
    6565
    6666      <varlistentry>
     
    8989
    9090      <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>
    9292        <seg>filefuncs.so, fnmatch.so, fork.so, inplace.so, intdiv.so, ordchr.so,
    9393        readdir.so, readfile.so, revoutput.so, revtwoway.so, rwarray.so,
  • chapter08/libcap.xml

    r888103d r1e6c82b  
    2424    <title/>
    2525
    26     <para>The Libcap package implements the user-space interface to the POSIX
     26    <para>The Libcap package implements the userspace interface to the POSIX
    2727    1003.1e capabilities available in Linux kernels. These capabilities
    2828    partition the all-powerful root privilege into a set of distinct
  • chapter08/man-db.xml

    r888103d r1e6c82b  
    7878        <term><parameter>--enable-cache-owner=bin</parameter></term>
    7979        <listitem>
    80           <para>This makes the system-wide cache files be owned by user
     80          <para>This changes ownership of the system-wide cache files to user
    8181          <systemitem class="username">bin</systemitem>.</para>
    8282        </listitem>
  • chapter08/pkgmgt.xml

    r888103d r1e6c82b  
    5656        5.10.17 to 5.10.18 or 5.11.1), nothing else needs to be rebuilt.
    5757        The system will keep working fine thanks to the well-defined interface
    58         between the kernel and user space.  Specifically, Linux API headers
     58        between the kernel and userspace.  Specifically, Linux API headers
    5959        need not be (and should not be, see the next item) upgraded
    6060        along with the kernel.  You will merely need to reboot your system to use the
  • chapter08/procps.xml

    r888103d r1e6c82b  
    4141    <title>Installation of Procps-ng</title>
    4242
    43     <para>Prepare procps-ng for compilation:</para>
     43    <para>Prepare Procps-ng for compilation:</para>
    4444
    4545<screen revision="sysv"><userinput remap="configure">./configure --prefix=/usr                           \
     
    6161        <listitem>
    6262          <para>This switch disables building the <command>kill</command>
    63           command that will be installed by the Util-linux package.</para>
     63          command; it will be installed from the Util-linux package.</para>
    6464        </listitem>
    6565      </varlistentry>
     
    182182      </varlistentry>
    183183
    184       <varlistentry id="pwait">
     184      <!-- <varlistentry id="pwait">
    185185        <term><command>pwait</command></term>
    186186        <listitem>
     
    190190          </indexterm>
    191191        </listitem>
    192       </varlistentry>
     192      </varlistentry> This program no longer exists;
     193      it's already been removed from the Installed programs list. -->
    193194
    194195      <varlistentry id="pwdx">
  • chapter08/stripping.xml

    r888103d r1e6c82b  
    1313  <para>This section is optional.  If the intended user is not a
    1414  programmer and does not plan to do
    15   any debugging on the system software, the system size can be decreased
    16   by about 2 GB by removing the debugging symbols and unneeded symbol table
    17   entries from binaries and libraries. This causes no inconvenience other
    18   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>
    1919
    2020  <para>Most people who use the commands mentioned below do not
    21   experience any difficulties. However, it is easy to make a typo and
    22   render the new system unusable, so before running the
     21  experience any difficulties. However, it is easy to make a mistake and
     22  render the new system unusable. So before running the
    2323  <command>strip</command> commands, it is a good idea to make a
    2424  backup of the LFS system in its current state.</para>
    2525
    26   <para>A <command>strip</command> command with
     26  <para>A <command>strip</command> command with the
    2727  <parameter>--strip-unneeded</parameter> option removes all debug symbols
    28   from a binary or library.  And, it removes all symbol table entries not
     28  from a binary or library.  It also removes all symbol table entries not
    2929  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>
    3131
    32   <para>The debugging symbols for selected libraries are placed
    33   in separate files.  This debugging information is needed if running
    34   regression tests that use <ulink
     32  <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
    3535  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.
    3737  </para>
    3838
    3939  <para>Note that <command>strip</command> will overwrite the binary or library
    4040  file it is processing.  This can crash the processes using code or data from
    41   the file.  If the process running <command>strip</command> itself is
    42   affected, the binary or library being stripped can be destroyed and can
    43   make the system completely unusable.  To avoid it, we'll copy some libraries
     41  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
    4444  and binaries into <filename class="directory">/tmp</filename>, strip them
    45   there, and install them back with the <command>install</command> command.
    46   Read the related entry in <xref linkend="pkgmgmt-upgrade-issues"/> for the
    47   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>
    4848
    4949  <note><para>The ELF loader's name is ld-linux-x86-64.so.2 on 64-bit systems
     
    112112</userinput></screen>
    113113
    114   <para>A large number of files will be reported as having their file
    115   format not recognized. These warnings can be safely ignored. They
    116   indicate that those files are scripts instead of binaries.</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>
    117117
    118118</sect1>
  • chapter08/sysklogd.xml

    r888103d r1e6c82b  
    2424    <title/>
    2525
    26     <para>The sysklogd package contains programs for logging system messages,
    27     such as those given by 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>
    2828
    2929    <segmentedlist>
     
    4242    <title>Installation of Sysklogd</title>
    4343
    44     <para>First, fix problems that causes a segmentation fault under
    45     some conditions in klogd and 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>
    4646
    4747<screen><userinput remap="pre">sed -i '/Error loading kernel symbols/{n;n;d}' ksym_mod.c
  • chapter08/systemd.xml

    r888103d r1e6c82b  
    4141    <title>Installation of systemd</title>
    4242
    43 <!--
    44     <para>First, fix an issue introduced by glibc-2.36.</para>
     43
     44    <para>First, fix a security issue in systemd-coredump:</para>
    4545
    4646<screen><userinput remap="pre">patch -Np1 -i ../&systemd-upstream-patch;</userinput></screen>
    47 -->
     47
    4848
    4949    <para>Remove two unneeded groups,
  • chapter08/sysvinit.xml

    r888103d r1e6c82b  
    116116        <term><command>fstab-decode</command></term>
    117117        <listitem>
    118           <para>Run a command with fstab-encoded arguments</para>
     118          <para>Runs a command with fstab-encoded arguments</para>
    119119          <indexterm zone="ch-system-sysvinit fstab-decode">
    120120            <primary sortas="b-fstab-decode">fstab-decode</primary>
     
    127127        <listitem>
    128128          <para>Normally invokes <command>shutdown</command> with the
    129           <parameter>-h</parameter> option, except when already in run-level 0,
    130           then it tells the kernel to halt the system; it notes in the
    131           file <filename>/var/log/wtmp</filename> that the system is being
    132           brought down</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>
    133133          <indexterm zone="ch-system-sysvinit halt-sysv">
    134134            <primary sortas="b-halt">halt</primary>
     
    141141        <listitem>
    142142          <para>The first process to be started when the kernel has initialized
    143           the hardware which takes over the boot process and starts all the
    144           proceses 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>
    145145          <indexterm zone="ch-system-sysvinit init-sysv">
    146146            <primary sortas="b-init">init</primary>
     
    153153        <listitem>
    154154          <para>Sends a signal to all processes, except the processes in its own
    155           session so it will not kill its parent shell</para>
     155          session; it will not kill its parent shell</para>
    156156          <indexterm zone="ch-system-sysvinit killall5">
    157157            <primary sortas="b-killall5">killall5</primary>
  • chapter08/util-linux.xml

    r888103d r1e6c82b  
    7878
    7979    <para>The --disable and --without options prevent warnings about
    80     building components that require packages not in LFS or are
     80    building components that either require packages not in LFS, or are
    8181    inconsistent with programs installed by other packages.</para>
    8282
     
    9393    module.  Building it into the kernel will prevent booting.  For complete
    9494    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>
    9696
    9797<screen role="nodump"><userinput>bash tests/run.sh --srcdir=$PWD --builddir=$PWD</userinput></screen>
     
    126126        chmem, choom, chrt, col, colcrt, colrm, column, ctrlaltdel, delpart, dmesg,
    127127        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,
    132133        more, mount, mountpoint, namei, nsenter, partx, pivot_root, prlimit,
    133134        readprofile, rename, renice, resizepart, rev, rfkill, rtcwake, script,
    134135        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         wipefs, 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>
    138139        <seg>libblkid.so, libfdisk.so, libmount.so,
    139140        libsmartcols.so, and libuuid.so</seg>
     
    198199        <term><command>blkzone</command></term>
    199200        <listitem>
    200           <para>Runs zone command on the given block device</para>
     201          <para>Is used to manage zoned storage block devices</para>
    201202          <indexterm zone="ch-system-util-linux blkzone">
    202203            <primary sortas="b-blkzone">blkzone</primary>
     
    259260        <term><command>choom</command></term>
    260261        <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>
    262264          <indexterm zone="ch-system-util-linux choom">
    263265            <primary sortas="b-choom">choom</primary>
     
    391393        <term><command>findfs</command></term>
    392394        <listitem>
    393           <para>Finds a file system by label or Universally Unique Identifier
     395          <para>Finds a file system, either by label or Universally Unique Identifier
    394396          (UUID)</para>
    395397          <indexterm zone="ch-system-util-linux findfs">
     
    403405        <listitem>
    404406          <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>
    406408          <indexterm zone="ch-system-util-linux findmnt">
    407409            <primary sortas="b-findmnt">findmnt</primary>
     
    483485        </listitem>
    484486      </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>
    485497
    486498      <varlistentry id="hexdump">
    487499        <term><command>hexdump</command></term>
    488500        <listitem>
    489           <para>Dumps the given file in hexadecimal or in another given
    490           format</para>
     501          <para>Dumps the given file in hexadecimal, decimal, octal,
     502          or ascii</para>
    491503          <indexterm zone="ch-system-util-linux hexdump">
    492504            <primary sortas="b-hexdump">hexdump</primary>
     
    691703        </listitem>
    692704      </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>
    693715
    694716      <varlistentry id="lsipc">
     
    862884        <term><command>namei</command></term>
    863885        <listitem>
    864           <para>Shows the symbolic links in the given pathnames</para>
     886          <para>Shows the symbolic links in the given paths</para>
    865887          <indexterm zone="ch-system-util-linux namei">
    866888            <primary sortas="b-namei">namei</primary>
     
    904926        <term><command>prlimit</command></term>
    905927        <listitem>
    906           <para>Get and set a process' resource limits</para>
     928          <para>Gets and sets a process's resource limits</para>
    907929          <indexterm zone="ch-system-util-linux prlimit">
    908930            <primary sortas="b-prlimit">prlimit</primary>
     
    975997        <term><command>rtcwake</command></term>
    976998        <listitem>
    977           <para>Used to enter a system sleep state until specified wakeup
     999          <para>Used to enter a system sleep state until the specified wakeup
    9781000          time</para>
    9791001          <indexterm zone="ch-system-util-linux rtcwake">
     
    9961018        <term><command>scriptlive</command></term>
    9971019        <listitem>
    998           <para>Re-run session typescripts using timing information</para>
     1020          <para>Re-runs session typescripts using timing information</para>
    9991021          <indexterm zone="ch-system-util-linux scriptlive">
    10001022            <primary sortas="b-scriptlive">scriptlive</primary>
     
    10161038        <term><command>setarch</command></term>
    10171039        <listitem>
    1018           <para>Changes reported architecture in a new program environment and
     1040          <para>Changes reported architecture in a new program environment, and
    10191041          sets personality flags</para>
    10201042          <indexterm zone="ch-system-util-linux setarch">
     
    10691091        <term><command>swaplabel</command></term>
    10701092        <listitem>
    1071           <para>Allows to change swaparea UUID and label</para>
     1093          <para>Makes changes to the swap area's UUID and label</para>
    10721094          <indexterm zone="ch-system-util-linux swaplabel">
    10731095            <primary sortas="b-swaplabel">swaplabel</primary>
     
    10891111        <term><command>swapon</command></term>
    10901112        <listitem>
    1091           <para>Enables devices and files for paging and swapping and
     1113          <para>Enables devices and files for paging and swapping, and
    10921114          lists the devices and files currently in use</para>
    10931115          <indexterm zone="ch-system-util-linux swapon">
     
    11101132        <term><command>taskset</command></term>
    11111133        <listitem>
    1112           <para>Retrieves or sets a process' CPU affinity</para>
     1134          <para>Retrieves or sets a process's CPU affinity</para>
    11131135          <indexterm zone="ch-system-util-linux taskset">
    11141136            <primary sortas="b-taskset">taskset</primary>
     
    11201142        <term><command>uclampset</command></term>
    11211143        <listitem>
    1122           <para>Manipulate the utilization clamping attributes of the
     1144          <para>Manipulates the utilization clamping attributes of the
    11231145          system or a process</para>
    11241146          <indexterm zone="ch-system-util-linux uclampset">
     
    11721194        <term><command>utmpdump</command></term>
    11731195        <listitem>
    1174           <para>Displays the content of the given login file in a more
     1196          <para>Displays the content of the given login file in a
    11751197          user-friendly format</para>
    11761198          <indexterm zone="ch-system-util-linux utmpdump">
     
    11941216        <term><command>uuidgen</command></term>
    11951217        <listitem>
    1196           <para>Creates new UUIDs. Each new UUID can reasonably be considered
     1218          <para>Creates new UUIDs. Each new UUID is a random number likely to be
    11971219          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>
    11991222          <indexterm zone="ch-system-util-linux uuidgen">
    12001223            <primary sortas="b-uuidgen">uuidgen</primary>
     
    12061229        <term><command>uuidparse</command></term>
    12071230        <listitem>
    1208           <para>An utility to parse unique identifiers</para>
     1231          <para>A utility to parse unique identifiers</para>
    12091232          <indexterm zone="ch-system-util-linux uuidparse">
    12101233            <primary sortas="b-uuidparse">uuidparse</primary>
     
    12381261        <listitem>
    12391262          <para>Reports the location of the binary, source, and man page
    1240           for the given command</para>
     1263          files for the given command</para>
    12411264          <indexterm zone="ch-system-util-linux whereis">
    12421265            <primary sortas="b-whereis">whereis</primary>
  • chapter09/bootscripts.xml

    r888103d r1e6c82b  
    7575        <listitem>
    7676          <para>Checks the integrity of the file systems before they are mounted
    77           (with the exception of journal and network based file systems)</para>
     77          (with the exception of journaling and network-based file systems)</para>
    7878          <indexterm zone="ch-config-bootscripts checkfs-bootscripts">
    7979            <primary sortas="d-checkfs">checkfs</primary>
     
    174174        <term><command>mountfs</command></term>
    175175        <listitem>
    176           <para>Mounts all file systems, except ones that are marked
    177           <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>
    178178          <indexterm zone="ch-config-bootscripts mountfs-bootscripts">
    179179            <primary sortas="d-mountfs">mountfs</primary>
     
    209209          <para>The master run-level control script; it is responsible for
    210210          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>
    212212          <indexterm zone="ch-config-bootscripts rc-bootscripts">
    213213            <primary sortas="d-rc">rc</primary>
     
    240240        <term><command>setclock</command></term>
    241241        <listitem>
    242           <para>Resets the kernel clock to local time in case the hardware clock
    243           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>
    244244          <indexterm zone="ch-config-bootscripts setclock-bootscripts">
    245245            <primary sortas="d-setclock">setclock</primary>
     
    306306        <listitem>
    307307          <para>Prepares the <filename class="directory">/dev</filename>
    308           directory and starts Udev</para>
     308          directory and starts the udev daemon</para>
    309309          <indexterm zone="ch-config-bootscripts udev-bootscripts">
    310310            <primary sortas="d-udev">udev</primary>
  • chapter09/introduction.xml

    r888103d r1e6c82b  
    1212
    1313    <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 any swap partitions or files, set
     14    mount both virtual and real file systems, initialize devices,
     15    check file systems for integrity, mount and activate any swap partitions or files, set
    1616    the system clock, bring up networking, start any daemons required by the
    17     system, and accomplish any other custom tasks needed by the user.  This
     17    system, and accomplish any other custom tasks specified by the user.  This
    1818    process must be organized to ensure the tasks are performed in the correct
    19     order but, at the same time, be executed as fast as possible.</para>
     19    order and executed as quickly as possible.</para>
    2020
    2121  <sect2 id='sysv-desc'>
     
    2424    <para>System V is the classic boot process that has been used in Unix and
    2525    Unix-like systems such as Linux since about 1983.  It consists of a small
    26     program, <command>init</command>, that sets up basic programs such as
     26    program, <command>init</command>, that sets up basic processes such as
    2727    <command>login</command> (via getty) and runs a script.  This script,
    2828    usually named <command>rc</command>,  controls the execution of a set of
     
    3232    <para>The <command>init</command> program is controlled by the
    3333    <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>
    3535
    3636<literallayout>0 &mdash; halt
     
    7171      <listitem>
    7272          <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, will
     73          point.  A delay in any process, such as a file system check, will
    7474          delay the entire boot process.</para>
    7575      </listitem>
     
    7777      <listitem>
    7878          <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>
    8080      </listitem>
    8181
  • chapter09/network.xml

    r888103d r1e6c82b  
    1818    <title>Creating Network Interface Configuration Files</title>
    1919
    20     <para>Which interfaces are brought up and down by the network script
    21     usually depends on the files in <filename
    22     class="directory">/etc/sysconfig/</filename>.  This directory should
     20    <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
    2323    contain a file for each interface to be configured, such as
    24     <filename>ifconfig.xyz</filename>, where <quote>xyz</quote> should describe
     24    <filename>ifconfig.xyz</filename>, where <quote>xyz</quote> describes
    2525    the network card.  The interface name (e.g. eth0) is usually appropriate.
    26     Inside this file are attributes to this interface, such as its IP
    27     address(es), subnet masks, and so forth.  It is necessary that the stem of
    28     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>
    2929
    3030    <note>
     
    3939      configuration of the udev daemon running on the system.  The udev
    4040      daemon for LFS (installed in <xref linkend="ch-system-eudev"/>) will
    41       not run until the LFS system is booted.  So it's unreliable to
    42       determine the interface names being used in LFS system by running
     41      not run until the LFS system is booted.  So the interface names
     42      in the LFS system cannot always be determined by running
    4343      those commands on the host distro,
    44       <emphasis>even though in the chroot environment</emphasis>.</para>
     44      <emphasis>even in the chroot environment</emphasis>.</para>
    4545    </note>
    4646
     
    6060EOF</userinput></screen>
    6161
    62     <para>The values in italics must be changed in every file to match
    63     the proper setup.</para>
     62    <para>The values in italics must be changed in each file, to set
     63    the interfaces up correctly.</para>
    6464
    6565    <para>If the <envar>ONBOOT</envar> variable is set to <quote>yes</quote> the
    6666    System V network script will bring up the Network Interface Card (NIC) during
    67     the system boot process. If set to anything but <quote>yes</quote> the NIC
    68     will be ignored by the network script and not be automatically brought up.
    69     The interface can be manually started or stopped with the
     67    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
    7070    <command>ifup</command> and <command>ifdown</command> commands.</para>
    7171
     
    8585    variable entirely.</para>
    8686
    87     <para>The <envar>PREFIX</envar> variable contains the number of
    88     bits used in the subnet. Each octet in an IP address is 8 bits. If the
    89     subnet's netmask is 255.255.255.0, then it is using the first three octets
     87    <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
    9090    (24 bits) to specify the network number. If the netmask is 255.255.255.240,
    91     it would be using the first 28 bits.  Prefixes longer than 24 bits are
     91    the subnet is using the first 28 bits.  Prefixes longer than 24 bits are
    9292    commonly used by DSL and cable-based Internet Service Providers (ISPs).
    9393    In this example (PREFIX=24), the netmask is 255.255.255.0. Adjust the
     
    140140
    141141  <sect2 id="ch-config-hostname">
    142     <title>Configuring the system hostname</title>
     142    <title>Configuring the System Hostname</title>
    143143
    144144    <indexterm zone="ch-config-hostname">
     
    157157     <para><replaceable>&lt;lfs&gt;</replaceable> needs to be replaced with the
    158158     name given to the computer. Do not enter the Fully Qualified Domain Name
    159      (FQDN) here. That information is put in the
     159     (FQDN) here. That information goes in the
    160160     <filename>/etc/hosts</filename> file.</para>
    161161
  • chapter09/symlinks.xml

    r888103d r1e6c82b  
    1818    data or physical characteristics like the bus, slot, or MAC address.  The
    1919    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&mdash;on a computer with two
     22    network cards made by Intel and Realtek, for instance&mdash;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
    2930    implemented.</para>
    3031
     
    3233      <title>Disabling Persistent Naming on the Kernel Command Line</title>
    3334
    34       <para>The traditional naming scheme using eth0, eth1, etc can be
     35      <para>The traditional naming scheme using eth0, eth1, etc. can be
    3536      restored by adding <userinput>net.ifnames=0</userinput> on the
    36       kernel command line.  This is most appropriate for those systems
    37       that have only one ethernet device of the same type.  Laptops
    38       often have multiple ethernet connections that are named eth0 and
    39       wlan0 and are also candidates for this method.  The command line
    40       is passed in 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.
    4142      See <xref linkend="grub-cfg"/>.</para>
    4243    </sect3>
     
    5758<screen role="nodump"><userinput>cat /etc/udev/rules.d/70-persistent-net.rules</userinput></screen>
    5859
    59       <note><para>In some cases such as when MAC addresses have been assigned to
    60       a network card manually or in a virtual environment such as Qemu or Xen,
    61       the network rules file may not have been generated because addresses
     60      <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
    6263      are not consistently assigned.  In these cases, this method cannot
    6364      be used.</para></note>
    6465
    65       <para>The file begins with a comment block followed by two lines for each
     66      <para>The file begins with a comment block, followed by two lines for each
    6667      NIC. The first line for each NIC is a commented description showing its
    6768      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. Neither
     69      along with its driver (in parentheses, if the driver can be found). Neither
    6970      the hardware ID nor the driver is used to determine which name to give an
    7071      interface; this information is only for reference. The second line is the
    7172      udev rule that matches this NIC and actually assigns it a name.</para>
    7273
    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>
    7676
    7777      <itemizedlist>
     
    8989          ignore VLAN or bridge sub-interfaces (because these sub-interfaces do
    9090          not have drivers). These sub-interfaces are skipped because the name
    91           that would be assigned would collide with their parent devices.</para>
    92         </listitem>
    93         <listitem>
    94           <para><literal>ATTR{address}</literal> - The value of this key is the
     91          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
    9595          NIC's MAC address.</para>
    9696        </listitem>
     
    103103        </listitem>
    104104        <listitem>
    105           <para><literal>NAME</literal> - The value of this key is the name that
     105          <para><literal>NAME</literal> - The value of this keyword is the name that
    106106          udev will assign to this interface.</para>
    107107        </listitem>
     
    111111      you know which name has been assigned to each of your network cards before
    112112      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>
    114114
    115115    </sect3>
     
    119119  <sect2 revision="sysv">
    120120
    121     <title>CD-ROM symlinks</title>
     121    <title>CD-ROM Symlinks</title>
    122122
    123123    <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>
    125125    and <filename class="symlink">/dev/dvd</filename> symlinks to exist, and
    126126    to point to a CD-ROM or DVD-ROM device. Also, it may be convenient to put
     
    140140    on which type of device you have.</para>
    141141
    142     <para>There are advantages to each approach; the correct approach to use
    143     will depend on what kinds of device changes may happen. If you expect the
     142    <para>There are advantages to each approach; the correct approach
     143    depends on what kinds of device changes may happen. If you expect the
    144144    physical path to the device (that is, the ports and/or slots that it plugs
    145145    into) to change, for example because you plan on moving the drive to a
    146146    different IDE port or a different USB connector, then you should use the
    147147    <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 would
    149     replace it with a different device with the same capabilities and which
    150     is plugged into the same connectors, then you should use the
     148    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
    151151    <quote>by-path</quote> mode.</para>
    152152
     
    199199    the same device. If you need that, then inspect (and possibly edit) the
    200200    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>
    202202
    203203  </sect2>
     
    205205  <sect2>
    206206
    207     <title>Dealing with duplicate devices</title>
     207    <title>Dealing with Duplicate Devices</title>
    208208
    209209    <para>As explained in <xref linkend="ch-config-udev"/>, the order in
     
    215215    after a reboot the order changes.
    216216    For all classes of hardware except sound cards and network cards, this is
    217     fixable by creating udev rules for custom persistent symlinks.
     217    fixable by creating udev rules to create persistent symlinks.
    218218    The case of network cards is covered separately in
    219219    <xref linkend="ch-config-network"/>, and sound card configuration can
  • chapter09/udev.xml

    r888103d r1e6c82b  
    1717
    1818  <para>In <xref linkend="chapter-building-system"/>, we installed the udev
    19   package when <phrase revision="sysv">eudev</phrase>
     19  daemon when <phrase revision="sysv">eudev</phrase>
    2020  <phrase revision="systemd">systemd</phrase> was built. Before we go into the
    21   details regarding how this works, a brief history of previous methods of
     21  details regarding how udev works, a brief history of previous methods of
    2222  handling devices is in order.</para>
    2323
     
    2626  class="directory">/dev</filename> (sometimes literally thousands of nodes),
    2727  regardless of whether the corresponding hardware devices actually existed. This
    28   was typically done via a <command>MAKEDEV</command> script, which contains a
     28  was typically done via a <command>MAKEDEV</command> script, which contained a
    2929  number of calls to the <command>mknod</command> program with the relevant
    3030  major and minor device numbers for every possible device that might exist in
    3131  the world.</para>
    3232
    33   <para>Using the udev method, only those devices which are detected by the
    34   kernel get device nodes created for them. Because these device nodes will be
    35   created each time the system boots, they will be stored on a <systemitem
     33  <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
    3636  class="filesystem">devtmpfs</systemitem> file system (a virtual file system
    3737  that resides entirely in system memory). Device nodes do not require much
     
    5252    detection, creation, and naming. The latter issue, that of device node
    5353    naming, was perhaps the most critical. It is generally accepted that if
    54     device names are allowed to be configurable, then the device naming policy
    55     should be up to a system administrator, not imposed on them by any
    56     particular developer(s). The <systemitem
     54    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
    5757    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 &ndash; due to a lack of maintenance &ndash; 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
    6162    from the kernel in June, 2006.</para>
    6263
     
    6465    as the 2.6 series of stable kernels, a new virtual filesystem called
    6566    <systemitem class="filesystem">sysfs</systemitem> came to be. The job of
    66     <systemitem class="filesystem">sysfs</systemitem> is to export a view of
     67    <systemitem class="filesystem">sysfs</systemitem> is to provide information about
    6768    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>
    7171
    7272  </sect2>
     
    8282      class="filesystem">sysfs</systemitem> knows about the devices present on
    8383      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 a
     84      have been compiled into the kernel register their objects in
    8585      <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
    9091      class="filesystem">sysfs</systemitem> are available to userspace
    9192      processes and to udevd for processing (including modifications to device
     
    9798      <title>Device Node Creation</title>
    9899
    99       <para>Device files are created by the kernel by the <systemitem
    100       class="filesystem">devtmpfs</systemitem> filesystem.  Any driver that
    101       wishes to register a device node will go through the <systemitem
     100      <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
    102103      class="filesystem">devtmpfs</systemitem> (via the driver core) to do it.
    103104      When a <systemitem class="filesystem">devtmpfs</systemitem> instance is
    104105      mounted on <filename class="directory">/dev</filename>, the device node
    105       will initially be created with a fixed name, permissions, and
     106      will initially be exposed to userspace with a fixed name, permissions, and
    106107      owner.</para>
    107108
     
    173174
    174175    <sect3>
    175       <title>A kernel module is not loaded automatically</title>
     176      <title>A Kernel Module Is Not Loaded Automatically</title>
    176177
    177178      <para>Udev will only load a module if it has a bus-specific alias and the
     
    207208
    208209    <sect3>
    209       <title>A kernel module is not loaded automatically, and udev is not
    210       intended to load it</title>
     210      <title>A Kernel Module Is Not Loaded Automatically, and Udev Is Not
     211      Intended to Load It</title>
    211212
    212213      <para>If the <quote>wrapper</quote> module only enhances the
     
    237238
    238239    <sect3>
    239       <title>Udev loads some unwanted module</title>
     240      <title>Udev Loads Some Unwanted Module</title>
    240241
    241242      <para>Either don't build the module, or blacklist it in a
     
    251252
    252253    <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>
    254255
    255256      <para>This usually happens if a rule unexpectedly matches a device. For
     
    262263
    263264    <sect3>
    264       <title>Udev rule works unreliably</title>
     265      <title>Udev Rule Works Unreliably</title>
    265266
    266267      <para>This may be another manifestation of the previous problem. If not,
     
    276277
    277278    <sect3>
    278       <title>Udev does not create a device</title>
    279 
    280       <para>Further text assumes that the driver is built statically into the
    281       kernel or already loaded as a module, and that you have already checked
    282       that udev doesn't create a misnamed device.</para>
    283 
    284       <para>Udev has no information needed to create a device node if a kernel
    285       driver does not export its data to
    286       <systemitem class="filesystem">sysfs</systemitem>. This is most common
     279      <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
    287288      with third party drivers from outside the kernel tree. Create a static
    288289      device node in <filename>/usr/lib/udev/devices</filename> with the
     
    296297
    297298    <sect3>
    298       <title>Device naming order changes randomly after rebooting</title>
     299      <title>Device Naming Order Changes Randomly After Rebooting</title>
    299300
    300301      <para>This is due to the fact that udev, by design, handles uevents and
  • chapter09/usage.xml

    r888103d r1e6c82b  
    2020    <title>How Do the System V Bootscripts Work?</title>
    2121
    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>
    2731
    2832    <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-levels
    30     (actually, there are more run-levels, but they are for special cases and are
    31     generally not used. See <filename>init(8)</filename> for more details), and
    32     each one of those corresponds to the actions the computer is supposed to
    33     perform when it starts up. The default run-level is 3. Here are the
    34     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>
    3539
    3640<literallayout>0: halt the computer
    37411: single-user mode
    38 2: reserved for customization, otherwise does the same as 3
     422: reserved for customization, otherwise the same as 3
    39433: multi-user mode with networking
    40 4: reserved for customization, otherwise does the same as 3
     444: reserved for customization, otherwise the same as 3
    41455: same as 4, it is usually used for GUI login (like GNOME's <command>gdm</command> or LXDE's <command>lxdm</command>)
    42466: reboot the computer</literallayout>
     
    4650          Classically, run level 2 above was defined as
    4751          "multi-user mode without networking", but this was only the case
    48           many years ago when multiple users could log into a system connected via
    49           serial ports.  In today's environment it makes no sense and
    50           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".
    5155       </para>
    5256    </note>
     
    6670  </indexterm>
    6771
    68   <para>During the kernel initialization, the first program that is run
    69   is either specified on the command line or, by default
     72  <para>During kernel initialization, the first program that is run
     73  (if not overridden on the command line) is
    7074  <command>init</command>.  This program reads the initialization file
    7175  <filename>/etc/inittab</filename>.  Create this file with:</para>
     
    102106
    103107  <para>An explanation of this initialization file is in the man page for
    104   <emphasis>inittab</emphasis>.  For LFS, the key command that is run is
    105   <command>rc</command>. The initialization file above will instruct
     108  <emphasis>inittab</emphasis>.  In LFS, the key command is
     109  <command>rc</command>. The initialization file above instructs
    106110  <command>rc</command> to run all the scripts starting with an S in the
    107111  <filename class="directory">/etc/rc.d/rcS.d</filename> directory
     
    114118  This library also reads an optional configuration file,
    115119  <filename>/etc/sysconfig/rc.site</filename>.  Any of the system
    116   configuration file parameters described in subsequent sections can be
    117   alternatively placed in this file allowing consolidation of all system
     120  configuration parameters described in subsequent sections can be
     121  placed in this file, allowing consolidation of all system
    118122  parameters in this one file.</para>
    119123
     
    121125  to <filename>/run/var/bootlog</filename>.  Since the <filename
    122126  class="directory">/run</filename> directory is a tmpfs, this file is not
    123   persistent across boots, however it is appended to the more permanent file
     127  persistent across boots; however, it is appended to the more permanent file
    124128  <filename>/var/log/boot.log</filename> at the end of the boot process.</para>
    125129
     
    127131  <title>Changing Run Levels</title>
    128132
    129   <para>Changing run-levels is done with <command>init
     133  <para>Changing run levels is done with <command>init
    130134  <replaceable>&lt;runlevel&gt;</replaceable></command>, where
    131   <replaceable>&lt;runlevel&gt;</replaceable> is the target run-level. For example, to
     135  <replaceable>&lt;runlevel&gt;</replaceable> is the target run level. For example, to
    132136  reboot the computer, a user could issue the <command>init 6</command> command,
    133137  which is an alias for the <command>reboot</command> command. Likewise,
     
    137141  <para>There are a number of directories under <filename
    138142  class="directory">/etc/rc.d</filename> that look like <filename
    139   class="directory">rc?.d</filename> (where ? is the number of the run-level) and
     143  class="directory">rc?.d</filename> (where ? is the number of the run level) and
    140144  <filename class="directory">rcS.d</filename>, all containing a number of
    141   symbolic links. Some begin with a <emphasis>K</emphasis>, the others begin with
     145  symbolic links. Some links begin with a <emphasis>K</emphasis>; the others begin with
    142146  an <emphasis>S</emphasis>, and all of them have two numbers following the
    143147  initial letter. The K means to stop (kill) a service and the S means to start a
    144148  service. The numbers determine the order in which the scripts are run, from 00
    145   to 99&mdash;the lower the number the earlier it gets executed. When
    146   <command>init</command> switches to another run-level, the appropriate services
    147   are either started or stopped, depending on the runlevel chosen.</para>
     149  to 99&mdash;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>
    148152
    149153  <para>The real scripts are in <filename
     
    228232      <para>The <filename>/etc/rc.d/init.d/udev</filename> initscript starts
    229233      <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.
    231235      The script also unsets the uevent handler from the default of
    232236      <filename>/sbin/hotplug </filename>.  This is done because the kernel no
    233       longer needs to call out to an external binary.  Instead
     237      longer needs to call an external binary.  Instead,
    234238      <command>udevd</command> will listen on a netlink socket for uevents that
    235239      the kernel raises.</para>
    236240
    237       <para>The <command>/etc/rc.d/init.d/udev_retry</command> initscript takes
     241      <para>The <command>/etc/rc.d/init.d/udev_retry</command> script takes
    238242      care of re-triggering events for subsystems whose rules may rely on
    239       filesystems that are not mounted until the <command>mountfs</command>
     243      file systems that are not mounted until the <command>mountfs</command>
    240244      script is run (in particular, <filename class="directory">/usr</filename>
    241245      and <filename class="directory">/var</filename> may cause this).  This
    242246      script runs after the <command>mountfs</command> script, so those rules
    243247      (if re-triggered) should succeed the second time around.  It is
    244       configured from the <filename>/etc/sysconfig/udev_retry</filename> file;
     248      configured by the <filename>/etc/sysconfig/udev_retry</filename> file;
    245249      any words in this file other than comments are considered subsystem names
    246250      to trigger at retry time.  To find the subsystem of a device, use
    247251      <command>udevadm info --attribute-walk &lt;device&gt;</command> where
    248       &lt;device&gt; is an absolute path in /dev or /sys such as /dev/sr0 or
     252      &lt;device&gt; is an absolute path in /dev or /sys, such as /dev/sr0, or
    249253      /sys/class/rtc.</para>
    250254
     
    261265
    262266    <para>The <command>setclock</command> script reads the time from the hardware
    263     clock, also known as the BIOS or the Complementary Metal Oxide Semiconductor
     267    clock, also known as the BIOS or Complementary Metal Oxide Semiconductor
    264268    (CMOS) clock. If the hardware clock is set to UTC, this script will convert the
    265269    hardware clock's time to the local time using the
    266270    <filename>/etc/localtime</filename> file (which tells the
    267     <command>hwclock</command> program which timezone to use). There is no
     271    <command>hwclock</command> program which time zone to use). There is no
    268272    way to detect whether or not the hardware clock is set to UTC, so this
    269     needs to be configured manually.</para>
     273    must be configured manually.</para>
    270274
    271275    <para>The <command>setclock</command> program is run via
     
    280284    set to local time. If the output from <command>hwclock</command> is not local
    281285    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 by
     286    the proper number of hours for your time zone to the time shown by
    283287    <command>hwclock</command>. For example, if you are currently in the MST
    284     timezone, which is also known as GMT -0700, add seven hours to the local
     288    time zone, which is also known as GMT -0700, add seven hours to the local
    285289    time.</para>
    286290
     
    326330  bootscript that sets up the keyboard map, console font, and console kernel log
    327331  level. If non-ASCII characters (e.g., the copyright sign, the British pound
    328   sign and Euro symbol) will not be used and the keyboard is a U.S. one, much
     332  sign, and the Euro symbol) will not be used and the keyboard is a U.S. one, much
    329333  of this section can be skipped. Without the configuration file, (or
    330334  equivalent settings in <filename>rc.site</filename>), the
     
    334338  <filename>/etc/sysconfig/console</filename> file for configuration
    335339  information.  Decide which keymap and screen font will be used. Various
    336   language-specific HOWTOs can also help with this, see <ulink
     340  language-specific HOWTOs can also help with this; see <ulink
    337341  url="https://tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. If still in
    338342  doubt, look in the <filename class="directory">/usr/share/keymaps</filename>
    339343  and <filename class="directory">/usr/share/consolefonts</filename> directories
    340   for valid keymaps and screen fonts. Read <filename>loadkeys(1)</filename> and
     344  for valid keymaps and screen fonts. Read the <filename>loadkeys(1)</filename> and
    341345  <filename>setfont(8)</filename> manual pages to determine the correct
    342346  arguments for these programs.</para>
     
    359363      <listitem>
    360364        <para>This variable specifies the arguments for the
    361         <command>loadkeys</command> program, typically, the name of keymap
     365        <command>loadkeys</command> program, typically, the name of the keymap
    362366        to load, e.g., <quote>it</quote>. If this variable is not set, the
    363367        bootscript will not run the <command>loadkeys</command> program,
     
    391395        map to load. E.g., in order to load the <quote>lat1-16</quote> font
    392396        together with the <quote>8859-1</quote> application character map
    393         (as it is appropriate in the USA),
     397        (appropriate in the USA),
    394398        <!-- because of the copyright sign -->
    395399        set this variable to <quote>lat1-16 -m 8859-1</quote>.
    396         In UTF-8 mode, the kernel uses the application character map for
    397         conversion of composed 8-bit key codes in the keymap to UTF-8, and thus
     400        In UTF-8 mode, the kernel uses the application character map to
     401        convert 8-bit key codes to UTF-8. Therefore
    398402        the argument of the "-m" parameter should be set to the encoding of the
    399403        composed key codes in the keymap.</para>
     
    405409      <term>UNICODE</term>
    406410      <listitem>
    407         <para>Set this variable to <quote>1</quote>, <quote>yes</quote> or
     411        <para>Set this variable to <quote>1</quote>, <quote>yes</quote>, or
    408412        <quote>true</quote> in order to put the
    409413        console into UTF-8 mode. This is useful in UTF-8 based locales and
     
    523527      sometimes needs to put an accent on the letter <quote>alpha</quote>.
    524528      The solution is either to avoid the use of UTF-8, or to install the
    525       X window system that doesn't have this limitation in its input
     529      X window system, which doesn't have this limitation, in its input
    526530      handling.</para>
    527531    </listitem>
     
    532536      who need such languages should install the X Window System, fonts that
    533537      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>
    535539    </listitem>
    536540
     
    566570
    567571  <sect2 id="ch-config-sysklogd">
    568     <title>Configuring the sysklogd Script</title>
     572    <title>Configuring the Sysklogd Script</title>
    569573
    570574    <indexterm zone="ch-config-sysklogd">
     
    601605    <filename class='directory'>/etc/sysconfig/</filename> directory.  If the
    602606    associated variables are present in both these separate files and
    603     <filename>rc.site</filename>, the values in the script specific files have
    604     precedence. </para>
     607    <filename>rc.site</filename>, the values in the script-specific files take
     608    effect. </para>
    605609
    606610    <para><filename>rc.site</filename> also contains parameters that can
     
    616620
    617621      <para>The LFS boot scripts boot and shut down a system in a fairly
    618       efficient manner, but there are a few tweaks that you can make in the
    619       rc.site file to improve speed even more and to adjust messages according
     622      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
    620624      to your preferences. To do this, adjust the settings in
    621625      the <filename>/etc/sysconfig/rc.site</filename> file above.</para>
     
    625629      <listitem><para>During the boot script <filename>udev</filename>, there is
    626630      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 present
     631      complete. This time may or may not be required depending on the devices
    628632      in the system.  If you only have simple partitions and a single ethernet
    629633      card, the boot process will probably not need to wait for this command.  To
     
    631635
    632636      <listitem><para>The boot script <filename>udev_retry</filename> also runs
    633       <command>udev settle</command> by default.  This command is only needed by
    634       default if the <filename class='directory'>/var</filename> directory is
    635       separately mounted.  This is because the clock needs the file
    636       <filename>/var/lib/hwclock/adjtime</filename>.  Other customizations may
     637      <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
    637641      also need to wait for udev to complete, but in many installations it is not
    638       needed.  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.
    639643      </para></listitem>
    640644
     
    665669      <listitem><para>During shutdown, the <command>init</command> program sends
    666670      a TERM signal to each program it has started (e.g. agetty), waits for a set
    667       time (default 3 seconds), and sends each process a KILL signal and waits
     671      time (default 3 seconds), then sends each process a KILL signal and waits
    668672      again.  This process is repeated in the <command>sendsignals</command>
    669673      script for any processes that are not shut down by their own scripts.  The
  • patches.ent

    r888103d r1e6c82b  
    9292<!ENTITY sysvinit-consolidated-patch-size "2.5 KB">
    9393
    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
    9999<!--
    100100<!ENTITY xz-upstream-fix-patch "xz-&xz-version;-upstream_fix-1.patch">
  • prologue/why.xml

    r888103d r1e6c82b  
    329329        <para>Libcap</para>
    330330
    331         <para>This package implements the user-space interfaces to
     331        <para>This package implements the userspace interfaces to
    332332        the POSIX 1003.1e capabilities available in Linux kernels.
    333333        </para>
Note: See TracChangeset for help on using the changeset viewer.