Update to perl-5.32.0.
[linux_from_scratch.git] / chapter03 / introduction.xml
blob7a7626d929777c5fc528eba1bd79ce6c97efa5f4
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">
5   %general-entities;
6 ]>
8 <sect1 id="ch-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
20   book.</para>
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
40   session:</para>
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
48   sticky modes:</para>
50 <screen role="nodump"><userinput>chmod -v a+wt $LFS/sources</userinput></screen>
52   <para>There are several ways to optain all the necessary packages and patches
53   to build LFS:</para>
55   <itemizedlist>
56     <listitem>
57       <para>The files can be downloaded individually as described in the 
58       next two sections.</para>
59     </listitem>
60     <listitem>
61       <para>For stable versions of the book, a tarball of all the needed files 
62       can be downloaded from one of the LFS files mirrors listed at
63       <ulink url="http://www.linuxfromscratch.org/mirrors.html#files"/>.</para>
64     </listitem>
65     <listitem>
66       <para>The files can be downloaded using <command>wget</command> and
67       a wget-list as described below.</para>
68     </listitem>
69   </itemizedlist>
71   <para>To download all of the packages and patches by using
72   <ulink url="../wget-list">wget-list</ulink> as an input to the
73   <command>wget</command> command, use:</para>
75 <screen role="nodump"><userinput>wget --input-file=wget-list --continue --directory-prefix=$LFS/sources</userinput></screen>
77   <para>Additionally, starting with LFS-7.0, there is a separate file,
78   <ulink url="../md5sums">md5sums</ulink>, which can be used to verify that all
79   the correct packages are available before proceeding.  Place that file in
80   <filename class="directory">$LFS/sources</filename> and run:</para>
82 <screen role="nodump"><userinput>pushd $LFS/sources
83   md5sum -c md5sums
84 popd</userinput></screen>
86   <para>This check can be used after retrieving the needed files with any of the 
87   methods listed above.</para>
89 </sect1>