Chapters
Chapter 11.

Chapter 11.

11.1. The End

Well done! The new LFS system is installed! We wish you much success with your shiny new custom-built Linux system.

It may be a good idea to create an /etc/lfs-release file. By having this file, it is very easy for you (and for us if you need to ask for help at some point) to find out which LFS version is installed on the system. Create this file by running:

echo 12.4 > /etc/lfs-release

Two files describing the installed system may be used by packages that can be installed on the system later, either in binary form or by building them.

The first one shows the status of your new system with respect to the Linux Standards Base (LSB). To create this file, run:

cat > /etc/lsb-release << "EOF"
DISTRIB_ID="Linux From Scratch"
DISTRIB_RELEASE="12.4"
DISTRIB_CODENAME="<your name here>"
DISTRIB_DESCRIPTION="Linux From Scratch"
EOF

The second one contains roughly the same information, and is used by systemd and some graphical desktop environments. To create this file, run:

cat > /etc/os-release << "EOF"
NAME="Linux From Scratch"
VERSION="12.4"
ID=lfs
PRETTY_NAME="Linux From Scratch 12.4"
VERSION_CODENAME="<your name here>"
HOME_URL="https://www.linuxfromscratch.org/lfs/"
RELEASE_TYPE="stable"
EOF

Be sure to customize the fields 'DISTRIB_CODENAME' and 'VERSION_CODENAME' to make the system uniquely yours.

11.2. Get Counted

Now that you have finished the book, do you want to be counted as an LFS user? Head over to https://www.linuxfromscratch.org/cgi-bin/lfscounter.php and register as an LFS user by entering your name and the first LFS version you have used.

Let's reboot into LFS now.

11.3. Rebooting the System

Now that all of the software has been installed, it is time to reboot your computer. However, there are still a few things to check. Here are some suggestions:

  • Install any firmware needed if the kernel driver for your hardware requires some firmware files to function properly.
  • Ensure a password is set for the root user.
  • A review of the following configuration files is also appropriate at this point.
  • /etc/fstab
  • /etc/hosts
  • /etc/inputrc
  • /etc/profile
  • /etc/resolv.conf
  • /etc/vimrc
  • /etc/sysconfig/ifconfig.eth0

Now that we have said that, let's move on to booting our shiny new LFS installation for the first time! First exit from the chroot environment:

logout

Then unmount the virtual file systems:

umount -v $LFS/dev/pts
mountpoint -q $LFS/dev/shm && umount -v $LFS/dev/shm
umount -v $LFS/dev
umount -v $LFS/run
umount -v $LFS/proc
umount -v $LFS/sys

If multiple partitions were created, unmount the other partitions before unmounting the main one, like this:

umount -v $LFS/home
umount -v $LFS

Unmount the LFS file system itself:

umount -v $LFS

Now, reboot the system.

Assuming the GRUB boot loader was set up as outlined earlier, the menu is set to boot LFS 12.4 automatically.

When the reboot is complete, the LFS system is ready for use. What you will see is a simple “login: ” prompt. At this point, you can proceed to the BLFS Book where you can add more software to suit your needs.

If your reboot is not successful, it is time to troubleshoot. For hints on solving initial booting problems, see https://www.linuxfromscratch.org/lfs/troubleshooting.html.

11.4. Additional Resources

Thank you for reading this LFS book. We hope that you have found this book helpful and have learned more about the system creation process.

Now that the LFS system is installed, you may be wondering “What next?” To answer that question, we have compiled a list of resources for you.

  • Maintenance 274

Bugs and security notices are reported regularly for all software. Since an LFS system is compiled from source, it is up to you to keep abreast of such reports. There are several online resources that track such reports, some of which are shown below:


This is a list of security vulnerabilities discovered in the LFS book after it's published.


This is a mailing list for discussion of security flaws, concepts, and practices in the Open Source community.

  • LFS Hints

The LFS Hints are a collection of educational documents submitted by volunteers in the LFS community. The hints are available at https://www.linuxfromscratch.org/hints/downloads/files/.

  • Mailing lists

There are several LFS mailing lists you may subscribe to if you are in need of help, want to stay current with the latest developments, want to contribute to the project, and more. See Chapter 1 - Mailing Lists for more information.

  • The Linux Documentation Project

The goal of The Linux Documentation Project (TLDP) is to collaborate on all of the issues of Linux documentation. The TLDP features a large collection of HOWTOs, guides, and man pages. It is located at https:// tldp.org/.

11.5. Getting Started After LFS

11.5.1. Deciding what to do next

Now that LFS is complete and you have a bootable system, what do you do? The next step is to decide how to use it.

Generally, there are two broad categories to consider: workstation or server. Indeed, these categories are not mutually exclusive. The applications needed for each category can be combined onto a single system, but let's look at them separately for now.

A server is the simpler category. Generally this consists of a web server such as the Apache HTTP Server and a database server such as MariaDB. However other services are possible. The operating system embedded in a single use device falls into this category.

On the other hand, a workstation is much more complex. It generally requires a graphical user environment such as LXDE, XFCE, KDE, or Gnome based on a basic graphical environment and several graphical based applications such as the Firefox web browser, Thunderbird email client, or LibreOffice office suite. These applications require many (several hundred depending on desired capabilities) more packages of support applications and libraries.

In addition to the above, there is a set of applications for system management for all kinds of systems. These applications are all in the BLFS book. Not all packages are needed in every environment. For example dhcpcd, is not normally appropriate for a server and wireless_tools, are normally only useful for a laptop system.

11.5.2. Working in a basic LFS environment

When you initially boot into LFS, you have all the internal tools to build additional packages. Unfortunately, the user environment is quite sparse. There are a couple of ways to improve this:

11.5.2.1. Work from the LFS host in chroot

This method provides a complete graphical environment where a full featured browser and copy/paste capabilities are available. This method allows using applications like the host's version of wget to download package sources to a location available when working in the chroot environment.

In order to properly build packages in chroot, you will also need to remember to mount the virtual file systems if they are not already mounted. One way to do this is to create a script on the HOST system:

