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

This commit is contained in:
Bruce Dubbs 2022-12-31 11:15:00 -06:00
commit 1e6c82bb09
25 changed files with 352 additions and 309 deletions

View File

@ -39,6 +39,16 @@
<listitem revision="sysv"> or <listitem revision="systemd"> as <listitem revision="sysv"> or <listitem revision="systemd"> as
appropriate for the entry or if needed the entire day's listitem. appropriate for the entry or if needed the entire day's listitem.
--> -->
<listitem revision="systemd">
<para>2022-12-28</para>
<itemizedlist>
<listitem>
<para>[renodr] - Patch systemd against CVE-2022-4415. Fixes
<ulink url="&lfs-ticket-root;5187">#5187</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem> <listitem>
<para>2022-12-31</para> <para>2022-12-31</para>
<itemizedlist> <itemizedlist>
@ -91,7 +101,7 @@
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to vim-9.0.1060. Addresses <para>[bdubbs] - Update to vim-9.0.1060. Addresses
<ulink url="&lfs-ticket-root;5006">#5006</ulink>.</para> <ulink url="&lfs-ticket-root;4500">#4500</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to iproute2-6.1.0. Fixes <para>[bdubbs] - Update to iproute2-6.1.0. Fixes

View File

@ -299,6 +299,10 @@
<listitem> <listitem>
<para>&readline-fixes-patch;</para> <para>&readline-fixes-patch;</para>
</listitem> </listitem>
<listitem revision="systemd">
<para>&systemd-upstream-patch;</para>
</listitem>
</itemizedlist> </itemizedlist>
<itemizedlist> <itemizedlist>

View File

@ -135,7 +135,7 @@
</listitem> </listitem>
</varlistentry> </varlistentry>
<!--
<varlistentry revision="systemd"> <varlistentry revision="systemd">
<term>Systemd Upstream Patch - <token>&systemd-upstream-patch-size;</token>:</term> <term>Systemd Upstream Patch - <token>&systemd-upstream-patch-size;</token>:</term>
<listitem> <listitem>
@ -143,7 +143,7 @@
<para>MD5 sum: <literal>&systemd-upstream-patch-md5;</literal></para> <para>MD5 sum: <literal>&systemd-upstream-patch-md5;</literal></para>
</listitem> </listitem>
</varlistentry> </varlistentry>
-->
<!-- <!--
<varlistentry> <varlistentry>
<term>Xz Upstream Fix Patch - <token>&xz-upstream-fix-patch-size;</token>:</term> <term>Xz Upstream Fix Patch - <token>&xz-upstream-fix-patch-size;</token>:</term>

View File

