Linux from scratch manual
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
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
4. Final Preparations
- Introduction
- Creating a Limited Directory Layout in the 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
5. Compiling a Cross-Toolchain
- Introduction
- Binutils-2.40 - Pass 1
- GCC-12.2.0 - Pass 1
- Linux-6.1.11 API Headers
- Glibc-2.37
- Libstdc++ from GCC-12.2.0
6. Cross Compiling Temporary Tools
- Introduction
- M4-1.4.19
- Ncurses-6.4
- Bash-5.2.15
- Coreutils-9.1
- Diffutils-3.9
- File-5.44
- Findutils-4.9.0
- Gawk-5.2.1
- Grep-3.8
- Gzip-1.12
- Make-4.4
- Patch-2.7.6
- Sed-4.9
- Tar-1.34
- Xz-5.4.1
- Binutils-2.40 - Pass 2
- GCC-12.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
- Gettext-0.21.1
- Bison-3.8.2
- Perl-5.36.0
- Python-3.11.2
- Texinfo-7.0.2
- Util-linux-2.38.1
- Cleaning up and Saving the Temporary System
IV. Building the LFS System
8. Installing Basic System Software
- Introduction
- Package Management
- Man-pages-6.03
- Iana-Etc-20230202
- Glibc-2.37
- Zlib-1.2.13
- Bzip2-1.0.8
- Xz-5.4.1
- Zstd-1.5.4
- File-5.44
- Readline-8.2
- M4-1.4.19
- Bc-6.2.4
- Flex-2.6.4
- Tcl-8.6.13
- Expect-5.45.4
- DejaGNU-1.6.3
- Binutils-2.40
- GMP-6.2.1
- MPFR-4.2.0
- MPC-1.3.1
- Attr-2.5.1
- Acl-2.3.1
- Libcap-2.67
- Shadow-4.13
- GCC-12.2.0
- Pkg-config-0.29.2
- Ncurses-6.4
- Sed-4.9
- Psmisc-23.6
- Gettext-0.21.1
- Bison-3.8.2
- Grep-3.8
- Bash-5.2.15
- Libtool-2.4.7
- GDBM-1.23
- Gperf-3.1
- Expat-2.5.0
- Inetutils-2.4
- Less-608
- Perl-5.36.0
- XML::Parser-2.46
- Intltool-0.51.0
- Autoconf-2.71
- Automake-1.16.5
- OpenSSL-3.0.8
- Kmod-30
- Libelf from Elfutils-0.188
- Libffi-3.4.4
- Python-3.11.2
- Wheel-0.38.4
- Ninja-1.11.1
- Meson-1.0.0
- Coreutils-9.1
- Check-0.15.2
- Diffutils-3.9
- Gawk-5.2.1
- Findutils-4.9.0
- Groff-1.22.4
- GRUB-2.06
- Gzip-1.12
- IPRoute2-6.1.0
- Kbd-2.5.1
- Libpipeline-1.5.7
- Make-4.4
- Patch-2.7.6
- Tar-1.34
- Texinfo-7.0.2
- Vim-9.0.1273
- Eudev-3.2.11
- Man-DB-2.11.2
- Procps-ng-4.0.2
- Util-linux-2.38.1
- E2fsprogs-1.47.0
- Sysklogd-1.5.1
- Sysvinit-3.06
- About Debugging Symbols
- Stripping
- Cleaning Up
9. System Configuration
- Introduction
- LFS-Bootscripts-20230101
- 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
11. The End
V. Appendices
- A. Acronyms and Terms
- B. Acknowledgments
- C. Dependencies
- D. Boot and sysconfig scripts version-20230101
- /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
- F. LFS Licenses
Copyright © 1999-2023 Gerard Beekmans