cat > ~/mount-virt.sh << "EOF"
#!/bin/bash
function mountbind
{
if ! mountpoint $LFS/$1 >/dev/null; then
$SUDO mount --bind /$1 $LFS/$1
echo $LFS/$1 mounted
else
echo $LFS/$1 already mounted
fi
... (33 more lines)

Note that the last three commands in the script are commented out. These are useful if those directories are mounted as separate partitions on the host system and will be mounted when booting the completed LFS/BLFS system.

The script can be run with bash ~/mount-virt.sh as either a regular user (recommended) or as root . If run as a regular user, sudo is required on the host system.

Another issue pointed out by the script is where to store downloaded package files. This location is arbitrary. It can be in a regular user's home directory such as ~/sources or in a global location like /usr/src. Our recommendation is not to mix BLFS sources and LFS sources in (from the chroot environment) /sources. In any case, the packages must be accessible inside the chroot environment.

A last convenience feature presented here is to streamline the process of entering the chroot environment. This can be done with an alias placed in a user's ~/.bashrc file on the host system:

alias lfs='sudo /usr/sbin/chroot /mnt/lfs /usr/bin/env -i HOME=/root TERM="$TERM" PS1="\u:\w\\\\$ "
PATH=/usr/bin:/usr/sbin /bin/bash --login'

This alias is a little tricky because of the quoting and levels of backslash characters. It must be all on a single line. The above command has been split in two for presentation purposes.

11.5.2.2. Work remotely via ssh
This method also provides a full graphical environment, but first requires installing sshd on the LFS system, usually in chroot. It also requires a second computer. This method has the advantage of being simple by not requiring the complexity of the chroot environment. It also uses your LFS built kernel for all additional packages and still provides a complete system for installing packages.

You may use the scp command to upload the package sources to be built onto the LFS system. If you want to download the sources onto the LFS system directly instead, install libtasn1, p11-kit, make-ca, and wget in chroot (or upload their

sources using scp after booting the LFS system). 11.5.2.3. Work from the LFS command line
This method requires installing libtasn1, p11-kit, make-ca, wget, gpm, and links (or lynx) in chroot and then rebooting into the new LFS system. At this point the default system has six virtual consoles. Switching consoles is as easy as using the Alt + Fx key combinations where Fx is between F1 and F6 . The Alt +← and Alt +→ combinations also will change the console.

At this point you can log into two different virtual consoles and run the links or lynx browser in one console and bash in the other. GPM then allows copying commands from the browser with the left mouse button, switching consoles, and pasting into the other console.

Note

As a side note, switching of virtual consoles can also be done from an X Window instance with the Ctrl+Alt+Fx key combination, but the mouse copy operation does not work between the graphical interface and a virtual console. You can return to the X Window display with the Ctrl+Alt+Fx combination, where

Fx is usually F1 but may be F7.


Part V. Appendices


Appendix A. Acronyms and Terms

ABI Application Binary Interface
ALFS Automated Linux From Scratch
API Application Programming Interface
ASCII American Standard Code for Information Interchange
BIOS Basic Input/Output System
BLFS Beyond Linux From Scratch
BSD Berkeley Software Distribution
chroot change root
CMOS Complementary Metal Oxide Semiconductor
COS Class Of Service
CPU Central Processing Unit
CRC Cyclic Redundancy Check
CVS Concurrent Versions System
DHCP Dynamic Host Configuration Protocol
DNS Domain Name Service
EGA Enhanced Graphics Adapter
ELF Executable and Linkable Format
EOF End of File
EQN equation
ext2 second extended file system
ext3 third extended file system
ext4 fourth extended file system
FAQ Frequently Asked Questions
FHS Filesystem Hierarchy Standard
FIFO First-In, First Out
FQDN Fully Qualified Domain Name
FTP File Transfer Protocol
GB Gigabytes
GCC GNU Compiler Collection
GID Group Identifier
GMT Greenwich Mean Time
HTML Hypertext Markup Language
IDE Integrated Drive Electronics
IEEE Institute of Electrical and Electronic Engineers
IO Input/Output IP Internet Protocol
IPC Inter-Process Communication
IRC Internet Relay Chat
ISO International Organization for Standardization
ISP Internet Service Provider
KB Kilobytes
LED Light Emitting Diode
LFS Linux From Scratch
LSB Linux Standard Base
MB Megabytes
MBR Master Boot Record
MD5 Message Digest 5
NIC Network Interface Card
NLS Native Language Support
NNTP Network News Transport Protocol
NPTL Native POSIX Threading Library
OSS Open Sound System
PCH Pre-Compiled Headers
PCRE Perl Compatible Regular Expression
PID Process Identifier PTY pseudo terminal
QOS Quality Of Service
RAM Random Access Memory
RPC Remote Procedure Call
RTC Real Time Clock
SBU Standard Build Unit
SCO The Santa Cruz Operation
SHA1 Secure-Hash Algorithm 1
TLDP The Linux Documentation Project
TFTP Trivial File Transfer Protocol
TLS Thread-Local Storage
UID User Identifier
umask user file-creation mask
USB Universal Serial Bus
UTC Coordinated Universal Time
UUID Universally Unique Identifier
VC Virtual Console
VGA Video Graphics Array
VT Virtual Terminal


Appendix B. Acknowledgments

We would like to thank the following people and organizations for their contributions to the Linux From Scratch Project.

  • Gerard Beekmans <gerard@linuxfromscratch.org> – LFS Creator
  • Bruce Dubbs <bdubbs@linuxfromscratch.org> – LFS Managing Editor
  • Jim Gifford <jim@linuxfromscratch.org> – CLFS Project Co-Leader
  • Pierre Labastie <pierre@linuxfromscratch.org> – BLFS Editor and ALFS Lead
  • DJ Lucas <dj@linuxfromscratch.org> – LFS and BLFS Editor
  • Ken Moffat <ken@linuxfromscratch.org> – BLFS Editor
  • Countless other people on the various LFS and BLFS mailing lists who helped make this book possible by giving their suggestions, testing the book, and submitting bug reports, instructions, and their experiences with installing various packages.

Translators

  • Manuel Canales Esparcia <macana@macana-es.com> – Spanish LFS translation project
  • Johan Lenglet <johan@linuxfromscratch.org> – French LFS translation project until 2008
  • Jean-Philippe Mengual <jmengual@linuxfromscratch.org> – French LFS translation project 2008-2016
  • Julien Lepiller <jlepiller@linuxfromscratch.org> – French LFS translation project 2017-present
  • Anderson Lizardo <lizardo@linuxfromscratch.org> – Portuguese LFS translation project historical
  • Jamenson Espindula <jafesp@gmail.com> – Portuguese LFS translation project 2022-present
  • Thomas Reitelbach <tr@erdfunkstelle.de> – German LFS translation project

Mirror Maintainers

North American Mirrors

  • Scott Kveton <scott@osuosl.org> – lfs.oregonstate.edu mirror
  • William Astle <lost@l-w.net> – ca.linuxfromscratch.org mirror
  • Eujon Sellers <jpolen@rackspace.com> – lfs.introspeed.com mirror
  • Justin Knierim <tim@idge.net> – lfs-matrix.net mirror

South American Mirrors

  • Manuel Canales Esparcia <manuel@linuxfromscratch.org> – lfsmirror.lfs-es.info mirror
  • Luis Falcon <Luis Falcon> – torredehanoi.org mirror

European Mirrors

  • Guido Passet <guido@primerelay.net> – nl.linuxfromscratch.org mirror
  • Bastiaan Jacques <baafie@planet.nl> – lfs.pagefault.net mirror
  • Sven Cranshoff <sven.cranshoff@lineo.be> – lfs.lineo.be mirror 282
  • Scarlet Belgium – lfs.scarlet.be mirror
  • Sebastian Faulborn <info@aliensoft.org> – lfs.aliensoft.org mirror
  • Stuart Fox <stuart@dontuse.ms> – lfs.dontuse.ms mirror
  • Ralf Uhlemann <admin@realhost.de> – lfs.oss-mirror.org mirror
  • Antonin Sprinzl <Antonin.Sprinzl@tuwien.ac.at> – at.linuxfromscratch.org mirror
  • Fredrik Danerklint <fredan-lfs@fredan.org> – se.linuxfromscratch.org mirror
  • Franck <franck@linuxpourtous.com> – lfs.linuxpourtous.com mirror
  • Philippe Baque <baque@cict.fr> – lfs.cict.fr mirror
  • Vitaly Chekasin <gyouja@pilgrims.ru> – lfs.pilgrims.ru mirror
  • Benjamin Heil <kontakt@wankoo.org> – lfs.wankoo.org mirror
  • Anton Maisak <info@linuxfromscratch.org.ru> – linuxfromscratch.org.ru mirror

Asian Mirrors

  • Satit Phermsawang <satit@wbac.ac.th> – lfs.phayoune.org mirror
  • Shizunet Co.,Ltd. <info@shizu-net.jp> – lfs.mirror.shizu-net.jp mirror

Australian Mirrors

  • Jason Andrade <jason@dstc.edu.au> – au.linuxfromscratch.org mirror

Former Project Team Members

  • Christine Barczak <theladyskye@linuxfromscratch.org> – LFS Book Editor
  • Archaic <archaic@linuxfromscratch.org> – LFS Technical Writer/Editor, HLFS Project Leader, BLFS Editor,

Hints and Patches Project Maintainer

  • Matthew Burgess <matthew@linuxfromscratch.org> – LFS Project Leader, LFS Technical Writer/Editor
  • Nathan Coulson <nathan@linuxfromscratch.org> – LFS-Bootscripts Maintainer
  • Timothy Bauscher
  • Robert Briggs
  • Ian Chilton
  • Jeroen Coumans <jeroen@linuxfromscratch.org> – Website Developer, FAQ Maintainer
  • Manuel Canales Esparcia <manuel@linuxfromscratch.org> – LFS/BLFS/HLFS XML and XSL Maintainer
  • Alex Groenewoud – LFS Technical Writer
  • Marc Heerdink
  • Jeremy Huntwork <jhuntwork@linuxfromscratch.org> – LFS Technical Writer, LFS LiveCD Maintainer
  • Bryan Kadzban <bryan@linuxfromscratch.org> – LFS Technical Writer
  • Mark Hymers
  • Seth W. Klein – FAQ maintainer
  • Nicholas Leippe <nicholas@linuxfromscratch.org> – Wiki Maintainer 283



  • Anderson Lizardo <lizardo@linuxfromscratch.org> – Website Backend-Scripts Maintainer
  • Randy McMurchy <randy@linuxfromscratch.org> – BLFS Project Leader, LFS Editor
  • Dan Nicholson <dnicholson@linuxfromscratch.org> – LFS and BLFS Editor
  • Alexander E. Patrakov <alexander@linuxfromscratch.org> – LFS Technical Writer, LFS Internationalization

Editor, LFS Live CD Maintainer

  • Simon Perreault
  • Scot Mc Pherson <scot@linuxfromscratch.org> – LFS NNTP Gateway Maintainer
  • Douglas R. Reno <renodr@linuxfromscratch.org> – Systemd Editor
  • Ryan Oliver <ryan@linuxfromscratch.org> – CLFS Project Co-Leader
  • Greg Schafer <gschafer@zip.com.au> – LFS Technical Writer and Architect of the Next Generation 64-bit- enabling Build Method
  • Jesse Tie-Ten-Quee – LFS Technical Writer
  • James Robertson <jwrober@linuxfromscratch.org> – Bugzilla Maintainer
  • Tushar Teredesai <tushar@linuxfromscratch.org> – BLFS Book Editor, Hints and Patches Project Leader
  • Jeremy Utley <jeremy@linuxfromscratch.org> – LFS Technical Writer, Bugzilla Maintainer, LFS-Bootscripts

Maintainer

  • Zack Winkles <zwinkles@gmail.com> – LFS Technical Writer 284



Appendix C. Dependencies

Every package built in LFS relies on one or more other packages in order to build and install properly. Some packages even participate in circular dependencies, that is, the first package depends on the second which in turn depends on the first. Because of these dependencies, the order in which packages are built in LFS is very important. The purpose of this page is to document the dependencies of each package built in LFS.

For each package that is built, there are three, and sometimes up to five types of dependencies listed below. The first lists what other packages need to be available in order to compile and install the package in question. The second lists the packages that must be available when any programs or libraries from the package are used at runtime. The third lists what packages, in addition to those on the first list, need to be available in order to run the test suites. The fourth list of dependencies are packages that require this package to be built and installed in its final location before they are built and installed.

The last list of dependencies are optional packages that are not addressed in LFS, but could be useful to the user.

These packages may have additional mandatory or optional dependencies of their own. For these dependencies, the recommended practice is to install them after completion of the LFS book and then go back and rebuild the LFS package.

In several cases, re-installation is addressed in BLFS.

Acl

Installation depends on:

Attr, Bash, Binutils, Coreutils, GCC, Gettext, Grep, M4, Make, Perl, Sed, and Texinfo

Required at Runtime

Attr and Glibc

Test suite depends on:

Automake, Diffutils, Findutils, and Libtool

Must be installed before: Coreutils, Sed, Tar, and Vim

Optional dependencies: None

Attr

Installation depends on: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, M4, Make, Perl, Sed, and Texinfo

Required at Runtime

Glibc

Test suite depends on: Automake, Diffutils, Findutils, and Libtool

Must be installed before: Acl, Libcap, and Patch Optional dependencies: None

Autoconf

Installation depends on:

Bash, Coreutils, Grep, M4, Make, Perl, Sed, and Texinfo

Required at Runtime

Bash, Coreutils, Grep, M4, Make, Sed, and Texinfo Test suite depends on: Automake, Diffutils, Findutils, GCC, and Libtool

Must be installed before: Automake and Coreutils

Optional dependencies: Emacs

Automake

Installation depends on:

Autoconf, Bash, Coreutils, Gettext, Grep, M4, Make, Perl, Sed, and Texinfo

Required at Runtime

Bash, Coreutils, Grep, M4, Sed, and Texinfo
Test suite depends on: Binutils, Bison, Bzip2, DejaGNU, Diffutils, Expect, Findutils, Flex, GCC, Gettext, Gzip, Libtool, and Tar

Must be installed before: Coreutils Optional dependencies: None

Bash

Installation depends on: Bash, Binutils, Bison, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Ncurses, Patch, Readline, Sed, and Texinfo



Required at Runtime

Glibc, Ncurses, and Readline Test suite depends on: Expect and Shadow

Must be installed before: None
Optional dependencies: Xorg

Bc

Installation depends on:

Bash, Binutils, Coreutils, GCC, Glibc, Grep, Make, and Readline

Required at Runtime

Glibc, Ncurses, and Readline Test suite depends on: Gawk

Must be installed before: Linux Optional dependencies: None

Binutils

Installation depends on: Bash, Binutils, Coreutils, Diffutils, File, Flex, Gawk, GCC, Glibc, Grep, Make, Perl, Pkgconf, Sed, Texinfo, Zlib, and Zstd



Required at Runtime

Glibc, Zlib, and Zstd Test suite depends on: DejaGNU and Expect

Must be installed before: None Optional dependencies: Elfutils and Jansson

Bison

Installation depends on: Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, M4, Make, Perl, and Sed



Required at Runtime

Glibc Test suite depends on: Diffutils, Findutils, and Flex

Must be installed before: Kbd and Tar (

Must be installed before: Kbd and Tar)
Optional dependencies: Doxygen

Bzip2

Installation depends on:

Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Make, and Patch

Required at Runtime

Glibc Test suite depends on: None

Must be installed before: File and Libelf Optional dependencies: None

Coreutils

Installation depends on: Autoconf, Automake, Bash, Binutils, Coreutils, GCC, Gettext, Glibc, GMP, Grep, Libcap, Make, OpenSSL, Patch, Perl, Sed, and Texinfo



Required at Runtime

Glibc Test suite depends on: Diffutils, E2fsprogs, Findutils, Shadow, and Util-linux

Must be installed before: Bash, Diffutils, Findutils, Man-DB, and Udev Optional dependencies: Expect.pm and IO::Tty


DejaGNU

Installation depends on:

Bash, Coreutils, Diffutils, Expect, GCC, Grep, Make, Sed, and Texinfo

Required at Runtime

Expect and Bash Test suite depends on: None

Must be installed before: None Optional dependencies: None

Diffutils

Installation depends on: Bash, Binutils, Coreutils, Gawk, GCC, Gettext, Glibc, Grep, Make, Sed, and Texinfo



Required at Runtime

Glibc Test suite depends on: Perl

Must be installed before: None Optional dependencies: None

E2fsprogs

Installation depends on: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Gzip, Make, Pkgconf, Sed, Texinfo, and Util-linux



Required at Runtime

Glibc and Util-linux Test suite depends on: Procps-ng and Psmisc

Must be installed before: None Optional dependencies: None

Expat

Installation depends on:

Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make, and Sed

Required at Runtime

Glibc Test suite depends on: None

Must be installed before: Python and XML::Parser Optional dependencies: None

Expect

Installation depends on: Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, Patch, Sed, and Tcl



Required at Runtime

Glibc and Tcl Test suite depends on: None

Must be installed before: None (

Must be installed before: None)
Optional dependencies: Tk

File

Installation depends on: Bash, Binutils, Bzip2, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed, Xz, and Zlib



Required at Runtime

Glibc, Bzip2, Xz, and Zlib Test suite depends on: None

Must be installed before: None (

Must be installed before: None)
Optional dependencies: libseccomp



Findutils

Installation depends on: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, Make, Sed, and Texinfo



Required at Runtime

Bash and Glibc Test suite depends on: DejaGNU, Diffutils, and Expect

Must be installed before: None Optional dependencies: None

Flex

Installation depends on: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, M4, Make, Patch, Sed, and Texinfo



Required at Runtime

Bash, Glibc, and M4 Test suite depends on: Bison and Gawk

Must be installed before: Binutils, IProute2, Kbd, Kmod, and Man-DB Optional dependencies: None

Flit-Core

Installation depends on:

Python

Required at Runtime

Python Test suite depends on: No test suite available

Must be installed before: Packaging and Wheel Optional dependencies: pytest and testpath

Gawk

Installation depends on: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, GMP, Grep, Make, MPFR, Patch, Readline, Sed, and Texinfo



Required at Runtime

Bash, Glibc, and Mpfr Test suite depends on: Diffutils

Must be installed before: None (

Must be installed before: None)
Optional dependencies: libsigsegv

GCC

Installation depends on: Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, GCC, Gettext, Glibc, GMP, Grep, M4, Make, MPC, MPFR, Patch, Perl, Sed, Tar, Texinfo, and Zstd



Required at Runtime

Bash, Binutils, Glibc, Mpc, and Python Test suite depends on: DejaGNU, Expect, and Shadow

Must be installed before: None Optional dependencies: GDC, GNAT, and ISL

GDBM

Installation depends on:

Bash, Binutils, Coreutils, Diffutils, GCC, Grep, Make, and Sed

Required at Runtime

Bash, Glibc, and Readline Test suite depends on: None

Must be installed before: None Optional dependencies: None


Gettext

Installation depends on: Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make, Ncurses, Sed, and Texinfo



Required at Runtime

Acl, Bash, Gcc, and Glibc Test suite depends on: Diffutils, Perl, and Tcl

Must be installed before: Automake and Bison Optional dependencies: libunistring and libxml2

Glibc

Installation depends on: Bash, Binutils, Bison, Coreutils, Diffutils, Gawk, GCC, Gettext, Grep, Gzip, Linux API Headers, Make, Perl, Python, Sed, and Texinfo



Required at Runtime

None Test suite depends on: File

Must be installed before: None Optional dependencies: None

GMP

Installation depends on: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, M4, Make, Sed, and Texinfo



Required at Runtime

GCC and Glibc Test suite depends on: None

Must be installed before: MPFR and GCC Optional dependencies: None

Gperf

Installation depends on:

Bash, Binutils, Coreutils, GCC, Glibc, and Make

Required at Runtime

GCC and Glibc Test suite depends on: Diffutils and Expect

Must be installed before: None Optional dependencies: None

Grep

Installation depends on: Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Patch, Sed, and Texinfo



Required at Runtime

Glibc Test suite depends on: Gawk

Must be installed before: Man-DB Optional dependencies: PCRE2 and libsigsegv

Groff

Installation depends on: Bash, Binutils, Bison, Coreutils, Gawk, GCC, Glibc, Grep, Make, Patch, Sed, and Texinfo



Required at Runtime

GCC, Glibc, and Perl Test suite depends on: None

Must be installed before: Man-DB Optional dependencies: ghostscript and Uchardet


GRUB

Installation depends on: Bash, Binutils, Bison, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed, Texinfo, and Xz



Required at Runtime

Bash, GCC, Gettext, Glibc, Xz, and Sed Test suite depends on: None

Must be installed before: None Optional dependencies: None

Gzip

Installation depends on:

Bash, Binutils, Coreutils, GCC, Glibc, Grep, Make, Sed, and Texinfo

Required at Runtime

Bash and Glibc Test suite depends on: Diffutils and Less

Must be installed before: Man-DB Optional dependencies: None

Iana-Etc

Installation depends on:

Coreutils

Required at Runtime

None Test suite depends on: No test suite available

Must be installed before: Perl Optional dependencies: None

Inetutils

Installation depends on: Bash, Binutils, Coreutils, GCC, Glibc, Grep, Make, Ncurses, Patch, Sed, Texinfo, and Zlib



Required at Runtime

GCC, Glibc, Ncurses, and Readline Test suite depends on: None

Must be installed before: Tar Optional dependencies: None

Intltool

Installation depends on:

Bash, Gawk, Glibc, Make, Perl, Sed, and XML::Parser

Required at Runtime

Autoconf, Automake, Bash, Glibc, Grep, Perl, and Sed Test suite depends on: Perl

Must be installed before: None Optional dependencies: None

IProute2

Installation depends on: Bash, Bison, Coreutils, Flex, GCC, Glibc, Make, Libcap, Libelf, Linux API Headers, Pkgconf, and Zlib



Required at Runtime

Bash, Coreutils, Glibc, Libcap, Libelf, and Zlib Test suite depends on: No test suite available

Must be installed before: None (

Must be installed before: None)
Optional dependencies: Berkeley DB, iptables, libbpf, libmnl, and libtirpc

Jinja2

Installation depends on:

MarkupSafe, Python, Setuptools, and Wheel

Required at Runtime

MarkupSafe and Python Test suite depends on: No test suite available

Must be installed before: Udev Optional dependencies: None

Kbd

Installation depends on: Bash, Binutils, Bison, Coreutils, Flex, GCC, Gettext, Glibc, Gzip, Make, Patch, and Sed



Required at Runtime

Bash, Coreutils, and Glibc Test suite depends on: None

Must be installed before: None (

Must be installed before: None)
Optional dependencies: Linux-PAM

Kmod

Installation depends on: Bash, Binutils, Bison, Coreutils, Flex, GCC, Gettext, Glibc, Gzip, Make, OpenSSL, Pkgconf, Sed, Xz, and Zlib



Required at Runtime

Glibc, Xz, and Zlib Test suite depends on: No test suite available

Must be installed before: Udev Optional dependencies: scdoc )

