Copyright © 2005–2006 Jim Gifford & Ryan Oliver
Based on LFS, Copyright © 1999–2006 Gerard Beekmans
Copyright (c) 2005, Jim Gifford & Ryan Oliver
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions in any form must retain the above copyright notice, this list of conditions and the following disclaimer
Neither the name of “Linux From Scratch” nor the names of its contributors may be used to endorse or promote products derived from this material without specific prior written permission
Any material derived from Linux From Scratch must contain a reference to the “Linux From Scratch” project
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The Linux From Scratch Project has seen many changes in the few years of its existence. I personally became involved with the project in 1999, around the time of the 2.x releases. At that time, the build process was to create static binaries with the host system, then chroot and build the final binaries on top of the static ones.
Later came the use of the /static directory to hold the initial static builds, keeping them separated from the final system, then the PureLFS process developed by Ryan Oliver and Greg Schafer, introducing a new toolchain build process that divorces even our initial builds from the host. Finally, LFS 6 bought Linux Kernel 2.6, the udev dynamic device structure, sanitized kernel headers, and other improvements to the Linux From Scratch system.
The one "flaw" in LFS is that it has always been based on an x86 class processor. With the advent of the Athlon 64 and Intel EM64T processors, the x86-only LFS is no longer ideal. Throughout this time, Ryan Oliver developed and documented a process by which you could build Linux for any system and from any system, by use of cross-compilation techniques. Thus, the Cross-Compiled LFS (CLFS) was born.
CLFS follows the same guiding principles the LFS project has always followed, e.g., knowing your system inside and out by virtue of having built the system yourself. Additionally, during a CLFS build, you will learn advanced techniques such as cross-build toolchains, multilib support (32 & 64-bit libraries side-by-side), alternative architectures such as Sparc, MIPS, and Alpha, and much more.
We hope you enjoy building your own CLFS system, and the benefits that come from a system tailored to your needs.
--
Jeremy Utley, CLFS 1.x Release Manager (Page Author)
Jim Gifford, CLFS Project Co-leader
Ryan Oliver, CLFS Project Co-leader
Joe Ciccone, Justin Knierim, Chris Staub, Matt Darcy, Ken Moffat,
Manuel Canales Esparcia, and Nathan Coulson - CLFS Developers
There are many reasons why somebody would want to read this book. The principal reason is to install a Linux system from the source code. A question many people raise is, “why go through all the hassle of manually building a Linux system from scratch when you can just download and install an existing one?” That is a good question and is the impetus for this section of the book.
One important reason for the existence of CLFS is to help people understand how a Linux system works. Building an CLFS system helps demonstrate what makes Linux tick, and how things work together and depend on each other. One of the best things this learning experience provides is the ability to customize Linux to your own tastes and needs.
A key benefit of CLFS is that it allows users to have more control over their system without any reliance on a Linux implementation designed by someone else. With CLFS, you are in the driver's seat and dictate every aspect of the system, such as the directory layout and bootscript setup. You also dictate where, why, and how programs are installed.
Another benefit of CLFS is the ability to create a very compact Linux system. When installing a regular distribution, one is often forced to include several programs which are probably never used. These programs waste disk space or CPU cycles. It is not difficult to build an CLFS system of less than 100 megabytes (MB), which is substantially smaller than the majority of existing installations. Does this still sound like a lot of space? A few of us have been working on creating a very small embedded CLFS system. We successfully built a system that was specialized to run the Apache web server with approximately 8MB of disk space used. Further stripping could bring this down to 5 MB or less. Try that with a regular distribution! This is only one of the many benefits of designing your own Linux implementation.
We could compare Linux distributions to a hamburger purchased at a fast-food restaurant—you have no idea what might be in what you are eating. CLFS, on the other hand, does not give you a hamburger. Rather, CLFS provides the recipe to make the exact hamburger desired. This allows users to review the recipe, omit unwanted ingredients, and add your own ingredients to enhance the flavor of the burger. When you are satisfied with the recipe, move on to preparing it. It can be made to exact specifications—broil it, bake it, deep-fry it, or barbecue it.
Another analogy that we can use is that of comparing CLFS with a finished house. CLFS provides the skeletal plan of a house, but it is up to you to build it. CLFS maintains the freedom to adjust plans throughout the process, customizing it to the needs and preferences of the user.
Security is an additional advantage of a custom built Linux system. By compiling the entire system from source code, you are empowered to audit everything and apply all the security patches desired. It is no longer necessary to wait for somebody else to compile binary packages that fix a security hole. Unless you examine the patch and implement it yourself, you have no guarantee that the new binary package was built correctly and adequately fixes the problem.
The goal of Cross Linux From Scratch is to build a complete and usable foundation-level system. Readers who do not wish to build their own Linux system from scratch may not benefit from the information in this book. If you only want to know what happens while the computer boots, we recommend the “From Power Up To Bash Prompt” HOWTO located at http://axiom.anu.edu.au/~okeefe/p2b/ or on The Linux Documentation Project's (TLDP) website at http://www.tldp.org/HOWTO/From-PowerUp-To-Bash-Prompt-HOWTO.html. The HOWTO builds a system which is similar to that of this book, but it focuses strictly on creating a system capable of booting to a BASH prompt. Consider your objective. If you wish to build a Linux system and learn along the way, this book is your best choice.
There are too many good reasons to build your own CLFS system to list them all here. This section is only the tip of the iceberg. As you continue in your CLFS experience, you will find the power that information and knowledge truly bring.
Building a CLFS system is not a simple task. It requires a certain level of existing knowledge of Unix system administration in order to resolve problems, and correctly execute the commands listed. In particular, as an absolute minimum, the reader should already have the ability to use the command line (shell) to copy or move files and directories, list directory and file contents, and change the current directory. It is also expected that the reader has a reasonable knowledge of using and installing Linux software. A basic knowledge of the architectures being used in the Cross LFS process and the host operating systems in use is also required.
Because the CLFS book assumes at least this basic level of skill, the various CLFS support forums are unlikely to be able to provide you with much assistance. Your questions regarding such basic knowledge will likely go unanswered, or you will be referred to the CLFS essential pre-reading list.
Before building a CLFS system, we recommend reading the following HOWTOs:
Software-Building-HOWTO http://www.tldp.org/HOWTO/Software-Building-HOWTO.html
This is a comprehensive guide to building and installing “generic” Unix software distributions under Linux.
The Linux Users' Guide http://www.linuxhq.com/guides/LUG/guide.html
This guide covers the usage of assorted Linux software.
The Essential Pre-Reading Hint http://www.linuxfromscratch.org/hints/downloads/files/essential_prereading.txt
This is a hint written specifically for users new to Linux. It includes a list of links to excellent sources of information on a wide range of topics. Anyone attempting to install CLFS should have an understanding of many of the topics in this hint.
You should be able to build a CLFS system from just about any Unix-type operating system. Your host system should have the following software with the minimum versions indicated. Also note that many distributions will place software headers into separate packages, often in the form of “[package-name]-devel” or “[package-name]-dev”. Be sure to install those if your distribution provides them.
Bash-2.05a
Binutils-2.12 (Versions greater than 2.17 are not recommended as they have not been tested)
Bzip2-1.0.2
Coreutils-5.0 (or Sh-Utils-2.0, Textutils-2.0, and Fileutils-4.1)
Diffutils-2.8
Findutils-4.1.20
Gawk-3.0
Gcc-2.95.3 (Versions greater than 4.1.1 are not recommended as they have not been tested)
Glibc-2.2.5 (Versions greater than 2.4 are not recommended as they have not been tested)
Grep-2.5
Gzip-1.2.4
Make-3.79.1
Patch-2.5.4
Sed-3.0.2
Tar-1.14
To see whether your host system has all the appropriate versions, run the following:
cat > version-check.sh << "EOF" #!/bin/bash # Simple script to list version numbers of critical development tools bash --version | head -n1 | cut -d" " -f2-4 echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-4 bzip2 --version 2>&1 < /dev/null | head -n1 | cut -d" " -f1,6- echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2 diff --version | head -n1 find --version | head -n1 gawk --version | head -n1 gcc --version | head -n1 /lib/libc.so.6 | head -n1 | cut -d" " -f1-7 grep --version | head -n1 gzip --version | head -n1 make --version | head -n1 patch --version | head -n1 sed --version | head -n1 tar --version | head -n1 EOF bash version-check.sh
To make things easier to follow, there are a few typographical conventions used throughout this book. This section contains some examples of the typographical format found throughout Cross-Compiled Linux From Scratch.
./configure --prefix=/usr
This form of text is designed to be typed exactly as seen unless otherwise noted in the surrounding text. It is also used in the explanation sections to identify which of the commands is being referenced.
install-info: unknown option '--dir-file=/mnt/clfs/usr/info/dir'
This form of text (fixed-width text) shows screen output, probably as the result of commands issued. This format is also used to show filenames, such as /etc/ld.so.conf.
Emphasis
This form of text is used for several purposes in the book. Its main purpose is to emphasize important points or items.
This format is used for hyperlinks, both within the CLFS community and to external pages. It includes HOWTOs, download locations, and websites.
cat > ${CLFS}/etc/group << "EOF"
root:x:0:
bin:x:1:
......
EOF
This format is used when creating configuration files. The first command tells the system to create the file ${CLFS}/etc/group from whatever is typed on the following lines until the sequence end of file (EOF) is encountered. Therefore, this entire section is generally typed as seen.
[REPLACED TEXT]
This format is used to encapsulate text that is not to be typed as seen or copied-and-pasted.
passwd(5)
This format is used to refer to a specific manual page (hereinafter referred to simply as a “man” page). The number inside parentheses indicates a specific section inside of man. For example, passwd has two man pages. Per CLFS installation instructions, those two man pages will be located at /usr/share/man/man1/passwd.1 and /usr/share/man/man5/passwd.5. Both man pages have different information in them. When the book uses passwd(5) it is specifically referring to /usr/share/man/man5/passwd.5. man passwd will print the first man page it finds that matches “passwd”, which will be /usr/share/man/man1/passwd.1. For this example, you will need to run man 5 passwd in order to read the specific page being referred to. It should be noted that most man pages do not have duplicate page names in different sections. Therefore, man [program name] is generally sufficient.
This book is divided into the following parts.
Part I explains a few important notes on how to proceed with the Cross-LFS installation. This section also provides meta-information about the book.
Part II describes how to prepare for the building process—making a partition and downloading the packages.
Part III shows you how to make a set of Cross-Compiler tools. These tools can run on your host system but allow you to build packages that will run on your target system.
Part IV explains how to build a tool chain designed to operate on your target system. These are the tools that will allow you to build a working system on your target computer.
Part V guides the reader through the building of the CLFS system—compiling and installing all the packages one by one, setting up the boot scripts, and installing the kernel. The resulting Linux system is the foundation on which other software can be built to expand the system as desired. At the end of this book, there is an easy to use reference listing all of the programs, libraries, and important files that have been installed.
The appendices contain information that doesn't really fit anywhere else in the book. Appendix A contains definitions of acronyms and terms used in the book; Appendix B gives acknowledgments to people who have helped work on the CLFS project and website; Appendix C and D have information about package dependencies and the the build order. Some architectures may have additional appendices for arch-specific issues.
The software used to create a CLFS system is constantly being updated and enhanced. Security warnings and bug fixes may become available after the CLFS book has been released. Some host systems may also have problems building CLFS. To check whether the package versions or instructions in this release of CLFS need any modifications to accommodate security vulnerabilities, other bug fixes, or host-specific issues, please visit http://trac.cross-lfs.org/clfs/errata/1.0.0/ before proceeding with your build. You should note any changes shown and apply them to the relevant section of the book as you progress with building the CLFS system.
The CLFS team would like to acknowledge people who have assisted in making the book what it is today.
Our Leaders:
Ryan Oliver - Build Process Developer.
Jim Gifford - Lead Developer.
Jeremy Utley - Release Manager 1.x Series.
Our CLFS Team:
Joe Ciccone - Alpha, MIPS, Sparc builds.
Nathan Coulson - Bootscripts.
Matt Darcy - x86, X86_64, and Sparc builds.
Manuel Canales Esparcia - Book XML.
Karen McGuiness - Proofreader.
Jeremy Huntwork - PowerPC, x86, Sparc builds.
Justin Knierim - Website Architect.
Ken Moffat - PowerPC and X86_64 builds. Developer of Pure 64 Hint.
Alexander E. Patrakov - Udev/Hotplug Integration
Chris Staub - x86 builds. Leader of Quality Control.
Outside the Development Team
Jürg Billeter - Testing and assisting in the development of the Linux Headers Package
Richard Downing - Testing, typo, and content fixes.
Peter Ennis - Typo and content fixes.
Tony Morgan - Typo and content fixes.
The CLFS team would also like to acknowledge contributions of people from clfs-dev@lists.cross-lfs.org and associated mailing lists who have provided valuable technical and editorial corrections while testing the Cross-LFS book.
G. Moko - Text updates and Typos
Maxim Osipov - MIPS Testing.
Doug Ronne - Various x86_64 fixes.
William Zhou - Text updates and Typos
Theo Schneider - Testing of the Linux Headers Package
Thank you all for your support.
The CLFS system will be built by using a previously installed Unix system or Linux distribution (such as Debian, Fedora, Mandriva, SUSE, or Ubuntu). This existing system (the host) will be used as a starting point to provide necessary programs, including a compiler, linker, and shell, to build the new system. Select the “development” option during the distribution installation to be able to access these tools.
As an alternative to installing an entire separate distribution onto your machine, you may wish to use the Linux From Scratch LiveCD. This CD works well as a host system, providing all the tools you need to successfully follow the instructions in this book. It does also contain source packages and patches for the LFS book, and a copy of the LFS book, but not the needed packages or book for CLFS. You can still use the CD for building CLFS, but you will need to download the packages, patches and book separately. You can also look at http://www.linuxfromscratch.org/hints/downloads/files/lfscd-remastering-howto.txt for infomation on building your own CD, replacing the LFS packages and book with those for CLFS. Once you have the CD, no network connection or additional downloads are necessary. For more information about the LFS LiveCD or to download a copy, visit http://www.linuxfromscratch.org/livecd/.
Preparing a New Partition of this book describes how to create a new Linux native partition and file system, the place where the new CLFS system will be compiled and installed. Packages and Patches explains which packages and patches need to be downloaded to build a CLFS system and how to store them on the new file system. Final Preparations discusses the setup for an appropriate working environment. Please read Final Preparations carefully as it explains several important issues the developer should be aware of before beginning to work through Constructing Cross-Compile Tools and beyond.
Constructing Cross-Compile Tools explains the installation of cross-compile tools which will be built on the host but be able to compile programs that run on the target machine. These cross-compile tools will be used to create a temporary, minimal system that will be the basis for building the final CLFS system. Some of these packages are needed to resolve circular dependencies—for example, to compile a compiler, you need a compiler.
The process of building cross-compile tools first involves building and installing all the necessary tools to create a build system for the target machine. With these cross-compiled tools, we eliminate any dependencies on the toolchain from our host distro.
After we build our “Cross-Tools”, we start building a very minimal working system in /tools. This minimal system will be built using the cross-toolchain in /cross-tools.
In Installing Basic System Software, the full CLFS system is built. Depending on the system you are cross-compiling for, you will either boot the minimal temp-system on the target machine, or chroot into it.
The chroot (change root) program is used to enter a virtual environment and start a new shell whose root directory will be set to the CLFS partition. This is very similar to rebooting and instructing the kernel to mount the CLFS partition as the root partition. The major advantage is that “chrooting” allows the builder to continue using the host while CLFS is being built. While waiting for package compilation to complete, a user can switch to a different virtual console (VC) or X desktop and continue using the computer as normal.
Some systems cannot be built by chrooting so they must be booted instead. Generally, if you building for a different arch than the host system, you must reboot because the kernel will likely not support the target machine. Booting involves installing a few additional packages that are needed for bootup, installing bootscripts, and building a miminal kernel. We also describe some alternative booting methods in Section 7.22, “What to do next”
To finish the installation, the CLFS-Bootscripts are set up in Setting Up System Bootscripts, and the kernel and boot loader are set up in Making the CLFS System Bootable. The End contains information on furthering the CLFS experience beyond this book. After the steps in this book have been implemented, the computer will be ready to reboot into the new CLFS system.
This is the process in a nutshell. Detailed information on each step is discussed in the following chapters and package descriptions. Items that may seem complicated will be clarified, and everything will fall into place as the reader embarks on the CLFS adventure.
This is version 1.0.0 of the Cross-Compiled Linux From Scratch book, dated September 21, 2006. If this book is more than six months old, a newer and better version is probably already available. To find out, please check one of the mirrors via http://trac.cross-lfs.org/.
Below is a list of detailed changes made since the previous release of the book.
Changelog Entries:
September 18, 2006
[Chris] - Removed TeX installation commands from Texinfo instructions.
September 16, 2006
[jim] - Updated Udev-Cross-LFS rules to 1.0-3. Fixes bootup with /lib64/udev.
September 10, 2006
[jim] - Added a patch to fix Inetutils. Telnet on 64 bit systems will fail, it will attempt to connect to 255.255.255.255 instead of the ip address entered. This was due to a change in glibc's handling of inet_addr, was long now is u_int32_t. Bug found by Vladimir Vainer.
[jim] - Add patch to fix gzexe. Used Matts change from LFS, that utilizes Robert's fix. More details at http://wiki.linuxfromscratch.org/lfs/ticket/1876.
[Chris] - Added Host System Requiremets page, and added more info to the "To Boot or Chroot?" page about needing a 2.6.x Linux kernel to chroot.
September 9, 2006
[jim] - Updated Linux to 2.6.17.13 and Linux Headers to 2.6.17.13-09092006.
September 8, 2006
[jim] - Fixed Perl Testsuite Network tests.
September 7, 2006
[jim] - Updated Multilib Tree to follow build standards set in the book.
[jim] - Updated copy commands in Linux Headers, simpler and cleaner.
September 6, 2006
[jim] - UDEV Rules - On multilib builds, change /lib/udev to /lib64/udev, to keep consistency through the system.
[jim] - Removed sed from tcl, not required.
[jim] - Replace Perl FPIC patch with a sed, to make sure fpic is set correctly.
September 5, 2006
[jim] - UDEV - On multilib builds, change /lib/udev to /lib64/udev, to keep consistency through the system.
[jim] - IPRoute2 - On multilib builds, change /usr/lib/tc to /usr/lib64/tc, to keep consistency through the system.
August 28, 2006
[jim] - Renamed Cross-LFS Bootscripts 0.4 to 1.0, for the release. No changes made to the scripts.
[jim] - Renamed Cross-LFS Udev Rules 0.1-07062006 to 1.0, for the release. No changes made to the rules.
August 27, 2006
[jim] - Updated to Cross-LFS Bootscripts 0.4.
August 23, 2006
[jim] - Updated Linux to 2.6.17.11 and Linux Headers to 2.6.17.11-08232006.
[jim] - Updated Linux to 2.6.17.10 and Linux Headers to 2.6.17.10-08232006.
August 21, 2006
[jciccone] - Added a multilib perl setup that has a multilib wrapper. The multilib wrapper checks for the value of PERL_ARCH and executes the cooresponding perl binary.
[ken] - Remove include/net from instructions for headers.
August 20, 2006
[jciccone] - Added the Perl fPIC patch which makes perl build a shared DynaLoader.a.
[Chris] - Removed mention of package users hint from "Package Management" page.
[jim] - Updated Linux to 2.6.17.9 and Linux Headers to 2.6.17.9-08202006.
[jim] - Added Linux Tulip Patch to all Linux 2.6.17.9 builds. Fixes an initialization error.
August 8, 2006
[jim] - Moved man-pages to the beginning of the build. (fixes ticket #82).
[jim] - Updated the wording of Bzip2, changes were made to MIPS but not the other multilib architectures. Updated for all architectures now (fixes ticket #79).
August 7, 2006
[Chris] - Updated udev explanatory text in the book and added "Custom Symlinks" page, taken from LFS. Thanks to Alexander Patrakov for the updated text (fixes ticket #75).
August 3, 2006
[ken] - Fixed the temporary bash to correct a failure in the Glibc testsuite, (fixes ticket #78). Thanks to Go Moko.
July 27, 2006
[jim] - Fixed symlink issue in bootscripts. New Package CLFS-bootscripts 0.3.
July 25, 2006
[jim] - Symlinks /tools/bin/file to /usr/bin/file for the GCC testsuite.
July 24, 2006
[Chris] - Updated commands for building the keymap into the kernel - changed the bootable/kernel page to account for the new keymap files location, and changed the instructions in the "boot" section to reflect that fact that we don't know where the keymap files may be on the host (fixes ticket #56).
July 20, 2006
[jim] - Updated to linux-2.6.17.6 and linux-headers-2.6.17.6-07202006.
[jim] - Updated to Udev 096.
July 17, 2006
[jeremy] - Minor foreword fixups courtesy of Karen.
July 16, 2006
[Chris] - Removed unneeded chown and chmod commands from final-system linux-headers installation.
[Chris] - Added a sed command to fix updatedb due to the new location for the find program.
July 14, 2006
[jeremy] - Updated to new foreword
July 11, 2006
[jim] - Updated to linux-headers-2.6.17.4-07112006.
July 9, 2006
[jim] - Updated to linux-headers-2.6.17.4-07092006.
July 8, 2006
[jim] - Updated to linux-2.6.17.4 and linux-headers-2.6.17.4-07072006.
[Chris] - Removed many "${CLFS}" references from explanatory text in boot section.
July 7, 2006
[Chris] - Modified the "creating directories" sections - changed multilib instructions to be consistent with the new format now used for every other arch, and changed mips instructions to use xincludes.
July 6, 2006
[jim] - Updated Udev rules to 07062006, Fixed cdrom, permissions and groups.
July 5, 2006
[jim] - Fixes a possible issue with bootscripts if the the /usr partition is not mounted during startup. Moved find to /bin and moved some kbd utilities to /bin.
July 4, 2006
[jim] - Updated the Grub patch to fix various issues, see text of patch for more details.
July 2, 2006
[Chris] - Updated passwd and group file creation to only create minimal users and groups and include information on other users/groups.
[jim] - Added file to Testsuite tools, required for gcc tests.
July 1, 2006
[jim] - Updated the build to use CLFS in variables instead of LFS. Also change /mnt/lfs to /mnt/clfs.
June 29, 2006
[jim] - Updated Temp-System and Boot builds to be more consistant. Added --build=${LFS_HOST}, where possible.
[jim] - Updated to Cross-LFS Bootscripts. Added check for for /etc/sysconfig/createfiles.
June 27, 2006
[jim] - Updated to linux-headers-2.6.17.1-06272006.
June 25, 2006
[jciccone] - Updated to linux-headers-2.6.17.1-06252006.
June 24, 2006
[jeremy] - Release of 1.0.0-rc1
June 23, 2006
[jim] - Updated Binutils 2.17.
[jim] - Updated Cross-LFS Specific Packages and Patches links for Release.
June 22, 2006
[jim] - Added mktemp to Linux dependency list. New dependency as of 2.6.17.
[jim] - Updated Vim 7.0 patch.
June 21, 2006
[Chris] - Text updates to the book, including replacing "LFS" with "CLFS".
[jim] - Updated to linux-headers-2.6.17.1-06212006-1.
[jim] - Updated Vim 7.0 patch.
June 20, 2006
[jeremy] - Corrected e2fsprogs installation in the boot section, to take into account the new mke2fs.conf file.
[jciccone] - Updated to linux-2.6.17.1 and linux-headers-2.6.17.1-06202006.
[jim] - Updated to linux-headers-2.6.17.1-06202006-1.
June 19, 2006
[jciccone] - Updated to man-1.6d.
[jciccone] - Added an iconv_fix patch to glibc which fixes an issue that has shown up primarily in samba.
[jciccone] - Updated to linux-2.6.17 and linux-headers-2.6.17-06192006.
June 15, 2006
[jim] - Let Perl use thread support.
June 14, 2006
[jim] - Updated to Binutils 2.16.94.
June 10, 2006
[Chris] - Updates to lists of installed programs for several packages.
[Ken] - Fixed the module-init-tools install in the presence of existing files. Thanks to Manuel for pointing me to the fix in LFS, and to Dan Nicholson for the fix.
June 9, 2006
[jim] - Updates to Shadow 4.0.16 build instructions.
[jim] - Updated to Linux Headers 2.6.16.20 to 06092006.
June 7, 2006
[jim] - Updated to Shadow 4.0.16.
June 6, 2006
[Chris] - Added many more -v switches for verbosity.
June 5, 2006
[jim] - Updated to linux-2.6.16.20, and linux-headers-2.6.16.20.
[jim] - Updated to Bison 2.3.
June 4, 2006
[Chris] - Removed obsolete paragraph about "resetting" passwords when using pwconv from Shadow instructions.
[jim] - Updated to Linux Headers 2.6.16.19 to 06042006.
June 1, 2006
[Chris] - Updated list of installed programs for several packages.
May 31, 2006
[ken] - Removed redundant chown of /usr/share/libtool/libltdl.
[jim] - Updated to linux-2.6.16.19, and linux-headers-2.6.16.19.
May 30, 2006
[jim] - Added a patch to fix a missing declaration of R_OK in util-linux.
[Chris] - Removed the long-gone swapdev program from the list of programs installed by util-linux, and several programs not installed by default from the kbd program list.
[jim] - Updated to E2fsprogs 1.39.
[jim] - Updated to Man-Pages 2.33.
May 29, 2006
[jim] - Updated to Binutils 2.16.93.
[jim] - Updated to UDEV 093.
[jim] - Updated Udev Rules to 0.1-05292006.
[jim] - Updated Linux Headers 2.6.16.18 to 05292006.
May 28, 2006
[jim] - Added a patch to Grub to prevent. Error 24: Attempt to access block outside partition.
May 25, 2006
[jim] - Updated to GCC 4.1.1.
[jim] - Add Vim 7.0 Upstream Patches.
May 22, 2006
[jim] - Updated to Coreutils 5.96.
[jim] - Updated linux-2.6.16.18, and linux-headers-2.6.16.18.
May 21, 2006
[jciccone] - Updated to Bison-2.2, linux-2.6.16.17, and linux-headers-2.6.16.17.
May 17, 2006
[Chris] - Made a number of text updates and grammar fixes and added more dependency info (bootscripts, udev-rules, tree) to Appendix C.
May 16, 2006
[Chris] - Changed the temp-system and final-system package build order and a few package build instructions to account for the changed order (the rest of ticket #26).
[ken] - Change name of coreutils patch to match the patch.
May 15, 2006
[jim] - Updated to Man-Pages 2.32.
May 14, 2006
[jim] - Updated Udev Rules to 0.1-05142006.
[jim] - Updated Linux Headers 2.6.16.16 to 05142006.
May 13, 2006
[jim] - Updated to Coreutils 5.95.
May 12, 2006
[jim] - Add Vim 7.0 Upstream Patches.
May 11, 2006
[jim] - Updated Linux and Linux Headers to 2.6.16.16.
[jim] - Add Vim 7.0 Upstream Patches.
May 10,2006
[Chris] - Added more detailed dependency info and moved it to Appendices C and D. Fixes half of ticket #26.
May 9, 2006
[jim] - Updated to Binutils 2.16.92.
[jim] - Updated to Vim 7.0.
[jciccone] - Updated to Linux 2.6.16.15.
May 7, 2006
[jim] - Updated Linux Headers 2.6.16.14 to 05072006.
May 6, 2006
[jciccone] - Updated Linux Headers 2.6.16.14 to 05062006.
May 4, 2006
[jim] - Updated to Linux-2.6.16.14.
[jim] - Updated Linux Headers 2.6.16.13 to 05042006.
May 3, 2006
[Chris] - Updated to Man-Pages 2.31.
[jim] - Updated to Linux-2.6.16.13.
[jim] - Updated to Iana-Etc 2.10.
May 2, 2006
[jim] - Updated Linux Headers 2.6.16.12 to 05022006.
[jim] - Reverted change to bash. Needed on some architectures.
[jim] - Fixed a coreutils cross-compile issues on some architectures.
May 1, 2006
[Chris] - Updated to Man-Pages 2.30.
[jim] - Updated Linux Headers 2.6.16.11 to 05012006.
[Chris] - Updated to Linux-2.6.16.12.
April 30, 2006
[jim] - Updated Linux Headers 2.6.16.11 to 04302006.
April 29, 2006
[ken] - Add asm-generic to headers which are chowned in non-multilib books.
April 28, 2006
[jim] - Updated Linux Headers 2.6.16.11 to 04282006.
[jim] - Updated Udev Rules to 0.1-04282006.