Cross-Compiled Linux From Scratch
Version 1.0.0rc6-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
Host System Requirements
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 ${CLFS}
Creating the ${CLFS}/tools Directory
Creating the ${CLFS}/cross-tools Directory
Adding the CLFS 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.13-09092006
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-096
Creating the passwd, group, and log Files
Linux-2.6.17.13
Building a bootloader
Bin86-0.16.17
Lilo-22.7.1
Setting Up the Environment
Build Flags
Creating the /etc/fstab File
CLFS-Bootscripts-1.0
Udev Rules-1.0-3
Populating /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
Build Flags
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
File-4.17
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.13-09092006
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
Flex-2.5.33
IPRoute2-2.6.16-060323
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
Gawk-3.1.5
Gettext-0.14.5
Grep-2.5.1a
Groff-1.19.2
Gzip-1.3.5
Inetutils-1.4.2
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-096
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-1.0
Udev Rules-1.0-3
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
Creating custom symlinks to devices
Configuring the network Script
12. Making the CLFS System Bootable
Introduction
Creating the /etc/fstab File
Linux-2.6.17.13
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