Less

Installation depends on: Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, Ncurses, and Sed



Required at Runtime

Glibc and Ncurses Test suite depends on: None

Must be installed before: Gzip Optional dependencies: PCRE2 or PCRE

Libcap

Installation depends on:

Attr, Bash, Binutils, Coreutils, GCC, Glibc, Perl, Make, and Sed

Required at Runtime

Glibc Test suite depends on: None

Must be installed before: IProute2 and Shadow (

Must be installed before: IProute2 and Shadow)
Optional dependencies: Linux-PAM

Libelf

Installation depends on:

Bash, Binutils, Bzip2, Coreutils, GCC, Glibc, Make, Xz, Zlib, and Zstd

Required at Runtime

Bzip2, Glibc, Xz, Zlib, and Zstd Test suite depends on: None

Must be installed before: IProute2 and Linux Optional dependencies: None


Libffi

Installation depends on:

Bash, Binutils, Coreutils, GCC, Glibc, Make, and Sed

Required at Runtime

Glibc Test suite depends on: DejaGnu

Must be installed before: Python Optional dependencies: None

Libpipeline

Installation depends on: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed, and Texinfo

Required at Runtime

Glibc Test suite depends on: Check and Pkgconf

Must be installed before: Man-DB Optional dependencies: None

Libtool

Installation depends on: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed, and Texinfo

Required at Runtime

Autoconf, Automake, Bash, Binutils, Coreutils, File, GCC, Glibc, Grep, Make, and Sed

Test suite depends on: Autoconf, Automake, and Findutils

Must be installed before: None Optional dependencies: None

Libxcrypt

Installation depends on: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Perl, and Sed

Required at Runtime

Glibc Test suite depends on: None

Must be installed before: Perl, Python, Shadow, and Udev Optional dependencies: None

Linux

Installation depends on: Bash, Bc, Binutils, Coreutils, Diffutils, Findutils, GCC, Glibc, Grep, Gzip, Kmod, Libelf, Make, Ncurses, OpenSSL, Perl, and Sed

Required at Runtime

None Test suite depends on: No test suite available

Must be installed before: None Optional dependencies: cpio, LLVM (with Clang), and Rust-bindgen , and Rust-bindgen)

Linux API Headers

Installation depends on: Bash, Binutils, Coreutils, Findutils, GCC, Glibc, Grep, Gzip, Make, Perl, and Sed



Required at Runtime

None Test suite depends on: No test suite available

Must be installed before: None Optional dependencies: None


Lz4

Installation depends on:

Bash, Binutils, Coreutils, GCC, Glibc, and Make

Required at Runtime

Glibc Test suite depends on: Python

Must be installed before: Zstd Optional dependencies: None

M4

Installation depends on:

Bash, Binutils, Coreutils, GCC, Glibc, Grep, Make, Sed, and Texinfo

Required at Runtime

Bash and Glibc Test suite depends on: Diffutils

Must be installed before: Autoconf and Bison (

Must be installed before: Autoconf and Bison)
Optional dependencies: libsigsegv

Make

Installation depends on: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, Make, Sed, and Texinfo



Required at Runtime

Glibc Test suite depends on: Perl and Procps-ng

Must be installed before: None (

Must be installed before: None)
Optional dependencies: Guile

Man-DB

Installation depends on: Bash, Binutils, Bzip2, Coreutils, Flex, GCC, GDBM, Gettext, Glibc, Grep, Groff, Gzip, Less, Libpipeline, Make, Pkgconf, Sed, and Xz



Required at Runtime

Bash, GDBM, Groff, Glibc, Gzip, Less, Libpipeline, and Zlib Test suite depends on: Util-linux

Must be installed before: None (

Must be installed before: None)
Optional dependencies: libseccomp and po4a

Man-Pages

Installation depends on:

Bash, Coreutils, Make, and Sed

Required at Runtime

None Test suite depends on: No test suite available

Must be installed before: None Optional dependencies: None

Markup Safe

Installation depends on:

Python, Setuptools, and Wheel

Required at Runtime

Python Test suite depends on: No test suite available

Must be installed before: Jinja2 Optional dependencies: None


Meson

Installation depends on:

Ninja, Python, Setuptools, and Wheel

Required at Runtime

Python Test suite depends on: No test suite available

Must be installed before: Udev Optional dependencies: None

MPC

Installation depends on: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, GMP, Make, MPFR, Sed, and Texinfo



Required at Runtime

Glibc, GMP, and MPFR Test suite depends on: None

Must be installed before: GCC Optional dependencies: None

MPFR

Installation depends on: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, GMP, Make, Sed, and Texinfo



Required at Runtime

Glibc and GMP Test suite depends on: None

Must be installed before: Gawk and GCC Optional dependencies: None

Ncurses

Installation depends on: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Patch, and Sed



Required at Runtime

Glibc Test suite depends on: No test suite available

Must be installed before: Bash, GRUB, Inetutils, Less, Procps-ng, Psmisc, Readline, Texinfo, Util-linux, and Vim

Optional dependencies: None

Ninja

Installation depends on:

Binutils, Coreutils, GCC, and Python

Required at Runtime

GCC and Glibc (

Required at Runtime

GCC and Glibc)
Test suite depends on: cmake



Must be installed before: Meson
Optional dependencies: Asciidoc, Doxygen, Emacs, and re2c

OpenSSL

Installation depends on:

Binutils, Coreutils, GCC, Make, and Perl

Required at Runtime

Glibc and Perl Test suite depends on: None

Must be installed before: Coreutils, Kmod, Linux, and Udev Optional dependencies: None


Packaging

Installation depends on:

Flit-core and Python

Required at Runtime

Python Test suite depends on: No test suite available

Must be installed before: Wheel (

Must be installed before: Wheel)
Optional dependencies: pytest

Patch

Installation depends on:

Attr, Bash, Binutils, Coreutils, GCC, Glibc, Grep, Make, and Sed

Required at Runtime

Attr and Glibc Test suite depends on: Diffutils

Must be installed before: None (

Must be installed before: None)
Optional dependencies: Ed

Perl

Installation depends on: Bash, Binutils, Coreutils, Gawk, GCC, GDBM, Glibc, Grep, Libxcrypt, Make, Sed, and Zlib



Required at Runtime

