Linux From Scratch

Version 3.1

Gerard Beekmans

This book describes the process of creating a Linux system from scratch from an already installed Linux distribution, using nothing but the sources of the software that we use.


Dedication

This book is dedicated to my loving and supportive wife Beverly Beekmans.

Table of Contents
Preface
Foreword
Who would want to read this book
Who would not want to read this book
Organization
Part I - Introduction
Part II - Installation of the LFS system
Part III - Appendixes
I. Part I - Introduction
1. Introduction
How things are going to be done
Conventions used in this book
Book version
Acknowledgments
Changelog
Mailing lists and archives
News server
Contact information
2. Important information
About $LFS
How to download the software
How to install the software
How to ask for help
Download the bootscripts
Download the LFS Commands
II. Part II - Installing the LFS system
3. Packages that need to be downloaded
Introduction
Packages that need to be downloaded
4. Preparing a new partition
Introduction
Creating a new partition
Creating a file system on the new partition
Mounting the new partition
Creating directories
5. Preparing the LFS system
Introduction
Why do we use static linking?
Install all software as user root
Installing Bash-2.05a
Installing Binutils-2.11.2
Installing Bzip2-1.0.1
Installing Diffutils-2.7
Installing Fileutils-4.1
Installing GCC-2.95.3
Installing Grep-2.4.2
Installing Gzip-1.2.4a
Installing Linux Kernel-2.4.16
Installing Make-3.79.1
Installing Mawk-1.3.3
Installing Patch-2.5.4
Installing Sed-3.02
Installing Sh-utils-2.0
Installing Tar-1.13
Installing Texinfo-4.0
Installing Textutils-2.0
Creating passwd and group files
Copying old NSS library files
Mounting $LFS/proc file system
6. Installing basic system software
Introduction
About debugging symbols
Creating $LFS/root/.bash_profile
Entering the chroot'ed environment
Installing Glibc-2.2.4
Creating devices (Makedev-1.4)
Installing Man-pages-1.43
Installing Findutils-4.1
Installing Mawk-1.3.3
Installing Ncurses-5.2
Installing Vim-6.0
Installing GCC-2.95.3
Installing Bison-1.28
Installing Less-358
Installing Groff-1.17.2
Installing Man-1.5j
Installing Perl-5.6.1
Installing M4-1.4
Installing Texinfo-4.0
Installing Autoconf-2.52
Installing Automake-1.5
Installing Bash-2.05a
Installing Flex-2.5.4a
Installing File-3.36
Installing Libtool-1.4.2
Installing Bin86-0.16.0
Installing Binutils-2.11.2
Installing Bzip2-1.0.1
Installing Ed-0.2
Installing Gettext-0.10.40
Installing Kbd-1.06
Installing Diffutils-2.7
Installing E2fsprogs-1.25
Installing Fileutils-4.1
Installing Grep-2.4.2
Installing Gzip-1.2.4a
Installing Lilo-22.1
Installing Make-3.79.1
Installing Modutils-2.4.12
Installing Netkit-base-0.17
Installing Patch-2.5.4
Installing Procinfo-18
Installing Procps-2.0.7
Installing Psmisc-20.1
Installing Reiserfsprogs-3.x.0j
Installing Sed-3.02
Installing Sh-utils-2.0
Installing Net-tools-1.60
Installing Shadow-20001016
Installing Sysklogd-1.4.1
Installing Sysvinit-2.83
Installing Tar-1.13
Installing Textutils-2.0
Installing Util-linux-2.11m
Removing old NSS library files
Configuring essential software
7. Creating system boot scripts
Introduction
How does the booting process with these scripts work?
Creating directories
Creating the rc script
Creating the rcS script
Creating the functions script
Creating the checkfs script
Creating the halt script
Creating the loadkeys script
Creating the mountfs script
Creating the reboot script
Creating the sendsignals script
Creating the setclock script
Creating the sysklogd script
Creating the template script
Creating the localnet script
Creating the /etc/sysconfig/network file
Creating the /etc/hosts file
Creating the ethnet script
Setting up symlinks and permissions
8. Making the LFS system bootable
Introduction
Creating the /etc/fstab file
Installing a kernel
Making the LFS system bootable
9. The End
The End
Get Counted
Rebooting the system
III. Part III - Appendixes
A. Package descriptions
Introduction
Bash
Binutils
Bzip2
Diffutils
Fileutils
GCC
Grep
Gzip
Linux kernel
Make
Mawk
Patch
Sed
Sh-utils
Tar
Texinfo
Textutils
Glibc
MAKEDEV
Man-pages
Findutils
Ncurses
Vim
Bison
Less
Groff
Man
Perl
M4
Autoconf
Automake
Flex
File
Libtool
Bin86
Ed
Gettext
Kbd
E2fsprogs
Lilo
Modutils
Procinfo
Procps
Psmisc
Reiserfsprogs
Shadow Password Suite
Sysklogd
Sysvinit
Util Linux
Netkit-base
Net-tools
B. Dependencies
Introduction
Bash-2.05
Binutils-2.11.2
Bzip2-1.0.1
Diffutils-2.7
Fileutils-4.1
GCC-2.95.3
Grep-2.4.2
Gzip-1.2.4a
Linux-2.4.8
Make-3.79.1
Mawk-1.3.3
Patch-2.5.4
Sed-3.02
Sh-utils-2.0
Tar-1.13
Texinfo-4.0
Textutils-2.0
Chroot
Glibc-2.2.4
Makedev-1.4
Man-pages-1.39
Findutils-4.1
Ncurses-5.2
Vim-5.8
Bison-1.28
Less-358
Groff-1.17.2
Man-1.5i2
Perl-5.6.1
M4-1.4
Autoconf-2.52
Automake-1.5
Flex-2.5.4a
File-3.36
Libtool-1.4
Bin86-0.16.0
Ed-0.2
Gettext-0.10.39
Kbd-1.06
E2fsprogs-1.22
Lilo-21.7.5
Modutils-2.4.7
Netkit-base-0.17
Procinfo-18
Procps-2.0.7
Psmisc-20.1
Reiserfs-N/A
Net-tools-1.60
Shadow-20001016
Sysklogd-1.4.1
Sysvinit-2.82
Util-linux-2.11h
C. Resources
Introduction
Books
HOWTOs and Guides
Other
D. Official download locations
Official download locations