@ -17,8 +17,8 @@
the debugger can provide not only memory addresses, but also the debugger can provide not only memory addresses, but also
the names of the routines and variables.</para> the names of the routines and variables.</para>
<para>However, the inclusion of these debugging symbols enlarges a <para>The inclusion of these debugging symbols enlarges a
program or library significantly. The following is an example of the program or library significantly. Here are two examples of the
amount of space these symbols occupy:</para> amount of space these symbols occupy:</para>
<itemizedlist> <itemizedlist>
@ -28,7 +28,7 @@
</listitem> </listitem>
<listitem> <listitem>
<para>A <command>bash</command> binary without debugging symbols: <para>A <command>bash</command> binary without debugging symbols:
480 KB</para> 480 KB (60% smaller)</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Glibc and GCC files (<filename class="directory">/lib</filename> <para>Glibc and GCC files (<filename class="directory">/lib</filename>
@ -36,15 +36,14 @@
symbols: 87 MB</para> symbols: 87 MB</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Glibc and GCC files without debugging symbols: 16 MB</para> <para>Glibc and GCC files without debugging symbols: 16 MB (82% smaller)</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<para>Sizes may vary depending on which compiler and C library were used, <para>Sizes will vary depending on which compiler and C library were used,
but when comparing programs with and without debugging symbols, the but a program that has been stripped of debugging symbols is usually some
difference will usually be a factor between two and five.</para> 50% to 80% smaller than its unstripped counterpart.
Because most users will never use a debugger on their system software,
<para>Because most users will never use a debugger on their system software,
a lot of disk space can be regained by removing these symbols. The next a lot of disk space can be regained by removing these symbols. The next
section shows how to strip all debugging symbols from the programs and section shows how to strip all debugging symbols from the programs and
libraries.</para> libraries.</para>

View File

@ -10,16 +10,16 @@
<title>Cleaning Up</title> <title>Cleaning Up</title>
<para>Finally, clean up some extra files left around from running tests:</para> <para>Finally, clean up some extra files left over from running tests:</para>
<screen><userinput>rm -rf /tmp/*</userinput></screen> <screen><userinput>rm -rf /tmp/*</userinput></screen>
<para>There are also several files installed in the /usr/lib and /usr/libexec <para>There are also several files in the /usr/lib and /usr/libexec
directories with a file name extension of .la. These are "libtool archive" directories with a file name extension of .la. These are "libtool archive"
files. As already said, on a modern Linux system the libtool .la files are files. On a modern Linux system the libtool .la files are
only useful for libltdl. No libraries in LFS are expected to be loaded only useful for libltdl. No libraries in LFS are expected to be loaded
by libltdl, and it's known that some .la files can cause BLFS packages by libltdl, and it's known that some .la files can break BLFS package
fail to build. Remove those files now:</para> builds. Remove those files now:</para>
<screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput></screen> <screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput></screen>

View File

@ -23,7 +23,7 @@
<sect2 role="package"> <sect2 role="package">
<title/> <title/>
<para>The e2fsprogs package contains the utilities for handling the <para>The E2fsprogs package contains the utilities for handling the
<systemitem class="filesystem">ext2</systemitem> file system. It also <systemitem class="filesystem">ext2</systemitem> file system. It also
supports the <systemitem class="filesystem">ext3</systemitem> and supports the <systemitem class="filesystem">ext3</systemitem> and
<systemitem class="filesystem">ext4</systemitem> journaling <systemitem class="filesystem">ext4</systemitem> journaling
@ -44,13 +44,13 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of E2fsprogs</title> <title>Installation of E2fsprogs</title>
<para>The e2fsprogs documentation recommends that the package be built in <para>The E2fsprogs documentation recommends that the package be built in
a subdirectory of the source tree: </para> a subdirectory of the source tree: </para>
<screen><userinput remap="pre">mkdir -v build <screen><userinput remap="pre">mkdir -v build
cd build</userinput></screen> cd build</userinput></screen>
<para>Prepare e2fsprogs for compilation:</para> <para>Prepare E2fsprogs for compilation:</para>
<screen><userinput remap="configure">../configure --prefix=/usr \ <screen><userinput remap="configure">../configure --prefix=/usr \
--sysconfdir=/etc \ --sysconfdir=/etc \
@ -74,11 +74,11 @@ cd build</userinput></screen>
<varlistentry> <varlistentry>
<term><parameter>--disable-*</parameter></term> <term><parameter>--disable-*</parameter></term>
<listitem> <listitem>
<para>This prevents e2fsprogs from building and installing the <para>These prevent building and installing the
<systemitem class="library">libuuid</systemitem> and <systemitem class="library">libuuid</systemitem> and
<systemitem class="library">libblkid</systemitem> libraries, the <systemitem class="library">libblkid</systemitem> libraries, the
<systemitem class="daemon">uuidd</systemitem> daemon, and the <systemitem class="daemon">uuidd</systemitem> daemon, and the
<command>fsck</command> wrapper, as util-linux installs more <command>fsck</command> wrapper; util-linux installs more
recent versions.</para> recent versions.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -175,11 +175,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
<varlistentry id="chattr"> <varlistentry id="chattr">
<term><command>chattr</command></term> <term><command>chattr</command></term>
<listitem> <listitem>
<para>Changes the attributes of files on an <systemitem <para>Changes the attributes of files on <systemitem
class="filesystem">ext2</systemitem> file system; it also class="filesystem">ext{234}</systemitem> file systems</para>
changes <systemitem class="filesystem">ext3</systemitem>
file systems, the journaling version of <systemitem
class="filesystem">ext2</systemitem> file systems</para>
<indexterm zone="ch-system-e2fsprogs chattr"> <indexterm zone="ch-system-e2fsprogs chattr">
<primary sortas="b-chattr">chattr</primary> <primary sortas="b-chattr">chattr</primary>
</indexterm> </indexterm>
@ -202,8 +199,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
<term><command>debugfs</command></term> <term><command>debugfs</command></term>
<listitem> <listitem>
<para>A file system debugger; it can be used to examine and change <para>A file system debugger; it can be used to examine and change
the state of an <systemitem class="filesystem">ext2</systemitem> the state of <systemitem class="filesystem">ext{234}</systemitem>
file system</para> file systems</para>
<indexterm zone="ch-system-e2fsprogs debugfs"> <indexterm zone="ch-system-e2fsprogs debugfs">
<primary sortas="b-debugfs">debugfs</primary> <primary sortas="b-debugfs">debugfs</primary>
</indexterm> </indexterm>
@ -234,9 +231,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
<varlistentry id="e2fsck"> <varlistentry id="e2fsck">
<term><command>e2fsck</command></term> <term><command>e2fsck</command></term>
<listitem> <listitem>
<para>Is used to check, and optionally repair <systemitem <para>Is used to check and optionally repair <systemitem
class="filesystem">ext2</systemitem> file systems and <systemitem class="filesystem">ext{234}</systemitem> file systems</para>
class="filesystem">ext3</systemitem> file systems</para>
<indexterm zone="ch-system-e2fsprogs e2fsck"> <indexterm zone="ch-system-e2fsprogs e2fsck">
<primary sortas="b-e2fsck">e2fsck</primary> <primary sortas="b-e2fsck">e2fsck</primary>
</indexterm> </indexterm>
@ -247,7 +243,7 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
<term><command>e2image</command></term> <term><command>e2image</command></term>
<listitem> <listitem>
<para>Is used to save critical <systemitem <para>Is used to save critical <systemitem
class="filesystem">ext2</systemitem> file system data to a file</para> class="filesystem">ext{234}</systemitem> file system data to a file</para>
<indexterm zone="ch-system-e2fsprogs e2image"> <indexterm zone="ch-system-e2fsprogs e2image">
<primary sortas="b-e2image">e2image</primary> <primary sortas="b-e2image">e2image</primary>
</indexterm> </indexterm>
@ -258,7 +254,7 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
<term><command>e2label</command></term> <term><command>e2label</command></term>
<listitem> <listitem>
<para>Displays or changes the file system label on the <systemitem <para>Displays or changes the file system label on the <systemitem
class="filesystem">ext2</systemitem> file system present on a given class="filesystem">ext{234}</systemitem> file system on a given
device</para> device</para>
<indexterm zone="ch-system-e2fsprogs e2label"> <indexterm zone="ch-system-e2fsprogs e2label">
<primary sortas="b-e2label">e2label</primary> <primary sortas="b-e2label">e2label</primary>
@ -269,7 +265,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
<varlistentry id="e2mmpstatus"> <varlistentry id="e2mmpstatus">
<term><command>e2mmpstatus</command></term> <term><command>e2mmpstatus</command></term>
<listitem> <listitem>
<para>Checks MMP status of an ext4 filesystem</para> <para>Checks MMP (Multiple Mount Protection) status of an <systemitem
class="filesystem">ext4</systemitem> file system</para>
<indexterm zone="ch-system-e2fsprogs e2mmpstatus"> <indexterm zone="ch-system-e2fsprogs e2mmpstatus">
<primary sortas="b-e2mmpstatus">e2mmpstatus</primary> <primary sortas="b-e2mmpstatus">e2mmpstatus</primary>
</indexterm> </indexterm>
@ -279,7 +276,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
<varlistentry id="e2scrub"> <varlistentry id="e2scrub">
<term><command>e2scrub</command></term> <term><command>e2scrub</command></term>
<listitem> <listitem>
<para>Checks the contents of a mounted ext[234] filesystem</para> <para>Checks the contents of a mounted <systemitem
class="filesystem">ext{234}</systemitem> file system</para>
<indexterm zone="ch-system-e2fsprogs e2scrub"> <indexterm zone="ch-system-e2fsprogs e2scrub">
<primary sortas="b-e2scrub">e2scrub</primary> <primary sortas="b-e2scrub">e2scrub</primary>
</indexterm> </indexterm>
@ -289,7 +287,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
<varlistentry id="e2scrub_all"> <varlistentry id="e2scrub_all">
<term><command>e2scrub_all</command></term> <term><command>e2scrub_all</command></term>
<listitem> <listitem>
<para>Checks all mounted ext[234] filesystems for errors</para> <para>Checks all mounted <systemitem class="filesystem">ext{234}</systemitem>
file systems for errors</para>
<indexterm zone="ch-system-e2fsprogs e2scrub_all"> <indexterm zone="ch-system-e2fsprogs e2scrub_all">
<primary sortas="b-e2scrub_all">e2scrub_all</primary> <primary sortas="b-e2scrub_all">e2scrub_all</primary>
</indexterm> </indexterm>
@ -299,9 +298,10 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
<varlistentry id="e2undo"> <varlistentry id="e2undo">
<term><command>e2undo</command></term> <term><command>e2undo</command></term>
<listitem> <listitem>
<para>Replays the undo log undo_log for an ext2/ext3/ext4 filesystem <para>Replays the undo log for an <systemitem
found on a device [This can be used to undo a failed operation by an class="filesystem">ext{234}</systemitem> file system
e2fsprogs program.]</para> found on a device. [This can be used to undo a failed operation by an
E2fsprogs program.]</para>
<indexterm zone="ch-system-e2fsprogs e2undo"> <indexterm zone="ch-system-e2fsprogs e2undo">
<primary sortas="b-e2undo">e2undo</primary> <primary sortas="b-e2undo">e2undo</primary>
</indexterm> </indexterm>
@ -311,7 +311,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
<varlistentry id="e4crypt"> <varlistentry id="e4crypt">
<term><command>e4crypt</command></term> <term><command>e4crypt</command></term>
<listitem> <listitem>
<para>Ext4 filesystem encryption utility</para> <para><systemitem class="filesystem">Ext4</systemitem>
file system encryption utility</para>
<indexterm zone="ch-system-e2fsprogs e4crypt"> <indexterm zone="ch-system-e2fsprogs e4crypt">
<primary sortas="b-e4crypt">e4crypt</primary> <primary sortas="b-e4crypt">e4crypt</primary>
</indexterm> </indexterm>
@ -321,7 +322,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
<varlistentry id="e4defrag"> <varlistentry id="e4defrag">
<term><command>e4defrag</command></term> <term><command>e4defrag</command></term>
<listitem> <listitem>
<para>Online defragmenter for ext4 filesystems</para> <para>Online defragmenter for <systemitem
class="filesystem">ext4</systemitem> file systems</para>
<indexterm zone="ch-system-e2fsprogs e4defrag"> <indexterm zone="ch-system-e2fsprogs e4defrag">
<primary sortas="b-e4defrag">e4defrag</primary> <primary sortas="b-e4defrag">e4defrag</primary>
</indexterm> </indexterm>
@ -407,9 +409,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
<varlistentry id="mke2fs"> <varlistentry id="mke2fs">
<term><command>mke2fs</command></term> <term><command>mke2fs</command></term>
<listitem> <listitem>
<para>Creates an <systemitem class="filesystem">ext2</systemitem> <para>Creates an <systemitem class="filesystem">ext{234}</systemitem>
or <systemitem class="filesystem">ext3</systemitem> file system on file system on the given device</para>
the given device</para>
<indexterm zone="ch-system-e2fsprogs mke2fs"> <indexterm zone="ch-system-e2fsprogs mke2fs">
<primary sortas="b-mke2fs">mke2fs</primary> <primary sortas="b-mke2fs">mke2fs</primary>
</indexterm> </indexterm>
@ -452,8 +453,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
<varlistentry id="mklost-found"> <varlistentry id="mklost-found">
<term><command>mklost+found</command></term> <term><command>mklost+found</command></term>
<listitem> <listitem>
<para>Used to create a <filename class="directory">lost+found</filename> <para>Creates a <filename class="directory">lost+found</filename>
directory on an <systemitem class="filesystem">ext2</systemitem> file directory on an <systemitem class="filesystem">ext{234}</systemitem> file
system; it pre-allocates disk blocks to this directory to lighten the system; it pre-allocates disk blocks to this directory to lighten the
task of <command>e2fsck</command></para> task of <command>e2fsck</command></para>
<indexterm zone="ch-system-e2fsprogs mklost-found"> <indexterm zone="ch-system-e2fsprogs mklost-found">
@ -465,8 +466,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
<varlistentry id="resize2fs"> <varlistentry id="resize2fs">
<term><command>resize2fs</command></term> <term><command>resize2fs</command></term>
<listitem> <listitem>
<para>Can be used to enlarge or shrink an <systemitem <para>Can be used to enlarge or shrink <systemitem
class="filesystem">ext2</systemitem> file system</para> class="filesystem">ext{234}</systemitem> file systems</para>
<indexterm zone="ch-system-e2fsprogs resize2fs"> <indexterm zone="ch-system-e2fsprogs resize2fs">
<primary sortas="b-resize2fs">resize2fs</primary> <primary sortas="b-resize2fs">resize2fs</primary>
</indexterm> </indexterm>
@ -476,8 +477,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
<varlistentry id="tune2fs"> <varlistentry id="tune2fs">
<term><command>tune2fs</command></term> <term><command>tune2fs</command></term>
<listitem> <listitem>
<para>Adjusts tunable file system parameters on an <systemitem <para>Adjusts tunable file system parameters on <systemitem
class="filesystem">ext2</systemitem> file system</para> class="filesystem">ext{234}</systemitem> file systems</para>
<indexterm zone="ch-system-e2fsprogs tune2fs"> <indexterm zone="ch-system-e2fsprogs tune2fs">
<primary sortas="b-tune2fs">tune2fs</primary> <primary sortas="b-tune2fs">tune2fs</primary>
</indexterm> </indexterm>
@ -508,8 +509,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
<varlistentry id="libext2fs"> <varlistentry id="libext2fs">
<term><filename class="libraryfile">libext2fs</filename></term> <term><filename class="libraryfile">libext2fs</filename></term>
<listitem> <listitem>
<para>Contains routines to enable user-level programs to manipulate an <para>Contains routines to enable user-level programs to manipulate
<systemitem class="filesystem">ext2</systemitem> file system</para> <systemitem class="filesystem">ext{234}</systemitem> file systems</para>
<indexterm zone="ch-system-e2fsprogs libext2fs"> <indexterm zone="ch-system-e2fsprogs libext2fs">
<primary sortas="c-libext2fs">libext2fs</primary> <primary sortas="c-libext2fs">libext2fs</primary>
</indexterm> </indexterm>

View File

@ -61,7 +61,7 @@
<screen><userinput remap="install">make LN='ln -f' install</userinput></screen> <screen><userinput remap="install">make LN='ln -f' install</userinput></screen>
<variablelist> <variablelist>
<title>The meaning of the make environment variable:</title> <title>The meaning of the overridden make variable:</title>
<varlistentry> <varlistentry>
<term><envar>LN='ln -f'</envar></term> <term><envar>LN='ln -f'</envar></term>
@ -88,7 +88,7 @@ cp -v doc/{awkforai.txt,*.{eps,pdf,jpg}} /usr/share/doc/gawk-&gawk-version;</
<segtitle>Installed directories</segtitle> <segtitle>Installed directories</segtitle>
<seglistitem> <seglistitem>
<seg>awk (link to gawk), gawk, and awk-&gawk-version;</seg> <seg>awk (link to gawk), gawk, and gawk-&gawk-version;</seg>
<seg>filefuncs.so, fnmatch.so, fork.so, inplace.so, intdiv.so, ordchr.so, <seg>filefuncs.so, fnmatch.so, fork.so, inplace.so, intdiv.so, ordchr.so,
readdir.so, readfile.so, revoutput.so, revtwoway.so, rwarray.so, readdir.so, readfile.so, revoutput.so, revtwoway.so, rwarray.so,
and time.so (all in /usr/lib/gawk)</seg> and time.so (all in /usr/lib/gawk)</seg>

View File

@ -23,7 +23,7 @@
<sect2 role="package"> <sect2 role="package">
<title/> <title/>
<para>The Libcap package implements the user-space interface to the POSIX <para>The Libcap package implements the userspace interface to the POSIX
1003.1e capabilities available in Linux kernels. These capabilities 1003.1e capabilities available in Linux kernels. These capabilities
partition the all-powerful root privilege into a set of distinct partition the all-powerful root privilege into a set of distinct
privileges.</para> privileges.</para>

View File

@ -77,7 +77,7 @@
<varlistentry> <varlistentry>
<term><parameter>--enable-cache-owner=bin</parameter></term> <term><parameter>--enable-cache-owner=bin</parameter></term>
<listitem> <listitem>
<para>This makes the system-wide cache files be owned by user <para>This changes ownership of the system-wide cache files to user
<systemitem class="username">bin</systemitem>.</para> <systemitem class="username">bin</systemitem>.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>

View File

@ -40,7 +40,7 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of Procps-ng</title> <title>Installation of Procps-ng</title>
<para>Prepare procps-ng for compilation:</para> <para>Prepare Procps-ng for compilation:</para>
<screen revision="sysv"><userinput remap="configure">./configure --prefix=/usr \ <screen revision="sysv"><userinput remap="configure">./configure --prefix=/usr \
--docdir=/usr/share/doc/procps-ng-&procps-ng-version; \ --docdir=/usr/share/doc/procps-ng-&procps-ng-version; \
@ -60,7 +60,7 @@
<term><parameter>--disable-kill</parameter></term> <term><parameter>--disable-kill</parameter></term>
<listitem> <listitem>
<para>This switch disables building the <command>kill</command> <para>This switch disables building the <command>kill</command>
command that will be installed by the Util-linux package.</para> command; it will be installed from the Util-linux package.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
</variablelist> </variablelist>
@ -181,7 +181,7 @@ make check</userinput></screen>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry id="pwait"> <!-- <varlistentry id="pwait">
<term><command>pwait</command></term> <term><command>pwait</command></term>
<listitem> <listitem>
<para>Waits for a process to finish before executing.</para> <para>Waits for a process to finish before executing.</para>
@ -189,7 +189,8 @@ make check</userinput></screen>
<primary sortas="b-pwait">pwait</primary> <primary sortas="b-pwait">pwait</primary>
</indexterm> </indexterm>
</listitem> </listitem>
</varlistentry> </varlistentry> This program no longer exists;
it's already been removed from the Installed programs list. -->
<varlistentry id="pwdx"> <varlistentry id="pwdx">
<term><command>pwdx</command></term> <term><command>pwdx</command></term>

View File

@ -12,39 +12,39 @@
<para>This section is optional. If the intended user is not a <para>This section is optional. If the intended user is not a
programmer and does not plan to do programmer and does not plan to do
any debugging on the system software, the system size can be decreased any debugging of the system software, the system's size can be decreased
by about 2 GB by removing the debugging symbols and unneeded symbol table by some 2 GB by removing the debugging symbols, and some unnecessary symbol table
entries from binaries and libraries. This causes no inconvenience other entries, from binaries and libraries. This causes no real inconvenience for
than not being able to debug the software fully anymore.</para> a typical Linux user.</para>
<para>Most people who use the commands mentioned below do not <para>Most people who use the commands mentioned below do not
experience any difficulties. However, it is easy to make a typo and experience any difficulties. However, it is easy to make a mistake and
render the new system unusable, so before running the render the new system unusable. So before running the
<command>strip</command> commands, it is a good idea to make a <command>strip</command> commands, it is a good idea to make a
backup of the LFS system in its current state.</para> backup of the LFS system in its current state.</para>
<para>A <command>strip</command> command with <para>A <command>strip</command> command with the
<parameter>--strip-unneeded</parameter> option removes all debug symbols <parameter>--strip-unneeded</parameter> option removes all debug symbols
from a binary or library. And, it removes all symbol table entries not from a binary or library. It also removes all symbol table entries not
needed by the linker (for static libraries) or dynamic linker (for needed by the linker (for static libraries) or dynamic linker (for
dynamic-linked binaries and shared libraries).</para> dynamically linked binaries and shared libraries).</para>
<para>The debugging symbols for selected libraries are placed <para>The debugging symbols from selected libraries are preserved
in separate files. This debugging information is needed if running in separate files. That debugging information is needed to run
regression tests that use <ulink regression tests with <ulink
url='&blfs-book;/general/valgrind.html'>valgrind</ulink> or <ulink url='&blfs-book;/general/valgrind.html'>valgrind</ulink> or <ulink
url='&blfs-book;/general/gdb.html'>gdb</ulink> later in BLFS. url='&blfs-book;/general/gdb.html'>gdb</ulink> later, in BLFS.
</para> </para>
<para>Note that <command>strip</command> will overwrite the binary or library <para>Note that <command>strip</command> will overwrite the binary or library
file it is processing. This can crash the processes using code or data from file it is processing. This can crash the processes using code or data from
the file. If the process running <command>strip</command> itself is the file. If the process running <command>strip</command> is
affected, the binary or library being stripped can be destroyed and can affected, the binary or library being stripped can be destroyed; this can
make the system completely unusable. To avoid it, we'll copy some libraries make the system completely unusable. To avoid this problem we copy some libraries
and binaries into <filename class="directory">/tmp</filename>, strip them and binaries into <filename class="directory">/tmp</filename>, strip them
there, and install them back with the <command>install</command> command. there, then reinstall them with the <command>install</command> command.
Read the related entry in <xref linkend="pkgmgmt-upgrade-issues"/> for the (The related entry in <xref linkend="pkgmgmt-upgrade-issues"/> gives the
rationale to use the <command>install</command> command here.</para> rationale for using the <command>install</command> command here.)</para>
<note><para>The ELF loader's name is ld-linux-x86-64.so.2 on 64-bit systems <note><para>The ELF loader's name is ld-linux-x86-64.so.2 on 64-bit systems
and ld-linux.so.2 on 32-bit systems. The construct below selects the and ld-linux.so.2 on 32-bit systems. The construct below selects the
@ -111,8 +111,8 @@ done
unset BIN LIB save_usrlib online_usrbin online_usrlib unset BIN LIB save_usrlib online_usrbin online_usrlib
</userinput></screen> </userinput></screen>
<para>A large number of files will be reported as having their file <para>A large number of files will be flagged as errors because their file
format not recognized. These warnings can be safely ignored. They format is not recognized. These warnings can be safely ignored. They
indicate that those files are scripts instead of binaries.</para> indicate that those files are scripts, not binaries.</para>
</sect1> </sect1>

View File

@ -23,8 +23,8 @@
<sect2 role="package"> <sect2 role="package">
<title/> <title/>
<para>The sysklogd package contains programs for logging system messages, <para>The Sysklogd package contains programs for logging system messages,
such as those given by the kernel when unusual things happen.</para> such as those emitted by the kernel when unusual things happen.</para>
<segmentedlist> <segmentedlist>
<segtitle>&buildtime;</segtitle> <segtitle>&buildtime;</segtitle>
@ -41,8 +41,8 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of Sysklogd</title> <title>Installation of Sysklogd</title>
<para>First, fix problems that causes a segmentation fault under <para>First, fix a problem that causes a segmentation fault in klogd
some conditions in klogd and fix an obsolete program construct:</para> under some conditions, and fix an obsolete program construct:</para>
<screen><userinput remap="pre">sed -i '/Error loading kernel symbols/{n;n;d}' ksym_mod.c <screen><userinput remap="pre">sed -i '/Error loading kernel symbols/{n;n;d}' ksym_mod.c
sed -i 's/union wait/int/' syslogd.c</userinput></screen> sed -i 's/union wait/int/' syslogd.c</userinput></screen>

View File

@ -40,11 +40,11 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of systemd</title> <title>Installation of systemd</title>
<!--
<para>First, fix an issue introduced by glibc-2.36.</para> <para>First, fix a security issue in systemd-coredump:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&systemd-upstream-patch;</userinput></screen> <screen><userinput remap="pre">patch -Np1 -i ../&systemd-upstream-patch;</userinput></screen>
-->
<para>Remove two unneeded groups, <para>Remove two unneeded groups,
<systemitem class="groupname">render</systemitem> and <systemitem class="groupname">render</systemitem> and

View File

@ -115,7 +115,7 @@
<varlistentry id="fstab-decode"> <varlistentry id="fstab-decode">
<term><command>fstab-decode</command></term> <term><command>fstab-decode</command></term>
<listitem> <listitem>
<para>Run a command with fstab-encoded arguments</para> <para>Runs a command with fstab-encoded arguments</para>
<indexterm zone="ch-system-sysvinit fstab-decode"> <indexterm zone="ch-system-sysvinit fstab-decode">
<primary sortas="b-fstab-decode">fstab-decode</primary> <primary sortas="b-fstab-decode">fstab-decode</primary>
</indexterm> </indexterm>
@ -126,10 +126,10 @@
<term><command>halt</command></term> <term><command>halt</command></term>
<listitem> <listitem>
<para>Normally invokes <command>shutdown</command> with the <para>Normally invokes <command>shutdown</command> with the
<parameter>-h</parameter> option, except when already in run-level 0, <parameter>-h</parameter> option, but when already in run-level 0,
then it tells the kernel to halt the system; it notes in the it tells the kernel to halt the system; it notes in the
file <filename>/var/log/wtmp</filename> that the system is being file <filename>/var/log/wtmp</filename> that the system is
brought down</para> going down</para>
<indexterm zone="ch-system-sysvinit halt-sysv"> <indexterm zone="ch-system-sysvinit halt-sysv">
<primary sortas="b-halt">halt</primary> <primary sortas="b-halt">halt</primary>
</indexterm> </indexterm>
@ -140,8 +140,8 @@
<term><command>init</command></term> <term><command>init</command></term>
<listitem> <listitem>
<para>The first process to be started when the kernel has initialized <para>The first process to be started when the kernel has initialized
the hardware which takes over the boot process and starts all the the hardware; it takes over the boot process and starts all the
proceses specified in its configuration file</para> processes specified in its configuration file</para>
<indexterm zone="ch-system-sysvinit init-sysv"> <indexterm zone="ch-system-sysvinit init-sysv">
<primary sortas="b-init">init</primary> <primary sortas="b-init">init</primary>
</indexterm> </indexterm>
@ -152,7 +152,7 @@
<term><command>killall5</command></term> <term><command>killall5</command></term>
<listitem> <listitem>
<para>Sends a signal to all processes, except the processes in its own <para>Sends a signal to all processes, except the processes in its own
session so it will not kill its parent shell</para> session; it will not kill its parent shell</para>
<indexterm zone="ch-system-sysvinit killall5"> <indexterm zone="ch-system-sysvinit killall5">
<primary sortas="b-killall5">killall5</primary> <primary sortas="b-killall5">killall5</primary>
</indexterm> </indexterm>

View File

@ -77,7 +77,7 @@
--docdir=/usr/share/doc/util-linux-&util-linux-version;</userinput></screen> --docdir=/usr/share/doc/util-linux-&util-linux-version;</userinput></screen>
<para>The --disable and --without options prevent warnings about <para>The --disable and --without options prevent warnings about
building components that require packages not in LFS or are building components that either require packages not in LFS, or are
inconsistent with programs installed by other packages.</para> inconsistent with programs installed by other packages.</para>
<para>Compile the package:</para> <para>Compile the package:</para>
@ -92,7 +92,7 @@
be available in the currently running system and must be built as a be available in the currently running system and must be built as a
module. Building it into the kernel will prevent booting. For complete module. Building it into the kernel will prevent booting. For complete
coverage, other BLFS packages must be installed. If desired, this test can coverage, other BLFS packages must be installed. If desired, this test can
be run after rebooting into the completed LFS system and running:</para> be run by booting into the completed LFS system and running:</para>
<screen role="nodump"><userinput>bash tests/run.sh --srcdir=$PWD --builddir=$PWD</userinput></screen> <screen role="nodump"><userinput>bash tests/run.sh --srcdir=$PWD --builddir=$PWD</userinput></screen>
</warning> </warning>
@ -125,16 +125,17 @@ su tester -c "make -k check"</userinput></screen>
<seg>addpart, agetty, blkdiscard, blkid, blkzone, blockdev, cal, cfdisk, chcpu, <seg>addpart, agetty, blkdiscard, blkid, blkzone, blockdev, cal, cfdisk, chcpu,
chmem, choom, chrt, col, colcrt, colrm, column, ctrlaltdel, delpart, dmesg, chmem, choom, chrt, col, colcrt, colrm, column, ctrlaltdel, delpart, dmesg,
eject, fallocate, fdisk, fincore, findfs, findmnt, flock, fsck, eject, fallocate, fdisk, fincore, findfs, findmnt, flock, fsck,
fsck.cramfs, fsck.minix, fsfreeze, fstrim, getopt, hexdump, hwclock, fsck.cramfs, fsck.minix, fsfreeze, fstrim, getopt, hardlink, hexdump, hwclock,
i386, ionice, ipcmk, ipcrm, ipcs, irqtop, isosize, kill, last, lastb (link to i386 (link to setarch), ionice, ipcmk, ipcrm, ipcs, irqtop, isosize, kill, last,
last), ldattach, linux32, linux64, logger, look, losetup, lsblk, lscpu, lastb (link to last), ldattach, linux32 (link to setarch), linux64 (link to setarch),
lsipc, lsirq, lslocks, lslogins, lsmem, lsns, mcookie, mesg, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap, logger, look, losetup, lsblk, lscpu, lsipc, lsirq, lsfd, lslocks, lslogins,
lsmem, lsns, mcookie, mesg, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap,
more, mount, mountpoint, namei, nsenter, partx, pivot_root, prlimit, more, mount, mountpoint, namei, nsenter, partx, pivot_root, prlimit,
readprofile, rename, renice, resizepart, rev, rfkill, rtcwake, script, readprofile, rename, renice, resizepart, rev, rfkill, rtcwake, script,
scriptlive, scriptreplay, setarch, setsid, setterm, sfdisk, sulogin, swaplabel, scriptlive, scriptreplay, setarch, setsid, setterm, sfdisk, sulogin, swaplabel,
swapoff (link to swapon), swapon, switch_root, taskset, uclampset, ul, swapoff, swapon, switch_root, taskset, uclampset, ul,
umount, uname26, unshare, utmpdump, uuidd, uuidgen, uuidparse, wall, wdctl, whereis, umount, uname26 (link to setarch), unshare, utmpdump, uuidd, uuidgen, uuidparse,
wipefs, x86_64, and zramctl</seg> wall, wdctl, whereis, wipefs, x86_64 (link to setarch), and zramctl</seg>
<seg>libblkid.so, libfdisk.so, libmount.so, <seg>libblkid.so, libfdisk.so, libmount.so,
libsmartcols.so, and libuuid.so</seg> libsmartcols.so, and libuuid.so</seg>
<seg>/usr/include/blkid, <seg>/usr/include/blkid,
@ -197,7 +198,7 @@ su tester -c "make -k check"</userinput></screen>
<varlistentry id="blkzone"> <varlistentry id="blkzone">
<term><command>blkzone</command></term> <term><command>blkzone</command></term>
<listitem> <listitem>
<para>Runs zone command on the given block device</para> <para>Is used to manage zoned storage block devices</para>
<indexterm zone="ch-system-util-linux blkzone"> <indexterm zone="ch-system-util-linux blkzone">
<primary sortas="b-blkzone">blkzone</primary> <primary sortas="b-blkzone">blkzone</primary>
</indexterm> </indexterm>
@ -258,7 +259,8 @@ su tester -c "make -k check"</userinput></screen>
<varlistentry id="choom"> <varlistentry id="choom">
<term><command>choom</command></term> <term><command>choom</command></term>
<listitem> <listitem>
<para>Displays and adjusts OOM-killer score</para> <para>Displays and adjusts OOM-killer scores, used to determine
which process to kill first when Linux is Out Of Memory</para>
<indexterm zone="ch-system-util-linux choom"> <indexterm zone="ch-system-util-linux choom">
<primary sortas="b-choom">choom</primary> <primary sortas="b-choom">choom</primary>
</indexterm> </indexterm>
@ -390,7 +392,7 @@ su tester -c "make -k check"</userinput></screen>
<varlistentry id="findfs"> <varlistentry id="findfs">
<term><command>findfs</command></term> <term><command>findfs</command></term>
<listitem> <listitem>
<para>Finds a file system by label or Universally Unique Identifier <para>Finds a file system, either by label or Universally Unique Identifier
(UUID)</para> (UUID)</para>
<indexterm zone="ch-system-util-linux findfs"> <indexterm zone="ch-system-util-linux findfs">
<primary sortas="b-findfs">findfs</primary> <primary sortas="b-findfs">findfs</primary>
@ -402,7 +404,7 @@ su tester -c "make -k check"</userinput></screen>
<term><command>findmnt</command></term> <term><command>findmnt</command></term>
<listitem> <listitem>
<para>Is a command line interface to the libmount library <para>Is a command line interface to the libmount library
for work with mountinfo, fstab and mtab files</para> for working with mountinfo, fstab and mtab files</para>
<indexterm zone="ch-system-util-linux findmnt"> <indexterm zone="ch-system-util-linux findmnt">
<primary sortas="b-findmnt">findmnt</primary> <primary sortas="b-findmnt">findmnt</primary>
</indexterm> </indexterm>
@ -483,11 +485,21 @@ su tester -c "make -k check"</userinput></screen>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry id="hardlink">
<term><command>hardlink</command></term>
<listitem>
<para>Consolidates duplicate files by creating hard links</para>
<indexterm zone="ch-system-util-linux hardlink">
<primary sortas="b-hardlink">hardlink</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="hexdump"> <varlistentry id="hexdump">
<term><command>hexdump</command></term> <term><command>hexdump</command></term>
<listitem> <listitem>
<para>Dumps the given file in hexadecimal or in another given <para>Dumps the given file in hexadecimal, decimal, octal,
format</para> or ascii</para>
<indexterm zone="ch-system-util-linux hexdump"> <indexterm zone="ch-system-util-linux hexdump">
<primary sortas="b-hexdump">hexdump</primary> <primary sortas="b-hexdump">hexdump</primary>
</indexterm> </indexterm>
@ -691,6 +703,16 @@ su tester -c "make -k check"</userinput></screen>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry id="lsfd">
<term><command>lsfd</command></term>
<listitem>
<para>Displays information about open files; replaces <command>lsof</command></para>
<indexterm zone="ch-system-util-linux lsfd">
<primary sortas="b-lsfd">lsfd</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="lsipc"> <varlistentry id="lsipc">
<term><command>lsipc</command></term> <term><command>lsipc</command></term>
<listitem> <listitem>
@ -861,7 +883,7 @@ su tester -c "make -k check"</userinput></screen>
<varlistentry id="namei"> <varlistentry id="namei">
<term><command>namei</command></term> <term><command>namei</command></term>
<listitem> <listitem>
<para>Shows the symbolic links in the given pathnames</para> <para>Shows the symbolic links in the given paths</para>
<indexterm zone="ch-system-util-linux namei"> <indexterm zone="ch-system-util-linux namei">
<primary sortas="b-namei">namei</primary> <primary sortas="b-namei">namei</primary>
</indexterm> </indexterm>
@ -903,7 +925,7 @@ su tester -c "make -k check"</userinput></screen>
<varlistentry id="prlimit"> <varlistentry id="prlimit">
<term><command>prlimit</command></term> <term><command>prlimit</command></term>
<listitem> <listitem>
<para>Get and set a process' resource limits</para> <para>Gets and sets a process's resource limits</para>
<indexterm zone="ch-system-util-linux prlimit"> <indexterm zone="ch-system-util-linux prlimit">
<primary sortas="b-prlimit">prlimit</primary> <primary sortas="b-prlimit">prlimit</primary>
</indexterm> </indexterm>
@ -974,7 +996,7 @@ su tester -c "make -k check"</userinput></screen>
<varlistentry id="rtcwake"> <varlistentry id="rtcwake">
<term><command>rtcwake</command></term> <term><command>rtcwake</command></term>
<listitem> <listitem>
<para>Used to enter a system sleep state until specified wakeup <para>Used to enter a system sleep state until the specified wakeup
time</para> time</para>
<indexterm zone="ch-system-util-linux rtcwake"> <indexterm zone="ch-system-util-linux rtcwake">
<primary sortas="b-rtcwake">rtcwake</primary> <primary sortas="b-rtcwake">rtcwake</primary>
@ -995,7 +1017,7 @@ su tester -c "make -k check"</userinput></screen>
<varlistentry id="scriptlive"> <varlistentry id="scriptlive">
<term><command>scriptlive</command></term> <term><command>scriptlive</command></term>
<listitem> <listitem>
<para>Re-run session typescripts using timing information</para> <para>Re-runs session typescripts using timing information</para>
<indexterm zone="ch-system-util-linux scriptlive"> <indexterm zone="ch-system-util-linux scriptlive">
<primary sortas="b-scriptlive">scriptlive</primary> <primary sortas="b-scriptlive">scriptlive</primary>
</indexterm> </indexterm>
@ -1015,7 +1037,7 @@ su tester -c "make -k check"</userinput></screen>
<varlistentry id="setarch"> <varlistentry id="setarch">
<term><command>setarch</command></term> <term><command>setarch</command></term>
<listitem> <listitem>
<para>Changes reported architecture in a new program environment and <para>Changes reported architecture in a new program environment, and
sets personality flags</para> sets personality flags</para>
<indexterm zone="ch-system-util-linux setarch"> <indexterm zone="ch-system-util-linux setarch">
<primary sortas="b-setarch">setarch</primary> <primary sortas="b-setarch">setarch</primary>
@ -1068,7 +1090,7 @@ su tester -c "make -k check"</userinput></screen>
<varlistentry id="swaplabel"> <varlistentry id="swaplabel">
<term><command>swaplabel</command></term> <term><command>swaplabel</command></term>
<listitem> <listitem>
<para>Allows to change swaparea UUID and label</para> <para>Makes changes to the swap area's UUID and label</para>
<indexterm zone="ch-system-util-linux swaplabel"> <indexterm zone="ch-system-util-linux swaplabel">
<primary sortas="b-swaplabel">swaplabel</primary> <primary sortas="b-swaplabel">swaplabel</primary>
</indexterm> </indexterm>
@ -1088,7 +1110,7 @@ su tester -c "make -k check"</userinput></screen>
<varlistentry id="swapon"> <varlistentry id="swapon">
<term><command>swapon</command></term> <term><command>swapon</command></term>
<listitem> <listitem>
<para>Enables devices and files for paging and swapping and <para>Enables devices and files for paging and swapping, and
lists the devices and files currently in use</para> lists the devices and files currently in use</para>
<indexterm zone="ch-system-util-linux swapon"> <indexterm zone="ch-system-util-linux swapon">
<primary sortas="b-swapon">swapon</primary> <primary sortas="b-swapon">swapon</primary>
@ -1109,7 +1131,7 @@ su tester -c "make -k check"</userinput></screen>
<varlistentry id="taskset"> <varlistentry id="taskset">
<term><command>taskset</command></term> <term><command>taskset</command></term>
<listitem> <listitem>
<para>Retrieves or sets a process' CPU affinity</para> <para>Retrieves or sets a process's CPU affinity</para>
<indexterm zone="ch-system-util-linux taskset"> <indexterm zone="ch-system-util-linux taskset">
<primary sortas="b-taskset">taskset</primary> <primary sortas="b-taskset">taskset</primary>
</indexterm> </indexterm>
@ -1119,7 +1141,7 @@ su tester -c "make -k check"</userinput></screen>
<varlistentry id="uclampset"> <varlistentry id="uclampset">
<term><command>uclampset</command></term> <term><command>uclampset</command></term>
<listitem> <listitem>
<para>Manipulate the utilization clamping attributes of the <para>Manipulates the utilization clamping attributes of the
system or a process</para> system or a process</para>
<indexterm zone="ch-system-util-linux uclampset"> <indexterm zone="ch-system-util-linux uclampset">
<primary sortas="b-uclampset">uclampset</primary> <primary sortas="b-uclampset">uclampset</primary>
@ -1171,7 +1193,7 @@ su tester -c "make -k check"</userinput></screen>
<varlistentry id="utmpdump"> <varlistentry id="utmpdump">
<term><command>utmpdump</command></term> <term><command>utmpdump</command></term>
<listitem> <listitem>
<para>Displays the content of the given login file in a more <para>Displays the content of the given login file in a
user-friendly format</para> user-friendly format</para>
<indexterm zone="ch-system-util-linux utmpdump"> <indexterm zone="ch-system-util-linux utmpdump">
<primary sortas="b-utmpdump">utmpdump</primary> <primary sortas="b-utmpdump">utmpdump</primary>
@ -1193,9 +1215,10 @@ su tester -c "make -k check"</userinput></screen>
<varlistentry id="uuidgen"> <varlistentry id="uuidgen">
<term><command>uuidgen</command></term> <term><command>uuidgen</command></term>
<listitem> <listitem>
<para>Creates new UUIDs. Each new UUID can reasonably be considered <para>Creates new UUIDs. Each new UUID is a random number likely to be
unique among all UUIDs created, on the local system and on other unique among all UUIDs created, on the local system and on other
systems, in the past and in the future</para> systems, in the past and in the future, with extremely high
probability (~340 trillion trillion trillion unique UUIDs are possible)</para>
<indexterm zone="ch-system-util-linux uuidgen"> <indexterm zone="ch-system-util-linux uuidgen">
<primary sortas="b-uuidgen">uuidgen</primary> <primary sortas="b-uuidgen">uuidgen</primary>
</indexterm> </indexterm>
@ -1205,7 +1228,7 @@ su tester -c "make -k check"</userinput></screen>
<varlistentry id="uuidparse"> <varlistentry id="uuidparse">
<term><command>uuidparse</command></term> <term><command>uuidparse</command></term>
<listitem> <listitem>
<para>An utility to parse unique identifiers</para> <para>A utility to parse unique identifiers</para>
<indexterm zone="ch-system-util-linux uuidparse"> <indexterm zone="ch-system-util-linux uuidparse">
<primary sortas="b-uuidparse">uuidparse</primary> <primary sortas="b-uuidparse">uuidparse</primary>
</indexterm> </indexterm>
@ -1237,7 +1260,7 @@ su tester -c "make -k check"</userinput></screen>
<term><command>whereis</command></term> <term><command>whereis</command></term>
<listitem> <listitem>
<para>Reports the location of the binary, source, and man page <para>Reports the location of the binary, source, and man page
for the given command</para> files for the given command</para>
<indexterm zone="ch-system-util-linux whereis"> <indexterm zone="ch-system-util-linux whereis">
<primary sortas="b-whereis">whereis</primary> <primary sortas="b-whereis">whereis</primary>
</indexterm> </indexterm>

View File

@ -74,7 +74,7 @@
<term><command>checkfs</command></term> <term><command>checkfs</command></term>
<listitem> <listitem>
<para>Checks the integrity of the file systems before they are mounted <para>Checks the integrity of the file systems before they are mounted
(with the exception of journal and network based file systems)</para> (with the exception of journaling and network-based file systems)</para>
<indexterm zone="ch-config-bootscripts checkfs-bootscripts"> <indexterm zone="ch-config-bootscripts checkfs-bootscripts">
<primary sortas="d-checkfs">checkfs</primary> <primary sortas="d-checkfs">checkfs</primary>
</indexterm> </indexterm>
@ -173,8 +173,8 @@
<varlistentry id="mountfs-bootscripts"> <varlistentry id="mountfs-bootscripts">
<term><command>mountfs</command></term> <term><command>mountfs</command></term>
<listitem> <listitem>
<para>Mounts all file systems, except ones that are marked <para>Mounts all file systems, except those that are marked
<emphasis>noauto</emphasis> or are network based</para> <emphasis>noauto</emphasis>, or are network based</para>
<indexterm zone="ch-config-bootscripts mountfs-bootscripts"> <indexterm zone="ch-config-bootscripts mountfs-bootscripts">
<primary sortas="d-mountfs">mountfs</primary> <primary sortas="d-mountfs">mountfs</primary>
</indexterm> </indexterm>
@ -208,7 +208,7 @@
<listitem> <listitem>
<para>The master run-level control script; it is responsible for <para>The master run-level control script; it is responsible for
running all the other bootscripts one-by-one, in a sequence determined running all the other bootscripts one-by-one, in a sequence determined
by the name of the symbolic links being processed</para> by the names of the symbolic links to those other bootscripts</para>
<indexterm zone="ch-config-bootscripts rc-bootscripts"> <indexterm zone="ch-config-bootscripts rc-bootscripts">
<primary sortas="d-rc">rc</primary> <primary sortas="d-rc">rc</primary>
</indexterm> </indexterm>
@ -239,8 +239,8 @@
<varlistentry id="setclock-bootscripts"> <varlistentry id="setclock-bootscripts">
<term><command>setclock</command></term> <term><command>setclock</command></term>
<listitem> <listitem>
<para>Resets the kernel clock to local time in case the hardware clock <para>Resets the system clock to local time if the hardware clock
is not set to UTC time</para> is not set to UTC</para>
<indexterm zone="ch-config-bootscripts setclock-bootscripts"> <indexterm zone="ch-config-bootscripts setclock-bootscripts">
<primary sortas="d-setclock">setclock</primary> <primary sortas="d-setclock">setclock</primary>
</indexterm> </indexterm>
@ -305,7 +305,7 @@
<term><command>udev</command></term> <term><command>udev</command></term>
<listitem> <listitem>
<para>Prepares the <filename class="directory">/dev</filename> <para>Prepares the <filename class="directory">/dev</filename>
directory and starts Udev</para> directory and starts the udev daemon</para>
<indexterm zone="ch-config-bootscripts udev-bootscripts"> <indexterm zone="ch-config-bootscripts udev-bootscripts">
<primary sortas="d-udev">udev</primary> <primary sortas="d-udev">udev</primary>
</indexterm> </indexterm>

View File

@ -11,19 +11,19 @@
<title>Introduction</title> <title>Introduction</title>
<para>Booting a Linux system involves several tasks. The process must <para>Booting a Linux system involves several tasks. The process must
mount both virtual and real file systems, initialize devices, activate swap, mount both virtual and real file systems, initialize devices,
check file systems for integrity, mount any swap partitions or files, set check file systems for integrity, mount and activate any swap partitions or files, set
the system clock, bring up networking, start any daemons required by the the system clock, bring up networking, start any daemons required by the
system, and accomplish any other custom tasks needed by the user. This system, and accomplish any other custom tasks specified by the user. This
process must be organized to ensure the tasks are performed in the correct process must be organized to ensure the tasks are performed in the correct
order but, at the same time, be executed as fast as possible.</para> order and executed as quickly as possible.</para>
<sect2 id='sysv-desc'> <sect2 id='sysv-desc'>
<title>System V</title> <title>System V</title>
<para>System V is the classic boot process that has been used in Unix and <para>System V is the classic boot process that has been used in Unix and
Unix-like systems such as Linux since about 1983. It consists of a small Unix-like systems such as Linux since about 1983. It consists of a small
program, <command>init</command>, that sets up basic programs such as program, <command>init</command>, that sets up basic processes such as
<command>login</command> (via getty) and runs a script. This script, <command>login</command> (via getty) and runs a script. This script,
usually named <command>rc</command>, controls the execution of a set of usually named <command>rc</command>, controls the execution of a set of
additional scripts that perform the tasks required to initialize the additional scripts that perform the tasks required to initialize the
@ -31,7 +31,7 @@
<para>The <command>init</command> program is controlled by the <para>The <command>init</command> program is controlled by the
<filename>/etc/inittab</filename> file and is organized into run levels that <filename>/etc/inittab</filename> file and is organized into run levels that
can be run by the user. In LFS, they are used as follows:</para> can be chosen by the user. In LFS, they are used as follows:</para>
<literallayout>0 &mdash; halt <literallayout>0 &mdash; halt
1 &mdash; Single user mode 1 &mdash; Single user mode
@ -70,13 +70,13 @@
<listitem> <listitem>
<para>Serial processing of boot tasks. This is related to the previous <para>Serial processing of boot tasks. This is related to the previous
point. A delay in any process such as a file system check, will point. A delay in any process, such as a file system check, will
delay the entire boot process.</para> delay the entire boot process.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Does not directly support advanced features like <para>Does not directly support advanced features like
control groups (cgroups), and per-user fair share scheduling.</para> control groups (cgroups) and per-user fair share scheduling.</para>
</listitem> </listitem>
<listitem> <listitem>

View File

@ -17,15 +17,15 @@
<sect2> <sect2>
<title>Creating Network Interface Configuration Files</title> <title>Creating Network Interface Configuration Files</title>
<para>Which interfaces are brought up and down by the network script <para>The files in <filename class="directory">/etc/sysconfig/</filename>
usually depends on the files in <filename usually determine which interfaces are brought up and down by the network
class="directory">/etc/sysconfig/</filename>. This directory should script. This directory should
contain a file for each interface to be configured, such as contain a file for each interface to be configured, such as
<filename>ifconfig.xyz</filename>, where <quote>xyz</quote> should describe <filename>ifconfig.xyz</filename>, where <quote>xyz</quote> describes
the network card. The interface name (e.g. eth0) is usually appropriate. the network card. The interface name (e.g. eth0) is usually appropriate.
Inside this file are attributes to this interface, such as its IP Each file contains the attributes of one interface, such as its IP
address(es), subnet masks, and so forth. It is necessary that the stem of address(es), subnet masks, and so forth. The stem of
the filename be <emphasis>ifconfig</emphasis>.</para> the filename must be <emphasis>ifconfig</emphasis>.</para>
<note> <note>
<para>If the procedure in the previous section was not used, udev <para>If the procedure in the previous section was not used, udev
@ -38,10 +38,10 @@
<para>The interface names depend on the implementation and <para>The interface names depend on the implementation and
configuration of the udev daemon running on the system. The udev configuration of the udev daemon running on the system. The udev
daemon for LFS (installed in <xref linkend="ch-system-eudev"/>) will daemon for LFS (installed in <xref linkend="ch-system-eudev"/>) will
not run until the LFS system is booted. So it's unreliable to not run until the LFS system is booted. So the interface names
determine the interface names being used in LFS system by running in the LFS system cannot always be determined by running
those commands on the host distro, those commands on the host distro,
<emphasis>even though in the chroot environment</emphasis>.</para> <emphasis>even in the chroot environment</emphasis>.</para>
</note> </note>
<para>The following command creates a sample file for the <para>The following command creates a sample file for the
@ -59,14 +59,14 @@ PREFIX=<replaceable>24</replaceable>
BROADCAST=<replaceable>192.168.1.255</replaceable></literal> BROADCAST=<replaceable>192.168.1.255</replaceable></literal>
EOF</userinput></screen> EOF</userinput></screen>
<para>The values in italics must be changed in every file to match <para>The values in italics must be changed in each file, to set
the proper setup.</para> the interfaces up correctly.</para>
<para>If the <envar>ONBOOT</envar> variable is set to <quote>yes</quote> the <para>If the <envar>ONBOOT</envar> variable is set to <quote>yes</quote> the
System V network script will bring up the Network Interface Card (NIC) during System V network script will bring up the Network Interface Card (NIC) during
the system boot process. If set to anything but <quote>yes</quote> the NIC the system boot process. If set to anything besides <quote>yes</quote>, the NIC
will be ignored by the network script and not be automatically brought up. will be ignored by the network script and will not be started automatically.
The interface can be manually started or stopped with the Interfaces can be manually started or stopped with the
<command>ifup</command> and <command>ifdown</command> commands.</para> <command>ifup</command> and <command>ifdown</command> commands.</para>
<para>The <envar>IFACE</envar> variable defines the interface name, <para>The <envar>IFACE</envar> variable defines the interface name,
@ -84,11 +84,11 @@ EOF</userinput></screen>
gateway IP address, if one is present. If not, then comment out the gateway IP address, if one is present. If not, then comment out the
variable entirely.</para> variable entirely.</para>
<para>The <envar>PREFIX</envar> variable contains the number of <para>The <envar>PREFIX</envar> variable specifies the number of
bits used in the subnet. Each octet in an IP address is 8 bits. If the bits used in the subnet. Each segment of an IP address is 8 bits. If the
subnet's netmask is 255.255.255.0, then it is using the first three octets subnet's netmask is 255.255.255.0, then it is using the first three segments
(24 bits) to specify the network number. If the netmask is 255.255.255.240, (24 bits) to specify the network number. If the netmask is 255.255.255.240,
it would be using the first 28 bits. Prefixes longer than 24 bits are the subnet is using the first 28 bits. Prefixes longer than 24 bits are
commonly used by DSL and cable-based Internet Service Providers (ISPs). commonly used by DSL and cable-based Internet Service Providers (ISPs).
In this example (PREFIX=24), the netmask is 255.255.255.0. Adjust the In this example (PREFIX=24), the netmask is 255.255.255.0. Adjust the
<envar>PREFIX</envar> variable according to your specific subnet. <envar>PREFIX</envar> variable according to your specific subnet.
@ -139,7 +139,7 @@ EOF</userinput></screen>
</sect2> </sect2>
<sect2 id="ch-config-hostname"> <sect2 id="ch-config-hostname">
<title>Configuring the system hostname</title> <title>Configuring the System Hostname</title>
<indexterm zone="ch-config-hostname"> <indexterm zone="ch-config-hostname">
<primary sortas="d-hostname">hostname</primary> <primary sortas="d-hostname">hostname</primary>
@ -156,7 +156,7 @@ EOF</userinput></screen>
<para><replaceable>&lt;lfs&gt;</replaceable> needs to be replaced with the <para><replaceable>&lt;lfs&gt;</replaceable> needs to be replaced with the
name given to the computer. Do not enter the Fully Qualified Domain Name name given to the computer. Do not enter the Fully Qualified Domain Name
(FQDN) here. That information is put in the (FQDN) here. That information goes in the
<filename>/etc/hosts</filename> file.</para> <filename>/etc/hosts</filename> file.</para>
</sect2> </sect2>

View File

@ -17,27 +17,28 @@
<para>Udev, by default, names network devices according to Firmware/BIOS <para>Udev, by default, names network devices according to Firmware/BIOS
data or physical characteristics like the bus, slot, or MAC address. The data or physical characteristics like the bus, slot, or MAC address. The
purpose of this naming convention is to ensure that network devices are purpose of this naming convention is to ensure that network devices are
named consistently and not based on the time the network card was named consistently, not based on when the network card was
discovered. For example, on a computer having two network cards made by discovered. In older versions of Linux&mdash;on a computer with two
Intel and Realtek, the network card manufactured by Intel may become eth0 network cards made by Intel and Realtek, for instance&mdash;the
and the Realtek card becomes eth1. In some cases, after a reboot the cards network card manufactured by Intel might have become eth0
could get renumbered the other way around.</para> while the Realtek card became eth1. After a reboot, the cards
would sometimes get renumbered the other way around.</para>
<para>In the new naming scheme, typical network device names would then <para>In the new naming scheme, typical network device names are
be something like enp5s0 or wlp3s0. If this naming convention is not something like enp5s0 or wlp3s0. If this naming convention is not
desired, the traditional naming scheme or a custom scheme can be desired, the traditional naming scheme, or a custom scheme, can be
implemented.</para> implemented.</para>
<sect3> <sect3>
<title>Disabling Persistent Naming on the Kernel Command Line</title> <title>Disabling Persistent Naming on the Kernel Command Line</title>
<para>The traditional naming scheme using eth0, eth1, etc can be <para>The traditional naming scheme using eth0, eth1, etc. can be
restored by adding <userinput>net.ifnames=0</userinput> on the restored by adding <userinput>net.ifnames=0</userinput> on the
kernel command line. This is most appropriate for those systems kernel command line. This is most appropriate for systems
that have only one ethernet device of the same type. Laptops that have just one ethernet device of a particular type. Laptops
often have multiple ethernet connections that are named eth0 and often have two ethernet connections named eth0 and
wlan0 and are also candidates for this method. The command line wlan0; such laptops can also use this method. The command line
is passed in the GRUB configuration file. is in the GRUB configuration file.
See <xref linkend="grub-cfg"/>.</para> See <xref linkend="grub-cfg"/>.</para>
</sect3> </sect3>
@ -56,23 +57,22 @@
<screen role="nodump"><userinput>cat /etc/udev/rules.d/70-persistent-net.rules</userinput></screen> <screen role="nodump"><userinput>cat /etc/udev/rules.d/70-persistent-net.rules</userinput></screen>
<note><para>In some cases such as when MAC addresses have been assigned to <note><para>In some cases, such as when MAC addresses have been assigned to
a network card manually or in a virtual environment such as Qemu or Xen, a network card manually, or in a virtual environment such as Qemu or Xen,
the network rules file may not have been generated because addresses the network rules file may not be generated because addresses
are not consistently assigned. In these cases, this method cannot are not consistently assigned. In these cases, this method cannot
be used.</para></note> be used.</para></note>
<para>The file begins with a comment block followed by two lines for each <para>The file begins with a comment block, followed by two lines for each
NIC. The first line for each NIC is a commented description showing its NIC. The first line for each NIC is a commented description showing its
hardware IDs (e.g. its PCI vendor and device IDs, if it's a PCI card), hardware IDs (e.g. its PCI vendor and device IDs, if it's a PCI card),
along with its driver in parentheses, if the driver can be found. Neither along with its driver (in parentheses, if the driver can be found). Neither
the hardware ID nor the driver is used to determine which name to give an the hardware ID nor the driver is used to determine which name to give an
interface; this information is only for reference. The second line is the interface; this information is only for reference. The second line is the
udev rule that matches this NIC and actually assigns it a name.</para> udev rule that matches this NIC and actually assigns it a name.</para>
<para>All udev rules are made up of several keys, separated by commas and <para>All udev rules are made up of several keywords, separated by commas and
optional whitespace. This rule's keys and an explanation of each of them optional whitespace. Here are the keywords, and an explanation of each one:</para>
are as follows:</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
@ -88,10 +88,10 @@
<para><literal>DRIVERS=="?*"</literal> - This exists so that udev will <para><literal>DRIVERS=="?*"</literal> - This exists so that udev will
ignore VLAN or bridge sub-interfaces (because these sub-interfaces do ignore VLAN or bridge sub-interfaces (because these sub-interfaces do
not have drivers). These sub-interfaces are skipped because the name not have drivers). These sub-interfaces are skipped because the name
that would be assigned would collide with their parent devices.</para> that would be assigned would collide with the parent devices.</para>
</listitem> </listitem>
<listitem> <listitem>
<para><literal>ATTR{address}</literal> - The value of this key is the <para><literal>ATTR{address}</literal> - The value of this keyword is the
NIC's MAC address.</para> NIC's MAC address.</para>
</listitem> </listitem>
<listitem> <listitem>
@ -102,7 +102,7 @@
skipped: there would be a name collision otherwise.</para> skipped: there would be a name collision otherwise.</para>
</listitem> </listitem>
<listitem> <listitem>
<para><literal>NAME</literal> - The value of this key is the name that <para><literal>NAME</literal> - The value of this keyword is the name that
udev will assign to this interface.</para> udev will assign to this interface.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
@ -110,7 +110,7 @@
<para>The value of <literal>NAME</literal> is the important part. Make sure <para>The value of <literal>NAME</literal> is the important part. Make sure
you know which name has been assigned to each of your network cards before you know which name has been assigned to each of your network cards before
proceeding, and be sure to use that <literal>NAME</literal> value when proceeding, and be sure to use that <literal>NAME</literal> value when
creating your configuration files below.</para> creating your network configuration files.</para>
</sect3> </sect3>
@ -118,10 +118,10 @@
<sect2 revision="sysv"> <sect2 revision="sysv">
<title>CD-ROM symlinks</title> <title>CD-ROM Symlinks</title>
<para>Some software that you may want to install later (e.g., various <para>Some software that you may want to install later (e.g., various
media players) expect the <filename class="symlink">/dev/cdrom</filename> media players) expects the <filename class="symlink">/dev/cdrom</filename>
and <filename class="symlink">/dev/dvd</filename> symlinks to exist, and and <filename class="symlink">/dev/dvd</filename> symlinks to exist, and
to point to a CD-ROM or DVD-ROM device. Also, it may be convenient to put to point to a CD-ROM or DVD-ROM device. Also, it may be convenient to put
references to those symlinks into <filename>/etc/fstab</filename>. Udev references to those symlinks into <filename>/etc/fstab</filename>. Udev
@ -139,15 +139,15 @@
<command>ata_id</command> or <command>scsi_id</command> programs, depending <command>ata_id</command> or <command>scsi_id</command> programs, depending
on which type of device you have.</para> on which type of device you have.</para>
<para>There are advantages to each approach; the correct approach to use <para>There are advantages to each approach; the correct approach
will depend on what kinds of device changes may happen. If you expect the depends on what kinds of device changes may happen. If you expect the
physical path to the device (that is, the ports and/or slots that it plugs physical path to the device (that is, the ports and/or slots that it plugs
into) to change, for example because you plan on moving the drive to a into) to change, for example because you plan on moving the drive to a
different IDE port or a different USB connector, then you should use the different IDE port or a different USB connector, then you should use the
<quote>by-id</quote> mode. On the other hand, if you expect the device's <quote>by-id</quote> mode. On the other hand, if you expect the device's
identification to change, for example because it may die, and you would identification to change, for example because it may die, and you intend
replace it with a different device with the same capabilities and which to replace it with a different device that
is plugged into the same connectors, then you should use the plugs into the same connectors, then you should use the
<quote>by-path</quote> mode.</para> <quote>by-path</quote> mode.</para>
<para>If either type of change is possible with your drive, then choose a <para>If either type of change is possible with your drive, then choose a
@ -198,13 +198,13 @@
this is only an issue if you need the symlinks on both systems to point to this is only an issue if you need the symlinks on both systems to point to
the same device. If you need that, then inspect (and possibly edit) the the same device. If you need that, then inspect (and possibly edit) the
generated <filename>/etc/udev/rules.d/70-persistent-cd.rules</filename> generated <filename>/etc/udev/rules.d/70-persistent-cd.rules</filename>
file after booting, to make sure the assigned symlinks match what you need.</para> file after booting, to make sure the assigned symlinks match your needs.</para>
</sect2> </sect2>
<sect2> <sect2>
<title>Dealing with duplicate devices</title> <title>Dealing with Duplicate Devices</title>
<para>As explained in <xref linkend="ch-config-udev"/>, the order in <para>As explained in <xref linkend="ch-config-udev"/>, the order in
which devices with the same function appear in which devices with the same function appear in
@ -214,7 +214,7 @@
<filename>/dev/video1</filename> refers to the tuner, and sometimes <filename>/dev/video1</filename> refers to the tuner, and sometimes
after a reboot the order changes. after a reboot the order changes.
For all classes of hardware except sound cards and network cards, this is For all classes of hardware except sound cards and network cards, this is
fixable by creating udev rules for custom persistent symlinks. fixable by creating udev rules to create persistent symlinks.
The case of network cards is covered separately in The case of network cards is covered separately in
<xref linkend="ch-config-network"/>, and sound card configuration can <xref linkend="ch-config-network"/>, and sound card configuration can
be found in <ulink url="&blfs-book;postlfs/devices.html">BLFS</ulink>.</para> be found in <ulink url="&blfs-book;postlfs/devices.html">BLFS</ulink>.</para>

View File

@ -16,23 +16,23 @@
</indexterm> </indexterm>
<para>In <xref linkend="chapter-building-system"/>, we installed the udev <para>In <xref linkend="chapter-building-system"/>, we installed the udev
package when <phrase revision="sysv">eudev</phrase> daemon when <phrase revision="sysv">eudev</phrase>
<phrase revision="systemd">systemd</phrase> was built. Before we go into the <phrase revision="systemd">systemd</phrase> was built. Before we go into the
details regarding how this works, a brief history of previous methods of details regarding how udev works, a brief history of previous methods of
handling devices is in order.</para> handling devices is in order.</para>
<para>Linux systems in general traditionally used a static device creation <para>Linux systems in general traditionally used a static device creation
method, whereby a great many device nodes were created under <filename method, whereby a great many device nodes were created under <filename
class="directory">/dev</filename> (sometimes literally thousands of nodes), class="directory">/dev</filename> (sometimes literally thousands of nodes),
regardless of whether the corresponding hardware devices actually existed. This regardless of whether the corresponding hardware devices actually existed. This
was typically done via a <command>MAKEDEV</command> script, which contains a was typically done via a <command>MAKEDEV</command> script, which contained a
number of calls to the <command>mknod</command> program with the relevant number of calls to the <command>mknod</command> program with the relevant
major and minor device numbers for every possible device that might exist in major and minor device numbers for every possible device that might exist in
the world.</para> the world.</para>
<para>Using the udev method, only those devices which are detected by the <para>Using the udev method, device nodes are only created for those devices
kernel get device nodes created for them. Because these device nodes will be which are detected by the kernel. These device nodes are
created each time the system boots, they will be stored on a <systemitem created each time the system boots; they are stored in a <systemitem
class="filesystem">devtmpfs</systemitem> file system (a virtual file system class="filesystem">devtmpfs</systemitem> file system (a virtual file system
that resides entirely in system memory). Device nodes do not require much that resides entirely in system memory). Device nodes do not require much
space, so the memory that is used is negligible.</para> space, so the memory that is used is negligible.</para>
@ -51,23 +51,23 @@
class="filesystem">devfs</systemitem> was the way it handled device class="filesystem">devfs</systemitem> was the way it handled device
detection, creation, and naming. The latter issue, that of device node detection, creation, and naming. The latter issue, that of device node
naming, was perhaps the most critical. It is generally accepted that if naming, was perhaps the most critical. It is generally accepted that if
device names are allowed to be configurable, then the device naming policy device names are configurable, the device naming policy
should be up to a system administrator, not imposed on them by any should be chosen by system administrators, and not imposed on them by the
particular developer(s). The <systemitem developer(s). The <systemitem
class="filesystem">devfs</systemitem> file system also suffered from race class="filesystem">devfs</systemitem> file system also suffered from race
conditions that were inherent in its design and could not be fixed without a conditions that were inherent in its design; these could not be fixed without a
substantial revision to the kernel. It was marked as deprecated for a long substantial revision of the kernel. <systemitem class="filesystem">devfs</systemitem>
period &ndash; due to a lack of maintenance &ndash; and was finally removed was marked as deprecated for a long
time, and was finally removed
from the kernel in June, 2006.</para> from the kernel in June, 2006.</para>
<para>With the development of the unstable 2.5 kernel tree, later released <para>With the development of the unstable 2.5 kernel tree, later released
as the 2.6 series of stable kernels, a new virtual filesystem called as the 2.6 series of stable kernels, a new virtual filesystem called
<systemitem class="filesystem">sysfs</systemitem> came to be. The job of <systemitem class="filesystem">sysfs</systemitem> came to be. The job of
<systemitem class="filesystem">sysfs</systemitem> is to export a view of <systemitem class="filesystem">sysfs</systemitem> is to provide information about
the system's hardware configuration to userspace processes. With this the system's hardware configuration to userspace processes. With this
userspace-visible representation, the possibility of developing a userspace userspace-visible representation, it became possible to develop a userspace
replacement for <systemitem class="filesystem">devfs</systemitem> became replacement for <systemitem class="filesystem">devfs</systemitem>.</para>
much more realistic.</para>
</sect2> </sect2>
@ -81,12 +81,13 @@
was mentioned briefly above. One may wonder how <systemitem was mentioned briefly above. One may wonder how <systemitem
class="filesystem">sysfs</systemitem> knows about the devices present on class="filesystem">sysfs</systemitem> knows about the devices present on
a system and what device numbers should be used for them. Drivers that a system and what device numbers should be used for them. Drivers that
have been compiled into the kernel directly register their objects with a have been compiled into the kernel register their objects in
<systemitem class="filesystem">sysfs</systemitem> (devtmpfs internally) <systemitem class="filesystem">sysfs</systemitem> (devtmpfs internally)
as they are detected by the kernel. For drivers compiled as modules, this as they are detected by the kernel. For drivers compiled as modules,
registration will happen when the module is loaded. Once the <systemitem registration happens when the module is loaded. Once the <systemitem
class="filesystem">sysfs</systemitem> filesystem is mounted (on /sys), class="filesystem">sysfs</systemitem> filesystem is mounted (on
data which the drivers register with <systemitem <filename class="directory">/sys</filename>),
data which the drivers have registered with <systemitem
class="filesystem">sysfs</systemitem> are available to userspace class="filesystem">sysfs</systemitem> are available to userspace
processes and to udevd for processing (including modifications to device processes and to udevd for processing (including modifications to device
nodes).</para> nodes).</para>
@ -96,13 +97,13 @@
<sect3 id='ch-config-udev-device-node-creation'> <sect3 id='ch-config-udev-device-node-creation'>
<title>Device Node Creation</title> <title>Device Node Creation</title>
<para>Device files are created by the kernel by the <systemitem <para>Device files are created by the kernel in the <systemitem
class="filesystem">devtmpfs</systemitem> file system. Any driver that class="filesystem">devtmpfs</systemitem> file system. Any driver that
wishes to register a device node will go through the <systemitem wishes to register a device node will use the <systemitem
class="filesystem">devtmpfs</systemitem> (via the driver core) to do it. class="filesystem">devtmpfs</systemitem> (via the driver core) to do it.
When a <systemitem class="filesystem">devtmpfs</systemitem> instance is When a <systemitem class="filesystem">devtmpfs</systemitem> instance is
mounted on <filename class="directory">/dev</filename>, the device node mounted on <filename class="directory">/dev</filename>, the device node
will initially be created with a fixed name, permissions, and will initially be exposed to userspace with a fixed name, permissions, and
owner.</para> owner.</para>
<para>A short time later, the kernel will send a uevent to <command> <para>A short time later, the kernel will send a uevent to <command>
@ -172,7 +173,7 @@
creating device nodes.</para> creating device nodes.</para>
<sect3> <sect3>
<title>A kernel module is not loaded automatically</title> <title>A Kernel Module Is Not Loaded Automatically</title>
<para>Udev will only load a module if it has a bus-specific alias and the <para>Udev will only load a module if it has a bus-specific alias and the
bus driver properly exports the necessary aliases to <systemitem bus driver properly exports the necessary aliases to <systemitem
@ -206,8 +207,8 @@
</sect3> </sect3>
<sect3> <sect3>
<title>A kernel module is not loaded automatically, and udev is not <title>A Kernel Module Is Not Loaded Automatically, and Udev Is Not
intended to load it</title> Intended to Load It</title>
<para>If the <quote>wrapper</quote> module only enhances the <para>If the <quote>wrapper</quote> module only enhances the
functionality provided by some other module (e.g., functionality provided by some other module (e.g.,
@ -236,7 +237,7 @@
</sect3> </sect3>
<sect3> <sect3>
<title>Udev loads some unwanted module</title> <title>Udev Loads Some Unwanted Module</title>
<para>Either don't build the module, or blacklist it in a <para>Either don't build the module, or blacklist it in a
<filename>/etc/modprobe.d/blacklist.conf</filename> file as done with the <filename>/etc/modprobe.d/blacklist.conf</filename> file as done with the
@ -250,7 +251,7 @@
</sect3> </sect3>
<sect3> <sect3>
<title>Udev creates a device incorrectly, or makes a wrong symlink</title> <title>Udev Creates a Device Incorrectly, or Makes the Wrong Symlink</title>
<para>This usually happens if a rule unexpectedly matches a device. For <para>This usually happens if a rule unexpectedly matches a device. For
example, a poorly-written rule can match both a SCSI disk (as desired) example, a poorly-written rule can match both a SCSI disk (as desired)
@ -261,7 +262,7 @@
</sect3> </sect3>
<sect3> <sect3>
<title>Udev rule works unreliably</title> <title>Udev Rule Works Unreliably</title>
<para>This may be another manifestation of the previous problem. If not, <para>This may be another manifestation of the previous problem. If not,
and your rule uses <systemitem class="filesystem">sysfs</systemitem> and your rule uses <systemitem class="filesystem">sysfs</systemitem>
@ -275,15 +276,15 @@
</sect3> </sect3>
<sect3> <sect3>
<title>Udev does not create a device</title> <title>Udev Does Not Create a Device</title>
<para>Further text assumes that the driver is built statically into the <para>First, be certain that the driver is built into the
kernel or already loaded as a module, and that you have already checked kernel or already loaded as a module, and that
that udev doesn't create a misnamed device.</para> udev isn't creating a misnamed device.</para>
<para>Udev has no information needed to create a device node if a kernel <para>If a kernel driver does not export its data to
driver does not export its data to <systemitem class="filesystem">sysfs</systemitem>, udev lacks the
<systemitem class="filesystem">sysfs</systemitem>. This is most common information needed to create a device node. This is most likely to happen
with third party drivers from outside the kernel tree. Create a static with third party drivers from outside the kernel tree. Create a static
device node in <filename>/usr/lib/udev/devices</filename> with the device node in <filename>/usr/lib/udev/devices</filename> with the
appropriate major/minor numbers (see the file appropriate major/minor numbers (see the file
@ -295,7 +296,7 @@
</sect3> </sect3>
<sect3> <sect3>
<title>Device naming order changes randomly after rebooting</title> <title>Device Naming Order Changes Randomly After Rebooting</title>
<para>This is due to the fact that udev, by design, handles uevents and <para>This is due to the fact that udev, by design, handles uevents and
loads modules in parallel, and thus in an unpredictable order. This will loads modules in parallel, and thus in an unpredictable order. This will

View File

@ -19,25 +19,29 @@
<sect2> <sect2>
<title>How Do the System V Bootscripts Work?</title> <title>How Do the System V Bootscripts Work?</title>
<para>Linux uses a special booting facility named SysVinit that is based on a <para>This version of LFS uses a special booting facility named SysVinit, based on a
concept of <emphasis>run-levels</emphasis>. It can be quite different from one series of <emphasis>run levels</emphasis>. The boot procedure can be quite different from one
system to another, so it cannot be assumed that because things worked in one system to another; the fact that things worked one way in a particular Linux
particular Linux distribution, they should work the same in LFS too. LFS has its distribution does not guarantee they will work the same way in LFS. LFS has its
own way of doing things, but it respects generally accepted standards.</para> own way of doing things, but it does respect generally accepted standards.</para>
<para>There is an alternative boot procedure called <command>systemd</command>. We will
not discuss that boot process any further here. For a detailed description visit
<ulink url="https://www.linux.com/training-tutorials/understanding-and-using-systemd/"/>.</para>
<para>SysVinit (which will be referred to as <quote>init</quote> from now on) <para>SysVinit (which will be referred to as <quote>init</quote> from now on)
works using a run-levels scheme. There are seven (numbered 0 to 6) run-levels uses a run levels scheme. There are seven run levels, numbered 0 to 6.
(actually, there are more run-levels, but they are for special cases and are (Actually, there are more run levels, but the others are for special cases and are
generally not used. See <filename>init(8)</filename> for more details), and generally not used. See <filename>init(8)</filename> for more details.)
each one of those corresponds to the actions the computer is supposed to Each one of the seven corresponds to actions the computer is supposed to
perform when it starts up. The default run-level is 3. Here are the perform when it starts up or shuts down. The default run level is 3. Here are the
descriptions of the different run-levels as they are implemented in LFS:</para> descriptions of the different run levels as they are implemented in LFS:</para>
<literallayout>0: halt the computer <literallayout>0: halt the computer
1: single-user mode 1: single-user mode
2: reserved for customization, otherwise does the same as 3 2: reserved for customization, otherwise the same as 3
3: multi-user mode with networking 3: multi-user mode with networking
4: reserved for customization, otherwise does the same as 3 4: reserved for customization, otherwise the same as 3
5: same as 4, it is usually used for GUI login (like GNOME's <command>gdm</command> or LXDE's <command>lxdm</command>) 5: same as 4, it is usually used for GUI login (like GNOME's <command>gdm</command> or LXDE's <command>lxdm</command>)
6: reboot the computer</literallayout> 6: reboot the computer</literallayout>
@ -45,9 +49,9 @@
<para> <para>
Classically, run level 2 above was defined as Classically, run level 2 above was defined as
"multi-user mode without networking", but this was only the case "multi-user mode without networking", but this was only the case
many years ago when multiple users could log into a system connected via many years ago when multiple users could connect to a system via
serial ports. In today's environment it makes no sense and serial ports. In today's environment it makes no sense, and
we designate it now as "reserved". we now say it is "reserved".
</para> </para>
</note> </note>
@ -65,8 +69,8 @@
<primary sortas="e-/etc/inittab">/etc/inittab</primary> <primary sortas="e-/etc/inittab">/etc/inittab</primary>
</indexterm> </indexterm>
<para>During the kernel initialization, the first program that is run <para>During kernel initialization, the first program that is run
is either specified on the command line or, by default (if not overridden on the command line) is
<command>init</command>. This program reads the initialization file <command>init</command>. This program reads the initialization file
<filename>/etc/inittab</filename>. Create this file with:</para> <filename>/etc/inittab</filename>. Create this file with:</para>
@ -101,8 +105,8 @@ s1:1:respawn:/sbin/sulogin
EOF</userinput></screen> EOF</userinput></screen>
<para>An explanation of this initialization file is in the man page for <para>An explanation of this initialization file is in the man page for
<emphasis>inittab</emphasis>. For LFS, the key command that is run is <emphasis>inittab</emphasis>. In LFS, the key command is
<command>rc</command>. The initialization file above will instruct <command>rc</command>. The initialization file above instructs
<command>rc</command> to run all the scripts starting with an S in the <command>rc</command> to run all the scripts starting with an S in the
<filename class="directory">/etc/rc.d/rcS.d</filename> directory <filename class="directory">/etc/rc.d/rcS.d</filename> directory
followed by all the scripts starting with an S in the <filename followed by all the scripts starting with an S in the <filename
@ -113,22 +117,22 @@ EOF</userinput></screen>
functions in <filename class="directory">/lib/lsb/init-functions</filename>. functions in <filename class="directory">/lib/lsb/init-functions</filename>.
This library also reads an optional configuration file, This library also reads an optional configuration file,
<filename>/etc/sysconfig/rc.site</filename>. Any of the system <filename>/etc/sysconfig/rc.site</filename>. Any of the system
configuration file parameters described in subsequent sections can be configuration parameters described in subsequent sections can be
alternatively placed in this file allowing consolidation of all system placed in this file, allowing consolidation of all system
parameters in this one file.</para> parameters in this one file.</para>
<para>As a debugging convenience, the functions script also logs all output <para>As a debugging convenience, the functions script also logs all output
to <filename>/run/var/bootlog</filename>. Since the <filename to <filename>/run/var/bootlog</filename>. Since the <filename
class="directory">/run</filename> directory is a tmpfs, this file is not class="directory">/run</filename> directory is a tmpfs, this file is not
persistent across boots, however it is appended to the more permanent file persistent across boots; however, it is appended to the more permanent file
<filename>/var/log/boot.log</filename> at the end of the boot process.</para> <filename>/var/log/boot.log</filename> at the end of the boot process.</para>
<sect3 id="init-levels" > <sect3 id="init-levels" >
<title>Changing Run Levels</title> <title>Changing Run Levels</title>
<para>Changing run-levels is done with <command>init <para>Changing run levels is done with <command>init
<replaceable>&lt;runlevel&gt;</replaceable></command>, where <replaceable>&lt;runlevel&gt;</replaceable></command>, where
<replaceable>&lt;runlevel&gt;</replaceable> is the target run-level. For example, to <replaceable>&lt;runlevel&gt;</replaceable> is the target run level. For example, to
reboot the computer, a user could issue the <command>init 6</command> command, reboot the computer, a user could issue the <command>init 6</command> command,
which is an alias for the <command>reboot</command> command. Likewise, which is an alias for the <command>reboot</command> command. Likewise,
<command>init 0</command> is an alias for the <command>halt</command> <command>init 0</command> is an alias for the <command>halt</command>
@ -136,14 +140,14 @@ EOF</userinput></screen>
<para>There are a number of directories under <filename <para>There are a number of directories under <filename
class="directory">/etc/rc.d</filename> that look like <filename class="directory">/etc/rc.d</filename> that look like <filename
class="directory">rc?.d</filename> (where ? is the number of the run-level) and class="directory">rc?.d</filename> (where ? is the number of the run level) and
<filename class="directory">rcS.d</filename>, all containing a number of <filename class="directory">rcS.d</filename>, all containing a number of
symbolic links. Some begin with a <emphasis>K</emphasis>, the others begin with symbolic links. Some links begin with a <emphasis>K</emphasis>; the others begin with
an <emphasis>S</emphasis>, and all of them have two numbers following the an <emphasis>S</emphasis>, and all of them have two numbers following the
initial letter. The K means to stop (kill) a service and the S means to start a initial letter. The K means to stop (kill) a service and the S means to start a
service. The numbers determine the order in which the scripts are run, from 00 service. The numbers determine the order in which the scripts are run, from 00
to 99&mdash;the lower the number the earlier it gets executed. When to 99&mdash;the smaller the number, the sooner tht script runs. When
<command>init</command> switches to another run-level, the appropriate services <command>init</command> switches to another run level, the appropriate services
are either started or stopped, depending on the run level chosen.</para> are either started or stopped, depending on the run level chosen.</para>
<para>The real scripts are in <filename <para>The real scripts are in <filename
@ -227,25 +231,25 @@ EOF</userinput></screen>
<para>The <filename>/etc/rc.d/init.d/udev</filename> initscript starts <para>The <filename>/etc/rc.d/init.d/udev</filename> initscript starts
<command>udevd</command>, triggers any "coldplug" devices that have <command>udevd</command>, triggers any "coldplug" devices that have
already been created by the kernel and waits for any rules to complete. already been created by the kernel, and waits for any rules to complete.
The script also unsets the uevent handler from the default of The script also unsets the uevent handler from the default of
<filename>/sbin/hotplug </filename>. This is done because the kernel no <filename>/sbin/hotplug </filename>. This is done because the kernel no
longer needs to call out to an external binary. Instead longer needs to call an external binary. Instead,
<command>udevd</command> will listen on a netlink socket for uevents that <command>udevd</command> will listen on a netlink socket for uevents that
the kernel raises.</para> the kernel raises.</para>
<para>The <command>/etc/rc.d/init.d/udev_retry</command> initscript takes <para>The <command>/etc/rc.d/init.d/udev_retry</command> script takes
care of re-triggering events for subsystems whose rules may rely on care of re-triggering events for subsystems whose rules may rely on
file systems that are not mounted until the <command>mountfs</command> file systems that are not mounted until the <command>mountfs</command>
script is run (in particular, <filename class="directory">/usr</filename> script is run (in particular, <filename class="directory">/usr</filename>
and <filename class="directory">/var</filename> may cause this). This and <filename class="directory">/var</filename> may cause this). This
script runs after the <command>mountfs</command> script, so those rules script runs after the <command>mountfs</command> script, so those rules
(if re-triggered) should succeed the second time around. It is (if re-triggered) should succeed the second time around. It is
configured from the <filename>/etc/sysconfig/udev_retry</filename> file; configured by the <filename>/etc/sysconfig/udev_retry</filename> file;
any words in this file other than comments are considered subsystem names any words in this file other than comments are considered subsystem names
to trigger at retry time. To find the subsystem of a device, use to trigger at retry time. To find the subsystem of a device, use
<command>udevadm info --attribute-walk &lt;device&gt;</command> where <command>udevadm info --attribute-walk &lt;device&gt;</command> where
&lt;device&gt; is an absolute path in /dev or /sys such as /dev/sr0 or &lt;device&gt; is an absolute path in /dev or /sys, such as /dev/sr0, or
/sys/class/rtc.</para> /sys/class/rtc.</para>
<para>For information on kernel module loading and udev, see <para>For information on kernel module loading and udev, see
@ -260,13 +264,13 @@ EOF</userinput></screen>
<secondary>configuring</secondary></indexterm> <secondary>configuring</secondary></indexterm>
<para>The <command>setclock</command> script reads the time from the hardware <para>The <command>setclock</command> script reads the time from the hardware
clock, also known as the BIOS or the Complementary Metal Oxide Semiconductor clock, also known as the BIOS or Complementary Metal Oxide Semiconductor
(CMOS) clock. If the hardware clock is set to UTC, this script will convert the (CMOS) clock. If the hardware clock is set to UTC, this script will convert the
hardware clock's time to the local time using the hardware clock's time to the local time using the
<filename>/etc/localtime</filename> file (which tells the <filename>/etc/localtime</filename> file (which tells the
<command>hwclock</command> program which time zone to use). There is no <command>hwclock</command> program which time zone to use). There is no
way to detect whether or not the hardware clock is set to UTC, so this way to detect whether or not the hardware clock is set to UTC, so this
needs to be configured manually.</para> must be configured manually.</para>
<para>The <command>setclock</command> program is run via <para>The <command>setclock</command> program is run via
<application>udev</application> when the kernel detects the hardware <application>udev</application> when the kernel detects the hardware
@ -279,7 +283,7 @@ EOF</userinput></screen>
clock. If this time matches whatever your watch says, then the hardware clock is clock. If this time matches whatever your watch says, then the hardware clock is
set to local time. If the output from <command>hwclock</command> is not local set to local time. If the output from <command>hwclock</command> is not local
time, chances are it is set to UTC time. Verify this by adding or subtracting time, chances are it is set to UTC time. Verify this by adding or subtracting
the proper amount of hours for the timezone to the time shown by the proper number of hours for your time zone to the time shown by
<command>hwclock</command>. For example, if you are currently in the MST <command>hwclock</command>. For example, if you are currently in the MST
time zone, which is also known as GMT -0700, add seven hours to the local time zone, which is also known as GMT -0700, add seven hours to the local
time.</para> time.</para>
@ -325,7 +329,7 @@ EOF</userinput></screen>
<para>This section discusses how to configure the <command>console</command> <para>This section discusses how to configure the <command>console</command>
bootscript that sets up the keyboard map, console font, and console kernel log bootscript that sets up the keyboard map, console font, and console kernel log
level. If non-ASCII characters (e.g., the copyright sign, the British pound level. If non-ASCII characters (e.g., the copyright sign, the British pound
sign and Euro symbol) will not be used and the keyboard is a U.S. one, much sign, and the Euro symbol) will not be used and the keyboard is a U.S. one, much
of this section can be skipped. Without the configuration file, (or of this section can be skipped. Without the configuration file, (or
equivalent settings in <filename>rc.site</filename>), the equivalent settings in <filename>rc.site</filename>), the
<command>console</command> bootscript will do nothing.</para> <command>console</command> bootscript will do nothing.</para>
@ -333,11 +337,11 @@ EOF</userinput></screen>
<para>The <command>console</command> script reads the <para>The <command>console</command> script reads the
<filename>/etc/sysconfig/console</filename> file for configuration <filename>/etc/sysconfig/console</filename> file for configuration
information. Decide which keymap and screen font will be used. Various information. Decide which keymap and screen font will be used. Various
language-specific HOWTOs can also help with this, see <ulink language-specific HOWTOs can also help with this; see <ulink
url="https://tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. If still in url="https://tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. If still in
doubt, look in the <filename class="directory">/usr/share/keymaps</filename> doubt, look in the <filename class="directory">/usr/share/keymaps</filename>
and <filename class="directory">/usr/share/consolefonts</filename> directories and <filename class="directory">/usr/share/consolefonts</filename> directories
for valid keymaps and screen fonts. Read <filename>loadkeys(1)</filename> and for valid keymaps and screen fonts. Read the <filename>loadkeys(1)</filename> and
<filename>setfont(8)</filename> manual pages to determine the correct <filename>setfont(8)</filename> manual pages to determine the correct
arguments for these programs.</para> arguments for these programs.</para>
@ -358,7 +362,7 @@ EOF</userinput></screen>
<term>KEYMAP</term> <term>KEYMAP</term>
<listitem> <listitem>
<para>This variable specifies the arguments for the <para>This variable specifies the arguments for the
<command>loadkeys</command> program, typically, the name of keymap <command>loadkeys</command> program, typically, the name of the keymap
to load, e.g., <quote>it</quote>. If this variable is not set, the to load, e.g., <quote>it</quote>. If this variable is not set, the
bootscript will not run the <command>loadkeys</command> program, bootscript will not run the <command>loadkeys</command> program,
and the default kernel keymap will be used. Note that a few keymaps and the default kernel keymap will be used. Note that a few keymaps
@ -390,11 +394,11 @@ EOF</userinput></screen>
name, <quote>-m</quote>, and the name of the application character name, <quote>-m</quote>, and the name of the application character
map to load. E.g., in order to load the <quote>lat1-16</quote> font map to load. E.g., in order to load the <quote>lat1-16</quote> font
together with the <quote>8859-1</quote> application character map together with the <quote>8859-1</quote> application character map
(as it is appropriate in the USA), (appropriate in the USA),
<!-- because of the copyright sign --> <!-- because of the copyright sign -->
set this variable to <quote>lat1-16 -m 8859-1</quote>. set this variable to <quote>lat1-16 -m 8859-1</quote>.
In UTF-8 mode, the kernel uses the application character map for In UTF-8 mode, the kernel uses the application character map to
conversion of composed 8-bit key codes in the keymap to UTF-8, and thus convert 8-bit key codes to UTF-8. Therefore
the argument of the "-m" parameter should be set to the encoding of the the argument of the "-m" parameter should be set to the encoding of the
composed key codes in the keymap.</para> composed key codes in the keymap.</para>
@ -404,7 +408,7 @@ EOF</userinput></screen>
<varlistentry> <varlistentry>
<term>UNICODE</term> <term>UNICODE</term>
<listitem> <listitem>
<para>Set this variable to <quote>1</quote>, <quote>yes</quote> or <para>Set this variable to <quote>1</quote>, <quote>yes</quote>, or
<quote>true</quote> in order to put the <quote>true</quote> in order to put the
console into UTF-8 mode. This is useful in UTF-8 based locales and console into UTF-8 mode. This is useful in UTF-8 based locales and
harmful otherwise.</para> harmful otherwise.</para>
@ -522,7 +526,7 @@ EOF</userinput></screen>
UTF-8 mode it is a problem; e.g., for the Greek language, where one UTF-8 mode it is a problem; e.g., for the Greek language, where one
sometimes needs to put an accent on the letter <quote>alpha</quote>. sometimes needs to put an accent on the letter <quote>alpha</quote>.
The solution is either to avoid the use of UTF-8, or to install the The solution is either to avoid the use of UTF-8, or to install the
X window system that doesn't have this limitation in its input X window system, which doesn't have this limitation, in its input
handling.</para> handling.</para>
</listitem> </listitem>
@ -531,7 +535,7 @@ EOF</userinput></screen>
console cannot be configured to display the needed characters. Users console cannot be configured to display the needed characters. Users
who need such languages should install the X Window System, fonts that who need such languages should install the X Window System, fonts that
cover the necessary character ranges, and the proper input method (e.g., cover the necessary character ranges, and the proper input method (e.g.,
SCIM, supports a wide variety of languages).</para> SCIM supports a wide variety of languages).</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
@ -565,7 +569,7 @@ EOF</userinput></screen>
</sect2> </sect2>
<sect2 id="ch-config-sysklogd"> <sect2 id="ch-config-sysklogd">
<title>Configuring the sysklogd Script</title> <title>Configuring the Sysklogd Script</title>
<indexterm zone="ch-config-sysklogd"> <indexterm zone="ch-config-sysklogd">
<primary sortas="d-sysklogd">sysklogd</primary> <primary sortas="d-sysklogd">sysklogd</primary>
@ -600,8 +604,8 @@ EOF</userinput></screen>
<filename>console</filename>, and <filename>clock</filename> files in the <filename>console</filename>, and <filename>clock</filename> files in the
<filename class='directory'>/etc/sysconfig/</filename> directory. If the <filename class='directory'>/etc/sysconfig/</filename> directory. If the
associated variables are present in both these separate files and associated variables are present in both these separate files and
<filename>rc.site</filename>, the values in the script specific files have <filename>rc.site</filename>, the values in the script-specific files take
precedence. </para> effect. </para>
<para><filename>rc.site</filename> also contains parameters that can <para><filename>rc.site</filename> also contains parameters that can
customize other aspects of the boot process. Setting the IPROMPT variable customize other aspects of the boot process. Setting the IPROMPT variable
@ -615,8 +619,8 @@ EOF</userinput></screen>
<title>Customizing the Boot and Shutdown Scripts</title> <title>Customizing the Boot and Shutdown Scripts</title>
<para>The LFS boot scripts boot and shut down a system in a fairly <para>The LFS boot scripts boot and shut down a system in a fairly
efficient manner, but there are a few tweaks that you can make in the efficient manner, but there are a few tweaks you can make in the
rc.site file to improve speed even more and to adjust messages according rc.site file to improve speed even more, and to adjust messages according
to your preferences. To do this, adjust the settings in to your preferences. To do this, adjust the settings in
the <filename>/etc/sysconfig/rc.site</filename> file above.</para> the <filename>/etc/sysconfig/rc.site</filename> file above.</para>
@ -624,18 +628,18 @@ EOF</userinput></screen>
<listitem><para>During the boot script <filename>udev</filename>, there is <listitem><para>During the boot script <filename>udev</filename>, there is
a call to <command>udev settle</command> that requires some time to a call to <command>udev settle</command> that requires some time to
complete. This time may or may not be required depending on devices present complete. This time may or may not be required depending on the devices
in the system. If you only have simple partitions and a single ethernet in the system. If you only have simple partitions and a single ethernet
card, the boot process will probably not need to wait for this command. To card, the boot process will probably not need to wait for this command. To
skip it, set the variable OMIT_UDEV_SETTLE=y.</para></listitem> skip it, set the variable OMIT_UDEV_SETTLE=y.</para></listitem>
<listitem><para>The boot script <filename>udev_retry</filename> also runs <listitem><para>The boot script <filename>udev_retry</filename> also runs
<command>udev settle</command> by default. This command is only needed by <command>udev settle</command> by default. This command is only needed
default if the <filename class='directory'>/var</filename> directory is if the <filename class='directory'>/var</filename> directory is
separately mounted. This is because the clock needs the file separately mounted, because the clock needs the
<filename>/var/lib/hwclock/adjtime</filename>. Other customizations may <filename>/var/lib/hwclock/adjtime</filename> file. Other customizations may
also need to wait for udev to complete, but in many installations it is not also need to wait for udev to complete, but in many installations it is not
needed. Skip the command by setting the variable OMIT_UDEV_RETRY_SETTLE=y. necessary. Skip the command by setting the variable OMIT_UDEV_RETRY_SETTLE=y.
</para></listitem> </para></listitem>
<listitem><para>By default, the file system checks are silent. This can <listitem><para>By default, the file system checks are silent. This can
@ -664,7 +668,7 @@ EOF</userinput></screen>
<listitem><para>During shutdown, the <command>init</command> program sends <listitem><para>During shutdown, the <command>init</command> program sends
a TERM signal to each program it has started (e.g. agetty), waits for a set a TERM signal to each program it has started (e.g. agetty), waits for a set
time (default 3 seconds), and sends each process a KILL signal and waits time (default 3 seconds), then sends each process a KILL signal and waits
again. This process is repeated in the <command>sendsignals</command> again. This process is repeated in the <command>sendsignals</command>
script for any processes that are not shut down by their own scripts. The script for any processes that are not shut down by their own scripts. The
delay for <command>init</command> can be set by passing a parameter. For delay for <command>init</command> can be set by passing a parameter. For

View File

@ -91,11 +91,11 @@
<!ENTITY sysvinit-consolidated-patch-md5 "17ffccbb8e18c39e8cedc32046f3a475"> <!ENTITY sysvinit-consolidated-patch-md5 "17ffccbb8e18c39e8cedc32046f3a475">
<!ENTITY sysvinit-consolidated-patch-size "2.5 KB"> <!ENTITY sysvinit-consolidated-patch-size "2.5 KB">
<!--
<!ENTITY systemd-upstream-patch "systemd-&systemd-version;-glibc_2.36_fix-1.patch"> <!ENTITY systemd-upstream-patch "systemd-&systemd-version;-security_fix-1.patch">
<!ENTITY systemd-upstream-patch-md5 "fd8dc901e73ad00dc72a351a0d4ac48c"> <!ENTITY systemd-upstream-patch-md5 "da817e69e897d35cdffd7c45ea06be39">
<!ENTITY systemd-upstream-patch-size "3.0 KB"> <!ENTITY systemd-upstream-patch-size "76.0 KB">
-->
<!-- <!--
<!ENTITY xz-upstream-fix-patch "xz-&xz-version;-upstream_fix-1.patch"> <!ENTITY xz-upstream-fix-patch "xz-&xz-version;-upstream_fix-1.patch">
<!ENTITY xz-upstream-fix-patch-md5 "584c72ea3d8f7502b2770670f3090788"> <!ENTITY xz-upstream-fix-patch-md5 "584c72ea3d8f7502b2770670f3090788">

View File

@ -328,7 +328,7 @@
<listitem> <listitem>
<para>Libcap</para> <para>Libcap</para>
<para>This package implements the user-space interfaces to <para>This package implements the userspace interfaces to
the POSIX 1003.1e capabilities available in Linux kernels. the POSIX 1003.1e capabilities available in Linux kernels.
</para> </para>
</listitem> </listitem>