1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../general.ent">
8 <sect1 id="materials-introduction">
9 <?dbhtml filename="introduction.html"?>
11 <title>Introduction</title>
13 <para>This chapter includes a list of packages that need to be downloaded in
14 order to build a basic Linux system. The listed version numbers correspond to
15 versions of the software that are known to work, and this book is based on
16 their use. We highly recommend against using newer versions because the build
17 commands for one version may not work with a newer version. The newest package
18 versions may also have problems that require work-arounds. These work-arounds
19 will be developed and stabilized in the development version of the
22 <para>Download locations may not always be accessible. If a download
23 location has changed since this book was published, Google (<ulink
24 url="http://www.google.com/"/>) provides a useful search engine for
25 most packages. If this search is unsuccessful, try one of the
26 alternative means of downloading discussed at <ulink
27 url="&lfs-root;lfs/packages.html#packages"/>. </para>
29 <para>Downloaded packages and patches will need to be stored somewhere
30 that is conveniently available throughout the entire build. A working
31 directory is also required to unpack the sources and build them.
32 <filename class="directory">$LFS/sources</filename> can be used both
33 as the place to store the tarballs and patches and as a working
34 directory. By using this directory, the required elements will be
35 located on the LFS partition and will be available during all stages
36 of the building process.</para>
38 <para>To create this directory, execute the following command, as user
39 <systemitem class="username">root</systemitem>, before starting the download
42 <screen role="nodump"><userinput>mkdir -v $LFS/sources</userinput></screen>
44 <para>Make this directory writable and sticky. <quote>Sticky</quote>
45 means that even if multiple users have write permission on a
46 directory, only the owner of a file can delete the file within a
47 sticky directory. The following command will enable the write and
50 <screen role="nodump"><userinput>chmod -v a+wt $LFS/sources</userinput></screen>
52 <para>An easy way to download all of the packages and patches is by using
53 <ulink url="../wget-list">wget-list</ulink> as an input to
54 <command>wget</command>. For example:</para>
56 <screen role="nodump"><userinput>wget --input-file=wget-list --continue --directory-prefix=$LFS/sources</userinput></screen>
58 <para>Additionally, starting with LFS-7.0, there is a separate file,
59 <ulink url="../md5sums">md5sums</ulink>, which can be used to verify that all
60 the correct packages are available before proceeding. Place that file in
61 <filename class="directory">$LFS/sources</filename> and run:</para>
63 <screen role="nodump"><userinput>pushd $LFS/sources
65 popd</userinput></screen>