Cross-Compiled Linux From Scratch
Version 1.0.0rc1-x86_64-Pure64
Jim
Gifford
Ryan
Oliver
Copyright
© 2005–2006 Jim Gifford & Ryan Oliver
Based on LFS, Copyright © 1999–2006 Gerard Beekmans
Table of Contents
Preface
Foreword
Audience
Prerequisites
Typography
Structure
Errata
I. Introduction
1. Introduction
Cross-LFS Acknowledgements
How to Build a CLFS System
Master Changelog
Changelog for x86_64-64
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
3. Packages and Patches
Introduction
All Packages
Additional Packages for x86_64
Needed Patches
Additional Patches for x86_64
4. Final Preparations
About $LFS
Creating the $LFS/tools Directory
Creating the $LFS/cross-tools Directory
Adding the LFS User
Setting Up the Environment
About the Test Suites
III. Make the Cross-Compile Tools
5. Constructing Cross-Compile Tools
Introduction
Build CFLAGS
Build Flags
Build Variables
Linux-Headers-2.6.17.1-06212006
Cross Binutils-2.17
Cross GCC-4.1.1 - Static
Glibc-2.4
GCC-4.1.1 - Cross Compiler Final
IV. Building the Basic Tools
6. Constructing a Temporary System
Introduction
Build Variables
Binutils-2.17
GCC-4.1.1
Ncurses-5.5
Bash-3.1
Bzip2-1.0.3
Coreutils-5.96
Diffutils-2.8.7
Findutils-4.2.27
Gawk-3.1.5
Gettext-0.14.5
Grep-2.5.1a
Gzip-1.3.5
Make-3.81
Patch-2.5.9
Sed-4.1.5
Tar-1.15.1
Texinfo-4.8
To Boot or to Chroot?
7. If You Are Going to Boot
Introduction
Creating Directories
Creating Essential Symlinks
Zlib-1.2.3
E2fsprogs-1.39
Sysvinit-2.86
Module-Init-Tools-3.2.2
Util-linux-2.12r
Udev-093
Creating the passwd, group, and log Files
Linux-2.6.17.1
Building a bootloader
Bin86-0.16.17
Lilo-22.7.1
Setting Up the Environment
Build Flags
Creating the ${LFS}/etc/fstab File
CLFS-Bootscripts-0.1
Udev Rules-0.1-05292006
Populating ${LFS}/dev
Changing Ownership
Making the CLFS System Bootable
What to do next
8. If You Are Going to Chroot
Introduction
Util-linux-2.12r
Mounting Virtual Kernel File Systems
Entering the Chroot Environment
Changing Ownership
Creating Directories
Creating Essential Symlinks
Creating the passwd, group, and log Files
Mounting Kernel Filesystems
V. Building the CLFS System
9. Constructing Testsuite Tools
Introduction
Tcl-8.4.12
Expect-5.43.0
DejaGNU-1.4.4
Tree-1.5.0
10. Installing Basic System Software
Introduction
Package Management
About Test Suites, Again
Temporary Perl-5.8.8
Linux-Headers-2.6.17.1-06212006
Glibc-2.4
Adjusting the Toolchain
Binutils-2.17
GCC-4.1.1
Coreutils-5.96
Iana-Etc-2.10
M4-1.4.4
Bison-2.3
Ncurses-5.5
Procps-3.2.6
Sed-4.1.5
Libtool-1.5.22
Perl-5.8.8
Readline-5.1
Zlib-1.2.3
Autoconf-2.59
Automake-1.9.6
Bash-3.1
Bzip2-1.0.3
Diffutils-2.8.7
E2fsprogs-1.39
File-4.17
Findutils-4.2.27
Flex-2.5.33
Gawk-3.1.5
Gettext-0.14.5
Grep-2.5.1a
Groff-1.19.2
Gzip-1.3.5
Inetutils-1.4.2
IPRoute2-2.6.16-060323
Kbd-1.12
Less-394
Make-3.81
Man-1.6d
Man-pages-2.33
Mktemp-1.5
Module-Init-Tools-3.2.2
Patch-2.5.9
Psmisc-22.2
Shadow-4.0.16
Sysklogd-1.4.1
Sysvinit-2.86
Tar-1.15.1
Texinfo-4.8
Udev-093
Util-linux-2.12r
Vim-7.0
Bin86-0.16.17
Lilo-22.7.1
About Debugging Symbols
Stripping
11. Setting Up System Bootscripts
Introduction
CLFS-Bootscripts-0.1
Udev Rules-0.1-05292006
How Do These Bootscripts Work?
Device and Module Handling on a CLFS System
Configuring the setclock Script
Configuring the Linux Console
Configuring the sysklogd script
Creating the /etc/inputrc File
The Bash Shell Startup Files
Configuring the localnet Script
Customizing the /etc/hosts File
Configuring the network Script
12. Making the CLFS System Bootable
Introduction
Creating the /etc/fstab File
Linux-2.6.17.1
Making the CLFS System Bootable
13. The End
The End
Get Counted
Rebooting the System
What Now?
VI. Appendices
A. Acronyms and Terms
B. Acknowledgments
C. Dependencies
D. x86 Dependencies
Index