GDBM, Glibc, and Libxcrypt Test suite depends on: Iana-Etc, Less, and Procps-ng

Must be installed before: Autoconf (

Must be installed before: Autoconf)
Optional dependencies: Berkeley DB

Pkgconf

Installation depends on:

Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make, and Sed

Required at Runtime

Glibc Test suite depends on: None

Must be installed before: Binutils, E2fsprogs, IProute2, Kmod, Man-DB, Procps-ng, Python, Udev, and Util-linux

Optional dependencies: None

Procps-ng

Installation depends on:

Bash, Binutils, Coreutils, GCC, Glibc, Make, Ncurses, and Pkgconf

Required at Runtime

Glibc Test suite depends on: DejaGNU

Must be installed before: None (

Must be installed before: None)
Optional dependencies: elogind

Psmisc

Installation depends on: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, and Sed



Required at Runtime

Glibc and Ncurses Test suite depends on: Expect

Must be installed before: None Optional dependencies: None


Python

Installation depends on: Bash, Binutils, Coreutils, Expat, GCC, Gdbm, Gettext, Glibc, Grep, Libffi, Libxcrypt, Make, Ncurses, OpenSSL, Pkgconf, Sed, and Util-linux



Required at Runtime

Bzip2, Expat, Gdbm, Glibc, Libffi, Libxcrypt, Ncurses, OpenSSL, and Zlib Test suite depends on: GDB and Valgrind

Must be installed before: Ninja (

Must be installed before: Ninja)
Optional dependencies: Berkeley DB, libnsl, SQLite, and Tk

Readline

Installation depends on: Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make, Ncurses, Patch, Sed, and Texinfo



Required at Runtime

Glibc and Ncurses Test suite depends on: No test suite available

Must be installed before: Bash, Bc, and Gawk Optional dependencies: None

Sed

Installation depends on: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, Make, Sed, and Texinfo



Required at Runtime

Acl, Attr, and Glibc Test suite depends on: Diffutils and Gawk

Must be installed before: E2fsprogs, File, Libtool, and Shadow Optional dependencies: None

Setuptools

Installation depends on:

Python and Wheel

Required at Runtime

Python Test suite depends on: No test suite available

Must be installed before: Jinja2, MarkupSafe, and Meson Optional dependencies: None

Shadow

Installation depends on: Acl, Attr, Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, GCC, Gettext, Glibc, Grep, Libcap, Libxcrypt, Make, and Sed



Required at Runtime

Glibc and Libxcrypt Test suite depends on: No test suite available

Must be installed before: Coreutils Optional dependencies: CrackLib and Linux-PAM

Sysklogd

Installation depends on:

Binutils, Coreutils, GCC, Glibc, Make, and Patch

Required at Runtime

Glibc Test suite depends on: No test suite available

Must be installed before: None Optional dependencies: None


SysVinit

Installation depends on:

Binutils, Coreutils, GCC, Glibc, Make, and Sed

Required at Runtime

Glibc Test suite depends on: No test suite available

Must be installed before: None Optional dependencies: None

Tar

Installation depends on: Acl, Attr, Bash, Binutils, Bison, Coreutils, GCC, Gettext, Glibc, Grep, Inetutils, Make, Sed, and Texinfo



Required at Runtime

Acl, Attr, Bzip2, Glibc, Gzip, and Xz Test suite depends on: Autoconf, Diffutils, Findutils, Gawk, and Gzip

Must be installed before: None Optional dependencies: None

Tcl

Installation depends on:

Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, and Sed

Required at Runtime

Glibc and Zlib Test suite depends on: None

Must be installed before: None Optional dependencies: None

Texinfo

Installation depends on: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, Patch, and Sed



Required at Runtime

Glibc and Ncurses Test suite depends on: None

Must be installed before: None Optional dependencies: None

Udev

Installation depends on: Acl, Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Gperf, Grep, Jinja2, Libcap, Libxcrypt, Meson, OpenSSL, Pkgconf, Sed, Util-linux, and Zstd



Required at Runtime

Acl, Glibc, Libcap, OpenSSL, and Util-linux Test suite depends on: None

Must be installed before: Util-linux Optional dependencies: None

Util-linux

Installation depends on: Bash, Binutils, Coreutils, Diffutils, File, Findutils, Gawk, GCC, Gettext, Glibc, Grep, Make, Ncurses, Pkgconf, Sed, Udev, and Zlib



Required at Runtime

Glibc, Ncurses, Readline, Udev, and Zlib Test suite depends on: None

Must be installed before: None (

Must be installed before: None)
Optional dependencies: Asciidoctor, Libcap-NG, libeconf, libuser, libutempter, Linux-PAM, smartmontools, po4a, and slang

Vim

Installation depends on: Acl, Attr, Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, Ncurses, and Sed



Required at Runtime

Acl, Attr, Glibc, Python, Ncurses, and Tcl Test suite depends on: None

Must be installed before: None (

Must be installed before: None)
Optional dependencies: Xorg, GTK+2, LessTif, Ruby, and GPM

Wheel

Installation depends on:

Python, Flit-core, and packaging

Required at Runtime

Python Test suite depends on: No test suite available

Must be installed before: Jinja2, MarkupSafe, Meson, and Setuptools Optional dependencies: None

XML::Parser

Installation depends on:

Bash, Binutils, Coreutils, Expat, GCC, Glibc, Make, and Perl

Required at Runtime

Expat, Glibc, and Perl Test suite depends on: Perl

Must be installed before: Intltool (

Must be installed before: Intltool)
Optional dependencies: LWP::UserAgent

Xz

Installation depends on:

Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, and Make

Required at Runtime

Glibc Test suite depends on: None

Must be installed before: File, GRUB, Kmod, Libelf, Man-DB, and Udev Optional dependencies: None

Zlib

Installation depends on:

Bash, Binutils, Coreutils, GCC, Glibc, Make, and Sed

Required at Runtime

Glibc Test suite depends on: None

Must be installed before: File, Kmod, Libelf, Perl, and Util-linux Optional dependencies: None

Zstd

Installation depends on:

Binutils, Coreutils, GCC, Glibc, Gzip, Lz4, Make, Xz, and Zlib

Required at Runtime

Glibc Test suite depends on: None

Must be installed before: Binutils, GCC, Libelf, and Udev Optional dependencies: None


Appendix D. Boot and sysconfig scripts version-20250827

The scripts in this appendix are listed by the directory where they normally reside.

The order is /etc/rc.d/init.d , /etc/sysconfig , /etc/sysconfig/network-devices , and /etc/sysconfig/network-devices/services .

Within each section, the files are listed in the order they are normally called.

D.1. /etc/rc.d/init.d/rc

The rc script is the first script called by init and initiates the boot process.

#!/bin/bash
########################################################################
# Begin rc
#
# Description : Main Run Level Control Script
#
# Authors     : Gerard Beekmans  - gerard@linuxfromscratch.org
#             : DJ Lucas - dj@linuxfromscratch.org
# Updates     : Bruce Dubbs - bdubbs@linuxfromscratch.org
#             : Pierre Labastie - pierre@linuxfromscratch.org
... (33 more lines)


fi
if [ ! -x ${i} ]; then
log_warning_msg "${i} is not executable, skipping."
SCRIPT_STAT="1"
fi
}
run()
{
if [ -z $interactive ]; then
${1} ${2}
... (39 more lines)


if [ ! -d /etc/rc.d/rc${runlevel}.d ]; then
log_info_msg "/etc/rc.d/rc${runlevel}.d does not exist.\n"
exit 1
fi
if [ "$runlevel" == "6" -o "$runlevel" == "0" ]; then IPROMPT="no"; fi
# Note: In ${LOGLEVEL:-7}, it is ':' 'dash' '7', not minus 7
if [ "$runlevel" == "S" ]; then
[ -r /etc/sysconfig/console ] && source /etc/sysconfig/console
dmesg -n "${LOGLEVEL:-7}"
fi
... (40 more lines)


fi
if [ "${previous}" == "N" ]; then export IN_BOOT=1; fi
if [ "$runlevel" == "6" -a -n "${FASTBOOT}" ]; then
touch /fastboot
fi
# Start all services marked as S in this runlevel, except if marked as
# S in the previous runlevel
# it is the responsibility of the script to not try to start an already running
# service
for i in $( ls -v /etc/rc.d/rc${runlevel}.d/S* 2> /dev/null)
... (29 more lines)

D.2. /lib/lsb/init-functions

#!/bin/sh
########################################################################
#
# Begin /lib/lsb/init-funtions
#
# Description : Run Level Control Functions


#
# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
#             : DJ Lucas - dj@linuxfromscratch.org
# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
#
# Version     : LFS 7.0
#
# Notes       : With code based on Matthias Benkmann's simpleinit-msb
# http://winterdrache.de/linux/newboot/index.html
#
... (44 more lines)


if [ -z "${COLUMNS}" ]; then
COLUMNS=$(stty size)
COLUMNS=${COLUMNS##* }
fi
else
COLUMNS=80
fi
# When using remote connections, such as a serial port, stty size returns 0
if [ "${COLUMNS}" = "0" ]; then
COLUMNS=80
... (46 more lines)


-p)
pidfile="${2}"
shift 2
;;
-*)
return 2
;;
*)
program="${1}"
break
... (43 more lines)


# Do the start!
nice -n "${nice}" "${@}"
}
################################################################################
# killproc()                                                                   #
# Usage: killproc [-p pidfile] pathname [signal]                               #
#                                                                              #
# Purpose: Send control signals to running processes                           #
#                                                                              #
# Inputs: -p pidfile, uses the specified pidfile                               #
... (48 more lines)


;;
esac
done
# Check for a valid program
if [ ! -e "${program}" ]; then return 5; fi
# Check for a valid signal
check_signal "${signal}"
if [ "${?}" -ne "0" ]; then return 2; fi
# Get a list of pids
if [ -z "${pidfile}" ]; then
... (42 more lines)


*)
# Others as returned by status values shall not be interpreted
# and returned as an unspecified error.
return 1
;;
esac
# Perform different actions for exit signals and control signals
check_sig_type "${signal}"
if [ "${?}" -eq "0" ]; then # Signal is used to terminate the program
# Account for empty pidlist (pid file still exists and no
... (41 more lines)


# let kill do its job, and evaluate kill's return for value
else # check_sig_type - signal is not used to terminate program
for pid in ${pidlist}; do
kill "${signal}" "${pid}"
if [ "${?}" -ne "0" ]; then return 1; fi
done
fi
}
################################################################################
# pidofproc()                                                                  #
... (46 more lines)


else
progname=`echo "${program}" | sed "s@${prefix}@@"`
fi
# If a PID file exists with that name, assume that is it.
if [ -e "/run/${progname}.pid" ]; then
pidfile="/run/${progname}.pid"
fi
fi
# If a PID file is set and exists, use it.
if [ -n "${pidfile}" -a -e "${pidfile}" ]; then
... (45 more lines)


case "${1}" in
-p)
pidfile="${2}"
shift 2
;;
*)
if [ -n "${2}" ]; then
echo "Too many arguments"
return 1
else
... (45 more lines)


# Usage: log_success_msg ["message"]                                           #
#                                                                              #
# Purpose: Print a successful status message to the screen and                 #
#          a boot log file.                                                    #
#                                                                              #
# Inputs: $@ - Message                                                         #
#                                                                              #
# Return values: Not used                                                      #
################################################################################
log_success_msg()
... (47 more lines)


fi
# Strip non-printable characters from log file
timespec
logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'`
/bin/echo -e "${STAMP} ${logmessage} FAIL" >> ${BOOTLOG}
return 0
}
log_failure_msg2()
{
if [ "x$HEADLESS" != "xyes" ]
... (43 more lines)


fi
# Strip non-printable characters from log file
logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'`
/bin/echo "SKIP" >> ${BOOTLOG}
return 0
}
################################################################################
# log_info_msg()                                                               #
# Usage: log_info_msg message                                                  #
#                                                                              #
... (44 more lines)


