3.1. Introduction

This chapter includes a list of packages that need to be downloaded for building a basic Linux system. The listed version numbers correspond to versions of the software that are known to work, and this book is based on their use. We highly recommend not using newer versions because the build commands for one version may not work with a newer version. The newest package versions may also have problems that require work-arounds. These work-arounds will be developed and stabilized in the development version of the book.

Download locations may not always be accessible. If a download location has changed since this book was published, Google (http://www.google.com/) provides a useful search engine for most packages. If this search is unsuccessful, try one of the alternative means of downloading discussed at http://cross-lfs.org/files/packages/3.0.0/SYSVINIT/.

Create a directory called ${CLFS}/sources and use it to store your sources and patches. All packages should be compiled there as well. Using any other location for compiling may have unexpected results.

To create this directory, execute, as user root, the following command before starting the download session:

mkdir -v ${CLFS}/sources

Make this directory writable and sticky. When a directory is marked “sticky”, that means that even if multiple users have write permission on that directory, any file within that directory can only be deleted or modified by its owner. The following command, run as root, will enable the write and sticky modes:

chmod -v a+wt ${CLFS}/sources

You can download all needed packages and patches into this directory either by using the links on the following pages in this section, or by passing the download list to wget:

wget -i dl.list -P ${CLFS}/sources

Verification of downloaded packages can be done by downloading the following MD5 or SHA1 checksum lists:


pushd ${CLFS}/sources
md5sum -c MD5SUMS


pushd ${CLFS}/sources
sha1sum -c SHA1SUMS