Linux From Scratch
Version 11.0
Published September 1st, 2021
Created by Gerard
Beekmans
Managing Editor: Bruce
Dubbs
Copyright
© 1999-2021 Gerard Beekmans
Table of Contents
Preface
Foreword
Audience
LFS Target Architectures
Prerequisites
LFS and Standards
Rationale for Packages in the Book
Typography
Structure
Errata and Security Advisories
I. Introduction
1. Introduction
How to Build an LFS System
What's new since the last release
Changelog
Resources
Help
II. Preparing for the Build
2. Preparing the Host System
Introduction
Host System Requirements
Building LFS in Stages
Creating a New Partition
Creating a File System on the Partition
Setting The $LFS Variable
Mounting the New Partition
3. Packages and Patches
Introduction
All Packages
Needed Patches
4. Final Preparations
Introduction
Creating a limited directory layout in LFS filesystem
Adding the LFS User
Setting Up the Environment
About SBUs
About the Test Suites
III. Building the LFS Cross Toolchain and Temporary Tools
Important Preliminary Material
Introduction
Toolchain Technical Notes
General Compilation Instructions
5. Compiling a Cross-Toolchain
Introduction
Binutils-2.37 - Pass 1
GCC-11.2.0 - Pass 1
Linux-5.13.12 API Headers
Glibc-2.34
Libstdc++ from GCC-11.2.0, Pass 1
6. Cross Compiling Temporary Tools
Introduction
M4-1.4.19
Ncurses-6.2
Bash-5.1.8
Coreutils-8.32
Diffutils-3.8
File-5.40
Findutils-4.8.0
Gawk-5.1.0
Grep-3.7
Gzip-1.10
Make-4.3
Patch-2.7.6
Sed-4.8
Tar-1.34
Xz-5.2.5
Binutils-2.37 - Pass 2
GCC-11.2.0 - Pass 2
7. Entering Chroot and Building Additional Temporary Tools
Introduction
Changing Ownership
Preparing Virtual Kernel File Systems
Entering the Chroot Environment
Creating Directories
Creating Essential Files and Symlinks
Libstdc++ from GCC-11.2.0, Pass 2
Gettext-0.21
Bison-3.7.6
Perl-5.34.0
Python-3.9.6
Texinfo-6.8
Util-linux-2.37.2
Cleaning up and Saving the Temporary System
IV. Building the LFS System
8. Installing Basic System Software
Introduction
Package Management
Man-pages-5.13
Iana-Etc-20210611
Glibc-2.34
Zlib-1.2.11
Bzip2-1.0.8
Xz-5.2.5
Zstd-1.5.0
File-5.40
Readline-8.1
M4-1.4.19
Bc-5.0.0
Flex-2.6.4
Tcl-8.6.11
Expect-5.45.4
DejaGNU-1.6.3
Binutils-2.37
GMP-6.2.1
MPFR-4.1.0
MPC-1.2.1
Attr-2.5.1
Acl-2.3.1
Libcap-2.53
Shadow-4.9
GCC-11.2.0
Pkg-config-0.29.2
Ncurses-6.2
Sed-4.8
Psmisc-23.4
Gettext-0.21
Bison-3.7.6
Grep-3.7
Bash-5.1.8
Libtool-2.4.6
GDBM-1.20
Gperf-3.1
Expat-2.4.1
Inetutils-2.1
Less-590
Perl-5.34.0
XML::Parser-2.46
Intltool-0.51.0
Autoconf-2.71
Automake-1.16.4
Kmod-29
Libelf from Elfutils-0.185
Libffi-3.4.2
OpenSSL-1.1.1l
Python-3.9.6
Ninja-1.10.2
Meson-0.59.1
Coreutils-8.32
Check-0.15.2
Diffutils-3.8
Gawk-5.1.0
Findutils-4.8.0
Groff-1.22.4
GRUB-2.06
Gzip-1.10
IPRoute2-5.13.0
Kbd-2.4.0
Libpipeline-1.5.3
Make-4.3
Patch-2.7.6
Tar-1.34
Texinfo-6.8
Vim-8.2.3337
Eudev-3.2.10
Man-DB-2.9.4
Procps-ng-3.3.17
Util-linux-2.37.2
E2fsprogs-1.46.4
Sysklogd-1.5.1
Sysvinit-2.99
About Debugging Symbols
Stripping
Cleaning Up
9. System Configuration
Introduction
LFS-Bootscripts-20210608
Overview of Device and Module Handling
Managing Devices
General Network Configuration
System V Bootscript Usage and Configuration
The Bash Shell Startup Files
Creating the /etc/inputrc File
Creating the /etc/shells File
10. Making the LFS System Bootable
Introduction
Creating the /etc/fstab File
Linux-5.13.12
Using GRUB to Set Up the Boot Process
11. The End
The End
Get Counted
Rebooting the System
What Now?
V. Appendices
A. Acronyms and Terms
B. Acknowledgments
C. Dependencies
D. Boot and sysconfig scripts version-20210608
/etc/rc.d/init.d/rc
/lib/lsb/init-functions
/etc/rc.d/init.d/mountvirtfs
/etc/rc.d/init.d/modules
/etc/rc.d/init.d/udev
/etc/rc.d/init.d/swap
/etc/rc.d/init.d/setclock
/etc/rc.d/init.d/checkfs
/etc/rc.d/init.d/mountfs
/etc/rc.d/init.d/udev_retry
/etc/rc.d/init.d/cleanfs
/etc/rc.d/init.d/console
/etc/rc.d/init.d/localnet
/etc/rc.d/init.d/sysctl
/etc/rc.d/init.d/sysklogd
/etc/rc.d/init.d/network
/etc/rc.d/init.d/sendsignals
/etc/rc.d/init.d/reboot
/etc/rc.d/init.d/halt
/etc/rc.d/init.d/template
/etc/sysconfig/modules
/etc/sysconfig/createfiles
/etc/sysconfig/udev-retry
/sbin/ifup
/sbin/ifdown
/lib/services/ipv4-static
/lib/services/ipv4-static-route
E. Udev configuration rules
55-lfs.rules
F. LFS Licenses
Creative Commons License
The MIT License
Index