local error_value="${?}"
if [ ${error_value} = 0 ]; then
log_success_msg2
else
log_failure_msg2
fi
}
################################################################################
# check_signal()                                                               #
# Usage: check_signal [ -{signal} ]                                            #
... (46 more lines)


valsig=" -ALRM -INT -KILL -TERM -PWR -STOP -ABRT -QUIT -2 -3 -6 -9 -14 -15 "
echo "${valsig}" | grep -- " ${1} " > /dev/null
if [ "${?}" -eq "0" ]; then
return 0
else
return 1
fi
}
################################################################################
# wait_for_user()                                                              #
... (22 more lines)

D.3. /etc/rc.d/init.d/mountvirtfs

#!/bin/sh
########################################################################
# Begin mountvirtfs
#
# Description : Ensure proc, sysfs, run, and dev are mounted
#
# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
#               DJ Lucas - dj@linuxfromscratch.org
# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
#               Xi Ruoyao - xry111@xry111.site


# Default-Stop:
# Short-Description:   Mounts various special fs needed at start
# Description:         Mounts /sys and /proc virtual (kernel) filesystems.
#                      Mounts /run (tmpfs) and /dev (devtmpfs).
#                      This is done only if they are not already mounted.
#                      with the kernel config proposed in the book, dev
#                      should be automatically mounted by the kernel.
# X-LFS-Provided-By:   LFS
### END INIT INFO
. /lib/lsb/init-functions
... (39 more lines)


ln -sfn /proc/self/fd  /dev/fd     || failed=1
if [ -e /proc/kcore ]; then
log_info_msg2 " ${INFO}/dev/core"
ln -sf /proc/kcore  /dev/core   || failed=1
fi
(exit ${failed})
evaluate_retval
exit $failed
;;
*)

D.4. /etc/rc.d/init.d/modules

#!/bin/sh
########################################################################
# Begin modules
#
# Description : Module auto-loading script
#
# Authors     : Zack Winkles
#               DJ Lucas - dj@linuxfromscratch.org
# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
#
... (25 more lines)


# Only try to load modules if the user has actually given us
# some modules to load.
while read module args; do
# Ignore comments and blank lines.
case "$module" in
""|"#"*) continue ;;
esac
# Attempt to load the module, passing any arguments provided.
modprobe ${module} ${args} >/dev/null
# Print the module name if successful, otherwise take note.
... (22 more lines)

D.5. /etc/rc.d/init.d/udev

#!/bin/sh
########################################################################
# Begin udev
#
# Description : Udev cold-plugging script
#
# Authors     : Zack Winkles, Alexander E. Patrakov
#               DJ Lucas - dj@linuxfromscratch.org
# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
#               Xi Ruoyao - xry111@xry111.site


# Required-Start:      localnet
# Should-Start:        modules
# Required-Stop:
# Should-Stop:
# Default-Start:       S
# Default-Stop:
# Short-Description:   Populates /dev with device nodes.
# Description:         Mounts a tempfs on /dev and starts the udevd daemon.
#                      Device nodes are created as defined by udev.
# X-LFS-Provided-By:   LFS
... (40 more lines)


D.6. /etc/rc.d/init.d/swap

#!/bin/sh
########################################################################
# Begin swap
#
# Description : Swap Control Script
#
# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
#               DJ Lucas - dj@linuxfromscratch.org
# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
#
... (42 more lines)


exit 0
# End swap

D.7. /etc/rc.d/init.d/setclock

#!/bin/sh
########################################################################
# Begin setclock
#
# Description : Setting Linux Clock
#
# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
#               DJ Lucas - dj@linuxfromscratch.org
# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
#
... (36 more lines)


echo "Usage: ${0} {start|stop}"
exit 1
;;
esac
exit 0

D.8. /etc/rc.d/init.d/checkfs

#!/bin/sh
########################################################################
# Begin checkfs
#
# Description : File System Check
#
# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
#               A. Luebke - luebke@users.sourceforge.net
#               DJ Lucas - dj@linuxfromscratch.org
# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
... (38 more lines)


mount -n -o remount,ro / >/dev/null
if [ ${?} != 0 ]; then
log_failure_msg2
msg="\n\nCannot check root "
msg="${msg}filesystem because it could not be mounted "
msg="${msg}in read-only mode.\n\n"
msg="${msg}After you press Enter, this system will be "
msg="${msg}halted and powered off.\n\n"
log_failure_msg "${msg}"
log_info_msg "Press Enter to continue..."
... (43 more lines)


if [ "${error_value}" -gt 3 -a "${error_value}" -lt 16 ]; then
msg="\nFAILURE:\n\nFile system errors "
msg="${msg}were encountered that could not be "
msg="${msg}fixed automatically.\nThis system "
msg="${msg}cannot continue to boot and will "
msg="${msg}therefore be halted until those "
msg="${msg}errors are fixed manually by a "
msg="${msg}System Administrator.\n\n"
msg="${msg}After you press Enter, this system will be "
msg="${msg}halted and powered off.\n\n"
... (20 more lines)

D.9. /etc/rc.d/init.d/mountfs

#!/bin/sh
########################################################################
# Begin mountfs
#
# Description : File System Mount Script
#
# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
#               DJ Lucas - dj@linuxfromscratch.org
# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
#


#                      start.  Remounts root filesystem read-only and unmounts
#                      remaining filesystems on stop.
# X-LFS-Provided-By:   LFS
### END INIT INFO
. /lib/lsb/init-functions
case "${1}" in
start)
log_info_msg "Remounting root file system in read-write mode..."
mount --options remount,rw / >/dev/null
evaluate_retval
... (37 more lines)

D.10. /etc/rc.d/init.d/udev_retry

#!/bin/sh



########################################################################
# Begin udev_retry
#
# Description : Udev cold-plugging script (retry)
#
# Authors     : Alexander E. Patrakov
#               DJ Lucas - dj@linuxfromscratch.org
# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
#               Bryan Kadzban -
#
... (44 more lines)


*)
echo "Usage ${0} {start}"
exit 1
;;
esac
exit 0
# End udev_retry

D.11. /etc/rc.d/init.d/cleanfs

#!/bin/sh
########################################################################
# Begin cleanfs
#
# Description : Clean file system
#
# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
#               DJ Lucas - dj@linuxfromscratch.org
# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
#
... (35 more lines)


;;
file)
:> "${name}"
;;
dev)
case "${dtype}" in
char)
mknod "${name}" c ${maj} ${min}
;;
block)
... (44 more lines)


exit $failed
;;
*)
echo "Usage: ${0} {start}"
exit 1
;;
esac
# End cleanfs

D.12. /etc/rc.d/init.d/console

#!/bin/sh
########################################################################
# Begin console
#
# Description : Sets keymap and screen font
#
# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
#               Alexander E. Patrakov
#               DJ Lucas - dj@linuxfromscratch.org
# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
... (33 more lines)


# Figure out the command to set the console into the
# desired mode
is_true "${UNICODE}" &&
MODE_COMMAND="echo -en '\033%G' && kbd_mode -u" ||
MODE_COMMAND="echo -en '\033%@\033(K' && kbd_mode -a"
# On framebuffer consoles, font has to be set for each vt in
# UTF-8 mode. This doesn't hurt in non-UTF-8 mode also.
! is_true "${use_fb}" || [ -z "${FONT}" ] ||
MODE_COMMAND="${MODE_COMMAND} && setfont ${FONT}"
# Apply that command to all consoles mentioned in
... (34 more lines)

D.13. /etc/rc.d/init.d/localnet

#!/bin/sh
########################################################################


# Begin localnet
#
# Description : Loopback device
#
# Authors     : Gerard Beekmans  - gerard@linuxfromscratch.org
#               DJ Lucas - dj@linuxfromscratch.org
# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
#
# Version     : LFS 7.0
#
... (45 more lines)


esac
exit 0
# End localnet

D.14. /etc/rc.d/init.d/sysctl

#!/bin/sh
########################################################################
# Begin sysctl
#
# Description : File uses /etc/sysctl.conf to set kernel runtime
#               parameters
#
# Authors     : Nathan Coulson (nathan@linuxfromscratch.org)
#               Matthew Burgress (matthew@linuxfromscratch.org)
#               DJ Lucas - dj@linuxfromscratch.org
... (37 more lines)


D.15. /etc/rc.d/init.d/sysklogd

#!/bin/sh
########################################################################
# Begin sysklogd
#
# Description : Sysklogd loader
#
# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
#               DJ Lucas - dj@linuxfromscratch.org
# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org LFS12.1
... (43 more lines)


status)
statusproc /sbin/syslogd
;;
*)
echo "Usage: ${0} {start|stop|reload|restart|status}"
exit 1
;;
esac
exit 0
# End sysklogd

D.16. /etc/rc.d/init.d/network

#!/bin/sh
########################################################################
# Begin network
#
# Description : Network Control Script
#
# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
#               Nathan Coulson - nathan@linuxfromscratch.org
#               Kevin P. Fleming - kpfleming@linuxfromscratch.org
#               DJ Lucas - dj@linuxfromscratch.org
... (31 more lines)


# Unmount any network mounted file systems
umount --all --force --types nfs,cifs,nfs4
# Reverse list
net_files=""
for file in  /etc/sysconfig/ifconfig.*
do
net_files="${file} ${net_files}"
done
# Stop all network interfaces
for file in ${net_files}
... (24 more lines)

D.17. /etc/rc.d/init.d/sendsignals

#!/bin/sh
########################################################################
# Begin sendsignals
#
# Description : Sendsignals Script
#
# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
#               DJ Lucas - dj@linuxfromscratch.org
# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
#


# Provides:            sendsignals
# Required-Start:
# Should-Start:
# Required-Stop:       $local_fs swap localnet
# Should-Stop:
# Default-Start:
# Default-Stop:        0 6
# Short-Description:   Attempts to kill remaining processes.
# Description:         Attempts to kill remaining processes.
# X-LFS-Provided-By:   LFS
... (32 more lines)

D.18. /etc/rc.d/init.d/reboot

#!/bin/sh
########################################################################
# Begin reboot
#
# Description : Reboot Scripts


#
# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
#               DJ Lucas - dj@linuxfromscratch.org
# Updates     : Bruce Dubbs - bdubbs@linuxfromscratch.org
#             : Pierre Labastie - pierre@linuxfromscratch.org
#
# Version     : LFS 7.0
#
# Notes       : Update March 24th, 2022: change "stop" to "start".
#               Add the $last facility to Required-start
... (26 more lines)

D.19. /etc/rc.d/init.d/halt

#!/bin/sh
########################################################################
# Begin halt
#
# Description : Halt Script
#
# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
#               DJ Lucas - dj@linuxfromscratch.org
# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
#             : Pierre Labastie - pierre@linuxfromscratch.org


### BEGIN INIT INFO
# Provides:            halt
# Required-Start:      $last
# Should-Start:
# Required-Stop:
# Should-Stop:
# Default-Start:       0
# Default-Stop:
# Short-Description:   Halts the system.
# Description:         Halts the System.

D.20. /etc/rc.d/init.d/template

#!/bin/sh
########################################################################
# Begin scriptname
#
# Description :
#
# Authors     :
#
# Version     : LFS x.x
#
... (20 more lines)


start_daemon fully_qualified_path
# if it is not possible to use start_daemon
# (command to start the daemon is not simple enough)
if ! pidofproc daemon_name_as_reported_by_ps >/dev/null; then
command_to_start_the_service
fi
evaluate_retval
;;
stop)
log_info_msg "Stopping..."
... (21 more lines)

D.21. /etc/sysconfig/modules

########################################################################
# Begin /etc/sysconfig/modules
#
# Description : Module auto-loading configuration
#
# Authors     :
#
# Version     : 00.00
#
# Notes       : The syntax of this file is as follows:

