introduction.xml 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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. ]>
  7. <sect1 id="ch-materials-introduction">
  8. <?dbhtml filename="introduction.html"?>
  9. <title>Introduction</title>
  10. <para>This chapter includes a list of packages that need to be downloaded in
  11. order to build a basic Linux system. The listed version numbers correspond to
  12. versions of the software that are known to work, and this book is based on
  13. their use. We highly recommend against using newer versions because the build
  14. commands for one version may not work with a newer version. The newest package
  15. versions may also have problems that require work-arounds. These work-arounds
  16. will be developed and stabilized in the development version of the
  17. book.</para>
  18. <para>Download locations may not always be accessible. If a download
  19. location has changed since this book was published, Google (<ulink
  20. url="http://www.google.com/"/>) provides a useful search engine for
  21. most packages. If this search is unsuccessful, try one of the
  22. alternative means of downloading discussed at <ulink
  23. url="&lfs-root;lfs/packages.html#packages"/>. </para>
  24. <para>Downloaded packages and patches will need to be stored somewhere
  25. that is conveniently available throughout the entire build. A working
  26. directory is also required to unpack the sources and build them.
  27. <filename class="directory">$LFS/sources</filename> can be used both
  28. as the place to store the tarballs and patches and as a working
  29. directory. By using this directory, the required elements will be
  30. located on the LFS partition and will be available during all stages
  31. of the building process.</para>
  32. <para>To create this directory, execute the following command, as user
  33. <systemitem class="username">root</systemitem>, before starting the download
  34. session:</para>
  35. <screen role="nodump"><userinput>mkdir -v $LFS/sources</userinput></screen>
  36. <para>Make this directory writable and sticky. <quote>Sticky</quote>
  37. means that even if multiple users have write permission on a
  38. directory, only the owner of a file can delete the file within a
  39. sticky directory. The following command will enable the write and
  40. sticky modes:</para>
  41. <screen role="nodump"><userinput>chmod -v a+wt $LFS/sources</userinput></screen>
  42. <para>There are several ways to optain all the necessary packages and patches
  43. to build LFS:</para>
  44. <itemizedlist>
  45. <listitem>
  46. <para>The files can be downloaded individually as described in the
  47. next two sections.</para>
  48. </listitem>
  49. <listitem>
  50. <para>For stable versions of the book, a tarball of all the needed files
  51. can be downloaded from one of the LFS files mirrors listed at
  52. <ulink url="http://www.linuxfromscratch.org/mirrors.html#files"/>.</para>
  53. </listitem>
  54. <listitem>
  55. <para>The files can be downloaded using <command>wget</command> and
  56. a wget-list as described below.</para>
  57. </listitem>
  58. </itemizedlist>
  59. <para>To download all of the packages and patches by using
  60. <ulink url="../wget-list">wget-list</ulink> as an input to the
  61. <command>wget</command> command, use:</para>
  62. <screen role="nodump"><userinput>wget --input-file=wget-list --continue --directory-prefix=$LFS/sources</userinput></screen>
  63. <para>Additionally, starting with LFS-7.0, there is a separate file,
  64. <ulink url="../md5sums">md5sums</ulink>, which can be used to verify that all
  65. the correct packages are available before proceeding. Place that file in
  66. <filename class="directory">$LFS/sources</filename> and run:</para>
  67. <screen role="nodump"><userinput>pushd $LFS/sources
  68. md5sum -c md5sums
  69. popd</userinput></screen>
  70. <para>This check can be used after retrieving the needed files with any of the
  71. methods listed above.</para>
  72. </sect1>