Linux From Scratch
Version SVN-20150308
Created by Gerard
Beekmans
Edited by Matthew Burgess
and Bruce Dubbs
Multilib version by William
Feely.
Copyright
© 1999-2015 Gerard Beekmans
Table of Contents
Preface
Foreword
Audience
LFS Target Architectures
LFS and Standards
Rationale for Packages in the Book
Prerequisites
Host System Requirements
Typography
Structure
Errata
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 a New Partition
Introduction
Creating a New Partition
Creating a File System on the Partition
Mounting the New Partition
Setting The $LFS Variable
3. Packages and Patches
Introduction
All Packages
Needed Patches
4. Final Preparations
Introduction
Creating the $LFS/tools Directory
Adding the LFS User
Setting Up the Environment
About SBUs
About the Test Suites
5. Constructing a Temporary System
Introduction
Toolchain Technical Notes
General Compilation Instructions
Binutils-2.25 - Pass 1
GCC-4.9.2 - Pass 1
Linux-3.19.1 API Headers
Glibc-2.21
Libstdc++-4.9.2
Binutils-2.25 - Pass 2
GCC-4.9.2 - Pass 2
Tcl-core-8.6.3
Expect-5.45
DejaGNU-1.5.2
Check-0.9.14
Ncurses-5.9
Bash-4.3.30
Bzip2-1.0.6
Coreutils-8.23
Diffutils-3.3
File-5.22
Findutils-4.4.2
Gawk-4.1.1
Gettext-0.19.4
Grep-2.21
Gzip-1.6
M4-1.4.17
Make-4.1
Patch-2.7.5
Perl-5.20.2
Sed-4.2.2
Tar-1.28
Texinfo-5.2
Util-linux-2.26
Xz-5.2.1
Stripping
Changing Ownership
III. Building the LFS System
6. Installing Basic System Software
Introduction
Preparing Virtual Kernel File Systems
Package Management
Entering the Chroot Environment
Creating Directories
Creating Essential Files and Symlinks
Linux-3.19.1 API Headers
Man-pages-3.81
Glibc-2.21
Adjusting the Toolchain
Zlib-1.2.8
File-5.22
Binutils-2.25
GMP-6.0.0a
MPFR-3.1.2
MPC-1.0.3
ISL-0.14
CLooG-0.18.3
GCC-4.9.2
Creating a Multiarch Wrapper
Bzip2-1.0.6
Pkg-config-0.28
Ncurses-5.9
Attr-2.4.47
Acl-2.2.52
Libcap-2.24
Sed-4.2.2
Shadow-4.2.1
Psmisc-22.21
Procps-ng-3.3.10
E2fsprogs-1.42.12
Coreutils-8.23
Iana-Etc-2.30
M4-1.4.17
Flex-2.5.39
Bison-3.0.4
Grep-2.21
Readline-6.3
Bash-4.3.30
Bc-1.06.95
Libtool-2.4.6
GDBM-1.11
Expat-2.1.0
Inetutils-1.9.2
Perl-5.20.2
XML::Parser-2.44
Autoconf-2.69
Automake-1.15
Diffutils-3.3
Gawk-4.1.1
Findutils-4.4.2
Gettext-0.19.4
Intltool-0.50.2
Gperf-3.0.4
Groff-1.22.3
Xz-5.2.1
GRUB-2.02~beta2
Less-458
Gzip-1.6
IPRoute2-3.19.0
Kbd-2.0.2
Kmod-20
Libpipeline-1.4.0
Make-4.1
Patch-2.7.5
Sysklogd-1.5.1
Sysvinit-2.88dsf
Tar-1.28
Texinfo-5.2
Eudev-2.1.1
Util-linux-2.26
Man-DB-2.7.1
Vim-7.4
About Debugging Symbols
Stripping Again
Cleaning Up
7. System Configuration and Bootscripts
Introduction
LFS-Bootscripts-20150222
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
8. Making the LFS System Bootable
Introduction
Creating the /etc/fstab File
Linux-3.19.1
Using GRUB to Set Up the Boot Process
9. The End
The End
Get Counted
Rebooting the System
What Now?
IV. Appendices
A. Acronyms and Terms
B. Acknowledgments
C. Dependencies
D. Boot and sysconfig scripts version-20150222
/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