D.22. /etc/sysconfig/createfiles

########################################################################



# Begin /etc/sysconfig/createfiles
#
# Description : Createfiles script config file
#
# Authors     :
#
# Version     : 00.00
#
# Notes       : The syntax of this file is as follows:
#               if type is equal to "file" or "dir"
... (19 more lines)

D.23. /etc/sysconfig/udev-retry

########################################################################
# Begin /etc/sysconfig/udev_retry
#
# Description : udev_retry script configuration
#
# Authors     :
#
# Version     : 00.00
#
# Notes       : Each subsystem that may need to be re-triggered after mountfs

D.24. /sbin/ifup

#!/bin/sh
########################################################################
# Begin /sbin/ifup
#
# Description : Interface Up
#


# Authors     : Nathan Coulson - nathan@linuxfromscratch.org
#               Kevin P. Fleming - kpfleming@linuxfromscratch.org
# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
#               DJ Lucas - dj@linuxfromscratch.org
#
# Version     : LFS 7.7
#
# Notes       : The IFCONFIG variable is passed to the SERVICE script
#               in the /lib/services directory, to indicate what file the
#               service should source to get interface specifications.
... (40 more lines)


exit 0
fi
file=/etc/sysconfig/ifconfig.${1}
# Skip backup files
[ "${file}" = "${file%""~""}" ] || exit 0
. /lib/lsb/init-functions
if [ ! -r "${file}" ]; then
log_failure_msg "Unable to bring up ${1} interface! ${file} is missing or cannot be accessed."
exit 1
fi
... (39 more lines)


done
else
log_info_msg2 "Invalid MTU $MTU"
fi
fi
# Set the route default gateway if requested
if [ -n "${GATEWAY}" ]; then
if ip route | grep -q default; then
log_warning_msg "Gateway already setup; skipping."
else

D.25. /sbin/ifdown

#!/bin/bash
########################################################################
# Begin /sbin/ifdown
#
# Description : Interface Down
#
# Authors     : Nathan Coulson - nathan@linuxfromscratch.org
#               Kevin P. Fleming - kpfleming@linuxfromscratch.org
# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
#
... (24 more lines)


cat << HERE_EOF
ifdown is used to bring down a network interface.  The interface
parameter, e.g. eth0 or eth0:2, must match the trailing part of the
interface specifications file, e.g. /etc/sysconfig/ifconfig.eth0:2.
HERE_EOF
exit 0
fi
file=/etc/sysconfig/ifconfig.${1}
# Skip backup files
[ "${file}" = "${file%""~""}" ] || exit 0
... (37 more lines)


D.26. /lib/services/ipv4-static

#!/bin/sh
########################################################################
# Begin /lib/services/ipv4-static
#
# Description : IPV4 Static Boot Script
#
# Authors     : Nathan Coulson - nathan@linuxfromscratch.org
#               Kevin P. Fleming - kpfleming@linuxfromscratch.org
# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
#
... (40 more lines)


ip addr del ${args} dev ${1}
evaluate_retval
fi
if [ -n "${GATEWAY}" ]; then
# Only remove the gateway if there are no remaining ipv4 addresses
if [ "$(ip addr show ${1} 2>/dev/null | grep 'inet ')" != "" ]; then
log_info_msg "Removing default gateway..."
ip route del default
evaluate_retval
fi

D.27. /lib/services/ipv4-static-route

#!/bin/sh
########################################################################
# Begin /lib/services/ipv4-static-route
#
# Description : IPV4 Static Route Script
#
# Authors     : Kevin P. Fleming - kpfleming@linuxfromscratch.org
#               DJ Lucas - dj@linuxfromscratch.org
# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
#
... (23 more lines)


(*)
log_failure_msg "Unknown route type (${TYPE}) in ${IFCONFIG}, cannot continue."
exit 1
;;
esac
if [ -n "${GATEWAY}" ]; then
MSG="The GATEWAY variable cannot be set in ${IFCONFIG} for static routes.\n"
log_failure_msg "$MSG Use STATIC_GATEWAY only, cannot continue"
exit 1
fi
... (39 more lines)


Appendix E. Udev configuration rules

The rules in this appendix are listed for convenience. Installation is normally done via instructions in Section 8.76, “Udev from Systemd-257.8.”

E.1. 55-lfs.rules

# /etc/udev/rules.d/55-lfs.rules: Rule definitions for LFS.
# Core kernel devices
# This causes the system clock to be set as soon as /dev/rtc becomes available.
SUBSYSTEM=="rtc", ACTION=="add", MODE="0644", RUN+="/etc/rc.d/init.d/setclock start"
KERNEL=="rtc", ACTION=="add", MODE="0644", RUN+="/etc/rc.d/init.d/setclock start"


Appendix F. LFS Licenses

This book is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 2.0 License.

Computer instructions may be extracted from the book under the MIT License.

F.1. Creative Commons License

Creative Commons Legal Code

Attribution-Non Commercial-Share Alike 2.0

Important

CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS.

CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE.

License THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.

BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.

  • Definitions
  • "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
  • "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a

Derivative Work for the purpose of this License.

  • "Licensor" means the individual or entity that offers the Work under the terms of this License.
  • "Original Author" means the individual or entity who created the Work.
  • "Work" means the copyrightable work of authorship offered under the terms of this License.
  • "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. 350



  • "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, Noncommercial, ShareAlike.
  • Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
  • License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty- free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the

Work as stated below:

  • to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
  • to create and reproduce Derivative Works;
  • to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
  • to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works;

The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Sections 4(e) and 4(f).

  • Restrictions.The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
  • You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice

from any Licensor You must, to the extent practicable, remove from the Collective Work any reference to such


Licensor or the Original Author, as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any reference to such Licensor or the Original Author, as requested.


You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, a later version of this License with the same License Elements as this License, or a Creative Commons iCommons license that contains the same License Elements as this License (e.g. Attribution- NonCommercial-ShareAlike 2.0 Japan). You must include a copy of, or the Uniform Resource Identifier for, this License or other license specified in the previous sentence with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License.


- You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works.


- If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.


For the avoidance of doubt, where the Work is a musical composition:

Performance Royalties Under Blanket Licenses. Licensor reserves the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work if that performance is primarily intended
[for or directed toward commercial advantage or private monetary compensation.[/code] ii. Mechanical Rights and Statutory Royalties. Licensor reserves the exclusive right to collect, whether individually or via a music rights agency or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions), if Your distribution of such cover version is primarily intended for or directed toward commercial advantage or private monetary compensation. 6. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor reserves the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions), if Your public digital performance is primarily intended for or directed toward commercial advantage or private monetary compensation.


Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording,Licensor reserves the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions), if Your public digital performance is primarily intended for or directed toward commercial advantage or private monetary compensation.

  • Representations, Warranties and Disclaimer 352

UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.

  • Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  • Termination
  • This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
  • Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
  • Miscellaneous
  • Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
  • Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
  • If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
  • No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
  • This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. 353



Important

Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.

Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time.

Creative Commons may be contacted at http://creativecommons.org/.

F.2. The MIT License

Copyright © 1999-2025 Gerard Beekmans

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.



Index Findutils: 195

tools: 67

Findutils: 195

Packages tools: 67

Flex: 121

Acl: 136

Flit-core: 181

Attr: 135

Gawk: 194

Autoconf: 172 tools: 68

Automake: 173

Gawk: 194

Bash: 158 tools: 68 tools: 63

GCC: 144

Bash: 158 tools, libstdc++ pass 1: 57 tools: 63 tools, pass 1: 49 Bc: 120 tools, pass 2: 77 Binutils: 128 GCC: 144 tools, pass 1: 47 tools, libstdc++ pass 1: 57 tools, pass 2: 76 tools, pass 1: 49 Binutils: 128 tools, pass 2: 77 tools, pass 1: 47 GCC: 144 tools, pass 2: 76 tools, libstdc++ pass 1: 57 Binutils: 128 tools, pass 1: 49 tools, pass 1: 47 tools, pass 2: 77 tools, pass 2: 76 GCC: 144 Bison: 156 tools, libstdc++ pass 1: 57 tools: 86 tools, pass 1: 49 Bison: 156 tools, pass 2: 77 tools: 86 GDBM: 161 Bootscripts: 239 Gettext: 154 usage: 249 tools: 85 Bootscripts: 239 Gettext: 154 usage: 249 tools: 85 Bzip2: 110 Glibc: 101 Coreutils: 188 tools: 53 tools: 64 Glibc: 101 Coreutils: 188 tools: 53 tools: 64 GMP: 131 DejaGNU: 126 Gperf: 162 Diffutils: 193 Grep: 157 tools: 65 tools: 69 Diffutils: 193 Grep: 157 tools: 65 tools: 69 E2fsprogs: 230 Groff: 196 Expat: 163 GRUB: 199 Expect: 124 Gzip: 201 File: 116 tools: 70 tools: 66 Gzip: 201 File: 116 tools: 70 tools: 66 Iana-Etc: 100 tools: 87 Inetutils: 164 Pkgconf: 127 Intltool: 171 Procps-ng: 223 IPRoute2: 202 Psmisc: 153 Jinja2: 216 Python: 178 Kbd: 204 temporary: 88 Kmod: 187 Python: 178 Less: 166 temporary: 88 Libcap: 137 rc.site: 255 Libelf: 176 Readline: 117 libffi: 177 Sed: 152 Libpipeline: 206 tools: 73 Libtool: 160 Sed: 152 Libxcrypt: 138 tools: 73 Linux: 264 Setuptools: 184 tools, API headers: 52 Shadow: 140 Linux: 264 configuring: 141 tools, API headers: 52 Shadow: 140 Lz4: 114 configuring: 141 M4: 119 Sysklogd: 233 tools: 60 configuring: 233 M4: 119 Sysklogd: 233 tools: 60 configuring: 233 Make: 207 SysVinit: 234 tools: 71 configuring: 250 Make: 207 SysVinit: 234 tools: 71 configuring: 250 Man-DB: 220 Tar: 209 Man-pages: 99 tools: 74 MarkupSafe: 215 Tar: 209 Meson: 186 tools: 74 MPC: 134 Tcl: 122 MPFR: 133 Texinfo: 210 Ncurses: 149 temporary: 89 tools: 61 Texinfo: 210 Ncurses: 149 temporary: 89 tools: 61 Udev: 217 Ninja: 185 configuring: 219 OpenSSL: 174 usage: 241 packaging: 182 Udev: 217 Patch: 208 configuring: 219 tools: 72 usage: 241 Patch: 208 Udev: 217 tools: 72 configuring: 219 Perl: 167 usage: 241 tools: 87 Util-linux: 225 Perl: 167 tools: 90 Util-linux: 225 blkdiscard: 225, 226 tools: 90 blkid: 225, 226 Vim: 212 blkzone: 225, 226 wheel: 183 blockdev: 225, 226 XML::Parser: 170 bomtool: 127, 127 Xz: 112 bootlogd: 234, 234 tools: 75 bridge: 202, 202 Xz: 112 bunzip2: 110, 111 tools: 75 bzcat: 110, 111 Zlib: 109 bzcmp: 110, 111 zstd: 115 bzdiff: 110, 111 bzegrep: 110, 111

Programs bzfgrep: 110, 111
bzgrep: 110, 111

