Linux From Scratch

Gerard Beekmans

This book describes the process of creating your own Linux system from scratch from an already installed Linux distribution, using nothing but the sources of software that are needed.


Dedication

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

Table of Contents
Preface
Who would want to read this book
Who would not want to read this book
Organization
Part I - Introduction
Part II - Installation of a basic system on Intel systems
Part III - Installation of a basic system on Apple PowerPC systems
Part IV - Appendixes
I. Part I - Introduction
1. Introduction
Introduction
How things are going to be done
Book versions
Acknowledgements
Changelog
Mailinglists and archives
Contact information
2. Important information
About $LFS
How to download the software
How to install the software
II. Part II - Installing LFS on Intel systems
3. Packages you need to download
4. Preparing a new partition
Introduction
Creating a new partition
Creating a ext2 file system on the new partition
Mounting the new partition
Creating directories
5. Installing basic system software
How and why things are done
Debugging symbols and compiler optimizations
Preparing the LFS system
Installing Bash
Installing Binutils
Installing Bzip2
Installing Diffutils
Installing Fileutils
Installing GCC on the normal system if necessary
Installing GCC on the LFS system
Installing Linux Kernel
Installing Glibc
Installing Grep
Installing Gzip
Installing Make
Installing Sed
Installing Shellutils
Installing Tar
Installing Textutils
Creating passwd and group files
Copying /proc/devices
Installing basic system software
Entering the chroot'ed environment
Creating device files
Installing GCC
Installing Bison
Installing Mawk
Installing Patch
Installing Findutils
Installing Ncurses
Installing Less
Installing Groff
Installing Man
Installing Perl
Installing M4
Installing Texinfo
Installing Autoconf
Installing Automake
Installing Bash
Installing Flex
Installing File
Installing Libtool
Installing Bin86
Installing Binutils
Installing Bzip2
Installing Gettext
Installing Consoletools
Installing Consoledata
Installing Diffutils
Installing E2fsprogs
Installing Ed
Installing Fileutils
Installing Grep
Installing Gzip
Installing Ldso
Installing Lilo
Installing Make
Installing Modutils
Installing Procinfo
Installing Procps
Installing Psmisc
Installing Sed
Installing Shadowpwd
Installing Shellutils
Installing Vim
Installing Sysklogd
Installing Sysvinit
Installing Tar
Installing Textutils
Installing Utillinux
Installing Man-pages
Removing old NSS library files
Configuring essential software
6. Creating system boot scripts
What is being done here
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 umountfs script
Setting up symlinks and permissions
Creating the /etc/fstab file
7. Setting up basic networking
Introduction
Installing network software
Creating network boot scripts
8. Making the LFS system bootable
Introduction
Installing a kernel
Adding an entry to LILO
Testing the system
III. Part III - Installing LFS on Apple PowerPC systems
9. Packages you need to download
10. Preparing a new partition
Introduction
Creating a new partition
Mounting the new partition
Creating directories
11. Installing basic system software
How and why things are done
Debugging symbols and compiler optimizations
Preparing the LFS system
Installing Bash
Installing Binutils
Installing Bzip2
Installing Diffutils
Installing Fileutils
Installing GCC on the normal system if necessary
Installing GCC on the LFS system
Installing Linux Kernel
Installing Glibc
Installing Grep
Installing Gzip
Installing Make
Installing Sed
Installing Shellutils
Installing Tar
Installing Textutils
Creating passwd and group files
Copying /proc/devices
Installing basic system software
Entering the chroot'ed environment
Creating device files
Installing GCC
Installing Bison
Installing Mawk
Installing Patch
Installing Findutils
Installing Ncurses
Installing Less
Installing Groff
Installing Man
Installing Perl
Installing M4
Installing Texinfo
Installing Autoconf
Installing Automake
Installing Bash
Installing Flex
Installing File
Installing Libtool
Installing Bin86
Installing Binutils
Installing Bzip2
Installing Gettext
Installing Consoletools
Installing Consoledata
Installing Diffutils
Installing E2fsprogs
Installing Ed
Installing Fileutils
Installing Grep
Installing Gzip
Installing Ldso
Installing Make
Installing Modutils
Installing Procinfo
Installing Procps
Installing Psmisc
Installing Sed
Installing Shadowpwd
Installing Shellutils
Installing Vim
Installing Sysklogd
Installing Sysvinit
Installing Tar
Installing Textutils
Installing Utillinux
Installation of Pmac-utils
Installing Man-pages
Removing old NSS library files
Configuring essential software
12. Creating system boot scripts
What is being done here
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 umountfs script
Setting up symlinks and permissions
Creating the /etc/fstab file
13. Setting up basic networking
Introduction
Installing network software
Creating network boot scripts
14. Making the LFS system bootable
Introduction
Installing a kernel
Updating BootX
Testing the system
IV. Part IV - Appendixes
A. Package descriptions
Introduction
Glibc
Linux kernel
Ed
Patch
GCC
Bison
Mawk
Findutils
Ncurses
Less
Groff
Man
Perl
M4
Texinfo
Autoconf
Automake
Bash
Flex
Binutils
Bzip2
Diffutils
E2fsprogs
File
Fileutils
Gettext
Grep
Gzip
Ld.so
Libtool
Bin86
Lilo
Make
Shellutils
Shadow Password Suite
Modutils
Procinfo
Procps
Vim
Psmisc
Sed
Sysklogd
Sysvinit
Tar
Textutils
Util Linux
Console-tools
Console-data
Man-pages
B. Resources
Introduction
Books
HOWTOs and Guides
Other