[: 188, 189 bzip2: 110, 111

2to3: 178 bzip2recover: 110, 111 accessdb: 220, 221 bzless: 110, 111 aclocal: 173, 173 bzmore: 110, 111 aclocal-1.18: 173, 173 c++: 144, 148 addftinfo: 196, 196 c++filt: 128, 129 addpart: 225, 226 cal: 225, 226 addr2line: 128, 129 capsh: 137, 137 afmtodit: 196, 196 captoinfo: 149, 150 agetty: 225, 226 cat: 188, 189 apropos: 220, 222 catman: 220, 222 ar: 128, 129 cc: 144, 148 as: 128, 129 cfdisk: 225, 226 attr: 135, 135 chacl: 136, 136 autoconf: 172, 172 chage: 140, 142 autoheader: 172, 172 chattr: 230, 231 autom4te: 172, 172 chcon: 188, 189 automake: 173, 173 chcpu: 225, 226 automake-1.18: 173, 173 chem: 196, 196 autopoint: 154, 154 chfn: 140, 142 autoreconf: 172, 172 chgpasswd: 140, 142 autoscan: 172, 172 chgrp: 188, 190 autoupdate: 172, 172 chmem: 225, 226 awk: 194, 194 chmod: 188, 190 b2sum: 188, 189 choom: 225, 226 badblocks: 230, 231 chown: 188, 190 base64: 188, 189, 188, 189 chpasswd: 140, 142 base64: 188, 189, 188, 189 chroot: 188, 190 basename: 188, 189 chrt: 225, 226 basenc: 188, 189 chsh: 140, 142 bash: 158, 159 chvt: 204, 205 bashbug: 158, 159 cksum: 188, 190 bc: 120, 120 clear: 149, 150 bison: 156, 156 cmp: 193, 193 eject: 225, 227 col: 225, 226 elfedit: 128, 129 colcrt: 225, 226 enc2xs: 167, 168 colrm: 225, 226 encguess: 167, 168 column: 225, 226 env: 188, 190 comm: 188, 190 envsubst: 154, 154 compile_et: 230, 231 eqn: 196, 196 corelist: 167, 168 eqn2graph: 196, 196 cp: 188, 190 ex: 212, 214 cpan: 167, 168 expand: 188, 190 cpp: 144, 148 expect: 124, 125 csplit: 188, 190 expiry: 140, 142 ctrlaltdel: 225, 226 expr: 188, 190 ctstat: 202, 202 factor: 188, 190 cut: 188, 190 faillog: 140, 142 c_rehash: 174, 175 fallocate: 225, 227 date: 188, 190 false: 188, 190 dc: 120, 120 fdisk: 225, 227 dd: 188, 190 fgconsole: 204, 205 deallocvt: 204, 205 fgrep: 157, 157 debugfs: 230, 231 file: 116, 116 dejagnu: 126, 126 filefrag: 230, 232 delpart: 225, 227 fincore: 225, 227 depmod: 187, 187 find: 195, 195 df: 188, 190 findfs: 225, 227 diff: 193, 193 findmnt: 225, 227 diff3: 193, 193 flex: 121, 121 dir: 188, 190 flex++: 121, 121 dircolors: 188, 190 flock: 225, 227 dirname: 188, 190 fmt: 188, 190 dmesg: 225, 227 fold: 188, 190 dnsdomainname: 164, 165 free: 223, 223 du: 188, 190 fsck: 225, 227 dumpe2fs: 230, 231 fsck.cramfs: 225, 227 dumpkeys: 204, 205 fsck.ext2: 230, 232 e2freefrag: 230, 231 fsck.ext3: 230, 232 e2fsck: 230, 231 fsck.ext4: 230, 232 e2image: 230, 231 fsck.minix: 225, 227 e2label: 230, 231 fsfreeze: 225, 227 e2mmpstatus: 230, 231 fstab-decode: 234, 234 e2scrub: 230, 231 fstrim: 225, 227 e2scrub_all: 230, 231 ftp: 164, 165 e2undo: 230, 231 fuser: 153, 153 e4crypt: 230, 231 g++: 144, 148 e4defrag: 230, 231 gawk: 194, 194 echo: 188, 190 gawk-5.3.2: 194, 194 egrep: 157, 157 gcc: 144, 148 gc-ar: 144, 148 groups: 188, 190 gc-nm: 144, 148 grpck: 140, 142 gc-ranlib: 144, 148 grpconv: 140, 142 gcov: 144, 148 grpunconv: 140, 142 gcov-dump: 144, 148 grub-bios-setup: 199, 200 gcov-tool: 144, 148 grub-editenv: 199, 200 gdbmtool: 161, 161 grub-file: 199, 200 gdbm_dump: 161, 161 grub-fstest: 199, 200 gdbm_load: 161, 161 grub-glue-efi: 199, 200 gdiffmk: 196, 196 grub-install: 199, 200 gencat: 101, 107 grub-kbdcomp: 199, 200 genl: 202, 202 grub-macbless: 199, 200 getcap: 137, 137 grub-menulst2cfg: 199, 200 getconf: 101, 107 grub-mkconfig: 199, 200 getent: 101, 107 grub-mkimage: 199, 200 getfacl: 136, 136 grub-mklayout: 199, 200 getfattr: 135, 135 grub-mknetdir: 199, 200 getkeycodes: 204, 205 grub-mkpasswd-pbkdf2: 199, 200 getopt: 225, 227 grub-mkrelpath: 199, 200 getpcaps: 137, 137 grub-mkrescue: 199, 200 getsubids: 140, 142 grub-mkstandalone: 199, 200 gettext: 154, 154 grub-ofpathname: 199, 200 gettext.sh: 154, 154 grub-probe: 199, 200 gettextize: 154, 154 grub-reboot: 199, 200 glilypond: 196, 196 grub-render-label: 199, 200 gpasswd: 140, 142 grub-script-check: 199, 200 gperf: 162, 162 grub-set-default: 199, 200 gperl: 196, 196 grub-setup: 199, 200 gpinyin: 196, 196 grub-syslinux2cfg: 199, 200 gprof: 128, 129 gunzip: 201, 201 gprofng: 128, 129 gzexe: 201, 201 grap2graph: 196, 197 gzip: 201, 201 grep: 157, 157 h2ph: 167, 168 grn: 196, 197 h2xs: 167, 168 grodvi: 196, 197 halt: 234, 234 groff: 196, 197 hardlink: 225, 227 groffer: 196, 197 head: 188, 190 grog: 196, 197 hexdump: 225, 227 grolbp: 196, 197 hostid: 188, 190 grolj4: 196, 197 hostname: 164, 165 gropdf: 196, 197 hpftodit: 196, 197 grops: 196, 197 hwclock: 225, 227 grotty: 196, 197 i386: 225, 227 groupadd: 140, 142 iconv: 101, 107 groupdel: 140, 142 iconvconfig: 101, 107 groupmems: 140, 142 id: 188, 190 groupmod: 140, 142 idle3: 178 ifconfig: 164, 165 libasan: 144, 148 ifnames: 172, 172 libatomic: 144, 148 ifstat: 202, 202 libcc1: 144, 148 indxbib: 196, 197 libnetcfg: 167, 168 info: 210, 211 libtool: 160, 160 infocmp: 149, 150 libtoolize: 160, 160 infotocap: 149, 150 link: 188, 190 init: 234, 234 linux32: 225, 227 insmod: 187, 187 linux64: 225, 227 install: 188, 190 lkbib: 196, 197 install-info: 210, 211 ln: 188, 190 instmodsh: 167, 168 lnstat: 202, 203 intltool-extract: 171, 171 loadkeys: 204, 205 intltool-merge: 171, 171 loadunimap: 204, 205 intltool-prepare: 171, 171 locale: 101, 107 intltool-update: 171, 171 localedef: 101, 107 intltoolize: 171, 171 locate: 195, 195 ionice: 225, 227 logger: 225, 227 ip: 202, 202 login: 140, 143 ipcmk: 225, 227 logname: 188, 191 ipcrm: 225, 227 logoutd: 140, 143 ipcs: 225, 227 logsave: 230, 232 irqtop: 225, 227 look: 225, 227 isosize: 225, 227 lookbib: 196, 197 join: 188, 190 losetup: 225, 227 json_pp: 167, 168 ls: 188, 191 kbdinfo: 204, 205 lsattr: 230, 232 kbdrate: 204, 205 lsblk: 225, 228 kbd_mode: 204, 205 lscpu: 225, 228 kill: 225, 227 lsfd: 225, 228 killall: 153, 153 lsipc: 225, 228 killall5: 234, 234 lsirq: 225, 228 kmod: 187, 187 lslocks: 225, 228 last: 225, 227 lslogins: 225, 228 lastb: 225, 227 lsmem: 225, 228 ld: 128, 129 lsmod: 187, 187 ld.bfd: 128, 129 lsns: 225, 228 ldattach: 225, 227 lto-dump: 144, 148 ldconfig: 101, 107 lz4: 114, 114 ldd: 101, 107 lz4c: 114, 114 lddlibc4: 101, 107 lz4cat: 114, 114 less: 166, 166 lzcat: 112, 112 lessecho: 166, 166 lzcmp: 112, 112 lesskey: 166, 166 lzdiff: 112, 112 lex: 121, 121 lzegrep: 112, 112 lexgrog: 220, 222 lzfgrep: 112, 112 lfskernel-6.16.1: 264, 269 lzgrep: 112, 112 lzless: 112, 112 msgfmt: 154, 155 lzma: 112, 112 msggrep: 154, 155 lzmadec: 112, 112 msginit: 154, 155 lzmainfo: 112, 112 msgmerge: 154, 155 lzmore: 112, 113 msgunfmt: 154, 155 m4: 119, 119 msguniq: 154, 155 make: 207, 207 mtrace: 101, 107 makedb: 101, 107 mv: 188, 191 makeinfo: 210, 211 namei: 225, 228 man: 220, 222 ncursesw6-config: 149, 150 man-recode: 220, 222 neqn: 196, 197 mandb: 220, 222 newgidmap: 140, 143 manpath: 220, 222 newgrp: 140, 143 mapscrn: 204, 205 newuidmap: 140, 143 mcookie: 225, 228 newusers: 140, 143 md5sum: 188, 191 ngettext: 154, 155 mesg: 225, 228 nice: 188, 191 meson: 186, 186 ninja: 185, 185 mkdir: 188, 191 nl: 188, 191 mke2fs: 230, 232 nm: 128, 129 mkfifo: 188, 191 nohup: 188, 191 mkfs: 225, 228 nologin: 140, 143 mkfs.bfs: 225, 228 nproc: 188, 191 mkfs.cramfs: 225, 228 nroff: 196, 197 mkfs.ext2: 230, 232 nsenter: 225, 228 mkfs.ext3: 230, 232 nstat: 202, 203 mkfs.ext4: 230, 232 numfmt: 188, 191 mkfs.minix: 225, 228 objcopy: 128, 129 mklost+found: 230, 232 objdump: 128, 129 mknod: 188, 191 od: 188, 191 mkswap: 225, 228 openssl: 174, 175 mktemp: 188, 191 openvt: 204, 205 mk_cmds: 230, 232 partx: 225, 228 mmroff: 196, 197 passwd: 140, 143 modinfo: 187, 187 paste: 188, 191 modprobe: 187, 187 patch: 208, 208 more: 225, 228 pathchk: 188, 191 mount: 225, 228 pcprofiledump: 101, 107 mountpoint: 225, 228 pdfmom: 196, 197 msgattrib: 154, 154 pdfroff: 196, 197 msgcat: 154, 154 pdftexi2dvi: 210, 211 msgcmp: 154, 154 peekfd: 153, 153 msgcomm: 154, 155 perl: 167, 168 msgconv: 154, 155 perl5.42.0: 167, 168 msgen: 154, 155 perlbug: 167, 168 msgexec: 154, 155 perldoc: 167, 168 msgfilter: 154, 155 perlivp: 167, 168 perlthanks: 167, 168 pwconv: 140, 143 pfbtops: 196, 197 pwd: 188, 191 pgrep: 223, 223 pwdx: 223, 224 pic: 196, 197 pwunconv: 140, 143 pic2graph: 196, 197 pydoc3: 178 piconv: 167, 168 python3: 178 pidof: 223, 223 ranlib: 128, 129 ping: 164, 165 readelf: 128, 129 ping6: 164, 165 readlink: 188, 191 pinky: 188, 191 readprofile: 225, 228 pip3: 178 realpath: 188, 191 pivot_root: 225, 228 reboot: 234, 234 pkgconf: 127, 127 recode-sr-latin: 154, 155 pkill: 223, 223 refer: 196, 197 pl2pm: 167, 168 rename: 225, 228 pldd: 101, 107 renice: 225, 228 pmap: 223, 223 reset: 149, 150 pod2html: 167, 168 resize2fs: 230, 232 pod2man: 167, 168 resizepart: 225, 228 pod2texi: 210, 211 rev: 225, 228 pod2text: 167, 168 rfkill: 225, 228 pod2usage: 167, 168 rm: 188, 191 podchecker: 167, 168 rmdir: 188, 191 podselect: 167, 168 rmmod: 187, 187 post-grohtml: 196, 197 roff2dvi: 196, 198 poweroff: 234, 234 roff2html: 196, 198 pr: 188, 191 roff2pdf: 196, 198 pre-grohtml: 196, 197 roff2ps: 196, 198 preconv: 196, 197 roff2text: 196, 198 printenv: 188, 191 roff2x: 196, 198 printf: 188, 191 routel: 202, 203 prlimit: 225, 228 rtacct: 202, 203 prove: 167, 168 rtcwake: 225, 228 prtstat: 153, 153 rtmon: 202, 203 ps: 223, 224 rtpr: 202, 203 psfaddtable: 204, 205 rtstat: 202, 203 psfgettable: 204, 205 runcon: 188, 191 psfstriptable: 204, 205 runlevel: 234, 234 psfxtable: 204, 205 runtest: 126, 126 pslog: 153, 153 rview: 212, 214 pstree: 153, 153 rvim: 212, 214 pstree.x11: 153, 153 script: 225, 228 ptar: 167, 168 scriptlive: 225, 228 ptardiff: 167, 168 scriptreplay: 225, 228 ptargrep: 167, 169 sdiff: 193, 193 ptx: 188, 191 sed: 152, 152 pwck: 140, 143 seq: 188, 191 setarch: 225, 228 switch_root: 225, 229 setcap: 137, 137 sync: 188, 192 setfacl: 136, 136 sysctl: 223, 224 setfattr: 135, 135 syslogd: 233, 233 setfont: 204, 205 tabs: 149, 150 setkeycodes: 204, 205 tac: 188, 192 setleds: 204, 205 tail: 188, 192 setmetamode: 204, 205 talk: 164, 165 setsid: 225, 228 tar: 209, 209 setterm: 225, 229 taskset: 225, 229 setvtrgb: 204, 205 tbl: 196, 198 sfdisk: 225, 229 tc: 202, 203 sg: 140, 143 tclsh: 122, 123 sh: 158, 159 tclsh8.6: 122, 123 sha1sum: 188, 191 tee: 188, 192 sha224sum: 188, 191 telinit: 234, 234 sha256sum: 188, 191 telnet: 164, 165 sha384sum: 188, 191 test: 188, 192 sha512sum: 188, 191 texi2dvi: 210, 211 shasum: 167, 169 texi2pdf: 210, 211 showconsolefont: 204, 205 texi2any: 210, 211 showkey: 204, 205 texindex: 210, 211 shred: 188, 191 tfmtodit: 196, 198 shuf: 188, 191 tftp: 164, 165 shutdown: 234, 234 tic: 149, 151 size: 128, 129 timeout: 188, 192 slabtop: 223, 224 tload: 223, 224 sleep: 188, 192 toe: 149, 151 sln: 101, 107 top: 223, 224 soelim: 196, 198 touch: 188, 192 sort: 188, 192 tput: 149, 151 sotruss: 101, 107 tr: 188, 192 splain: 167, 169 traceroute: 164, 165 split: 188, 192 troff: 196, 198 sprof: 101, 107 true: 188, 192 ss: 202, 203 truncate: 188, 192 stat: 188, 192 tset: 149, 151 stdbuf: 188, 192 tsort: 188, 192 strings: 128, 130 tty: 188, 192 strip: 128, 130 tune2fs: 230, 232 stty: 188, 192 tzselect: 101, 107 su: 140, 143 uclampset: 225, 229 sulogin: 225, 229 udev-hwdb: 217, 219 sum: 188, 192 udevadm: 217, 219 swaplabel: 225, 229 udevd: 217, 219 swapoff: 225, 229 ul: 225, 229 swapon: 225, 229 umount: 225, 229 uname: 188, 192 xtrace: 101, 107 uname26: 225, 229 xxd: 212, 214 uncompress: 201, 201 xz: 112, 113 unexpand: 188, 192 xzcat: 112, 113 unicode_start: 204, 205 xzcmp: 112, 113 unicode_stop: 204, 205 xzdec: 112, 113 uniq: 188, 192 xzdiff: 112, 113 unlink: 188, 192 xzegrep: 112, 113 unlz4: 114, 114 xzfgrep: 112, 113 unlzma: 112, 113 xzgrep: 112, 113 unshare: 225, 229 xzless: 112, 113 unxz: 112, 113 xzmore: 112, 113 updatedb: 195, 195 yacc: 156, 156 uptime: 223, 224 yes: 188, 192 useradd: 140, 143 zcat: 201, 201 userdel: 140, 143 zcmp: 201, 201 usermod: 140, 143 zdiff: 201, 201 users: 188, 192 zdump: 101, 107 utmpdump: 225, 229 zegrep: 201, 201 uuidd: 225, 229 zfgrep: 201, 201 uuidgen: 225, 229 zforce: 201, 201 uuidparse: 225, 229 zgrep: 201, 201 vdir: 188, 192 zic: 101, 107 vi: 212, 214 zipdetails: 167, 169 view: 212, 214 zless: 201, 201 vigr: 140, 143 zmore: 201, 201 vim: 212, 214 znew: 201, 201 vimdiff: 212, 214 zramctl: 225, 229 vimtutor: 212, 214 zstd: 115, 115 vipw: 140, 143 zstdgrep: 115, 115 vmstat: 223, 224 zstdless: 115, 115 w: 223, 224

wall: 225, 229 Libraries
watch: 223, 224

Expat: 170, 170 wc: 188, 192 ld-2.42.so: 101, 107 wdctl: 225, 229 libacl: 136, 136 whatis: 220, 222 libanl: 101, 107 wheel: 183 libasprintf: 154, 155 whereis: 225, 229 libattr: 135, 135 who: 188, 192 libbfd: 128, 130 whoami: 188, 192 libblkid: 225, 229 wipefs: 225, 229 libBrokenLocale: 101, 107 x86_64: 225, 229 libbz2: 110, 111 xargs: 195, 195 libc: 101, 107 xgettext: 154, 155 libcap: 137, 137 xmlwf: 163, 163 libcom_err: 230, 232 xsubpp: 167, 169 libcrypt: 138, 139 libcrypto.so: 174, 175 libncursesw: 149, 151 libctf: 128, 130 libnsl: 101, 108 libctf-nobfd: 128, 130 libnss_*: 101, 108 libc_malloc_debug: 101, 107 libopcodes: 128, 130 libdl: 101, 107 libpanelw: 149, 151 libe2p: 230, 232 libpcprofile: 101, 108 libelf: 176, 176 libpipeline: 206 libexpat: 163, 163 libpkgconf: 127, 127 libexpect-5.45.4: 124, 125 libproc-2: 223, 224 libext2fs: 230, 232 libpsx: 137, 137 libfdisk: 225, 229 libpthread: 101, 108 libffi: 177 libquadmath: 144, 148 libfl: 121, 121 libreadline: 117, 118 libformw: 149, 151 libresolv: 101, 108 libg: 101, 107 librt: 101, 108 libgcc: 144, 148 libsframe: 128, 130 libgcov: 144, 148 libsmartcols: 225, 229 libgdbm: 161, 161 libss: 230, 232 libgdbm_compat: 161, 161 libssl.so: 174, 175 libgettextlib: 154, 155 libssp: 144, 148 libgettextpo: 154, 155 libstdbuf: 188, 192 libgettextsrc: 154, 155 libstdc++: 144, 148 libgmp: 131, 132 libstdc++exp: 144, 148 libgmpxx: 131, 132 libstdc++fs: 144, 148 libgomp: 144, 148 libsubid: 140, 143 libgprofng: 128, 130 libsupc++: 144, 148 libhistory: 117, 118 libtcl8.6.so: 122, 123 libhwasan: 144, 148 libtclstub8.6.a: 122, 123 libitm: 144, 148 libtextstyle: 154, 155 libkmod: 187 libthread_db: 101, 108 liblsan: 144, 148 libtsan: 144, 148 libltdl: 160, 160 libubsan: 144, 148 liblto_plugin: 144, 148 libudev: 217, 219 liblz4: 114, 114 libutil: 101, 108 liblzma: 112, 113 libuuid: 225, 229 libm: 101, 107 liby: 156, 156 libmagic: 116, 116 libz: 109, 109 libman: 220, 222 libzstd: 115, 115 libmandb: 220, 222 preloadable_libintl: 154, 155 libmcheck: 101, 107

libmemusage: 101, 108 Scripts
libmenuw: 149, 151 checkfs: 239, 239 libmount: 225, 229 cleanfs: 239, 239 libmpc: 134, 134 console: 239, 239 libmpfr: 133, 133 configuring: 252 libmvec: 101, 107 console: 239, 239 libncurses++w: 149, 151 configuring: 252 File creation at boot /etc/fstab: 262 configuring: 255 /etc/group: 82 functions: 239, 239 /etc/hosts: 248 halt: 239, 239 /etc/inittab: 250 hostname /etc/inputrc: 259 configuring: 248 /etc/ld.so.conf: 106 ifdown: 239, 239 /etc/lfs-release: 273 ifup: 239, 239 /etc/localtime: 104 ipv4-static: 239, 239 /etc/lsb-release: 273 localnet: 239, 239 /etc/mke2fs.conf: 231 /etc/hosts: 248 /etc/modprobe.d/usb.conf: 269 localnet: 239, 239 /etc/nsswitch.conf: 104 /etc/hosts: 248 /etc/os-release: 273 modules: 239, 239 /etc/passwd: 82 mountfs: 239, 239 /etc/profile: 257 mountvirtfs: 239, 239 /etc/protocols: 100 network: 239, 239 /etc/resolv.conf: 248 /etc/hosts: 248 /etc/services: 100 configuring: 247 /etc/syslog.conf: 233 network: 239, 239 /etc/udev: 217, 219 /etc/hosts: 248 /etc/udev/hwdb.bin: 219 configuring: 247 /etc/vimrc: 213 network: 239, 239 /run/utmp: 82 /etc/hosts: 248 /usr/include/asm-generic/*.h: 52, 52 configuring: 247 /usr/include/asm/*.h: 52, 52 rc: 239, 239 /usr/include/drm/*.h: 52, 52 reboot: 239, 239 /usr/include/linux/*.h: 52, 52 sendsignals: 239, 239 /usr/include/misc/*.h: 52, 52 setclock: 239, 239 /usr/include/mtd/*.h: 52, 52 configuring: 251 /usr/include/rdma/*.h: 52, 52 setclock: 239, 239 /usr/include/scsi/*.h: 52, 52 configuring: 251 /usr/include/sound/*.h: 52, 52 swap: 239, 240 /usr/include/video/*.h: 52, 52 sysctl: 239, 240 /usr/include/xen/*.h: 52, 52 sysklogd: 239, 240 /var/log/btmp: 82 configuring: 255 /var/log/lastlog: 82 sysklogd: 239, 240 /var/log/wtmp: 82 configuring: 255 /etc/shells: 260 template: 239, 240 man pages: 99, 99 udev: 239, 240 udev_retry: 239, 240 dwp: 128, 129

Others

/boot/config-6.16.1: 264, 269

/boot/System.map-6.16.1: 264, 269

/dev/*: 79