introduction.xml 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
  3. <!ENTITY % general-entities SYSTEM "../general.ent">
  4. %general-entities;
  5. ]>
  6. <sect1 id="ch-tools-introduction">
  7. <title>Introduction</title>
  8. <?dbhtml filename="introduction.html"?>
  9. <para>In this chapter we will compile and install a minimal
  10. Linux system. This system will contain just enough tools to be able
  11. to start constructing the final LFS system in the next chapter and allow
  12. a working environment with a little more user convenience than a minimum
  13. environment.</para>
  14. <para>The building of this minimal system is done in two steps: first we
  15. build a brand-new and host-independent toolchain (compiler, assembler,
  16. linker, libraries, and a few useful utilities), and then use this to build all the other essential
  17. tools.</para>
  18. <para>The files compiled in this chapter will be installed under the
  19. <filename class="directory">$LFS/tools</filename> directory
  20. to keep them separate from the files installed in the next chapter and your host's production directories.
  21. Since the packages compiled here are merely temporary, we don't want
  22. them to pollute the soon-to-be LFS system.</para>
  23. <para>Before issuing the build instructions for a package, you are expected to
  24. have already unpacked it (explained shortly) as user <emphasis>lfs</emphasis>,
  25. and to have performed a <userinput>cd</userinput> into the created directory.
  26. The build instructions assume that you are using the <command>bash</command>
  27. shell.</para>
  28. <para>Several of the packages are patched before compilation, but only when
  29. the patch is needed to circumvent a problem. Often the patch is needed in
  30. both this and the next chapter, but sometimes in only one of them. Therefore,
  31. don't worry when instructions for a downloaded patch seem to be missing. Also,
  32. when applying a patch, you'll occasionally see warning messages about
  33. <emphasis>offset</emphasis> or <emphasis>fuzz</emphasis>. These warnings are
  34. nothing to worry about, as the patch was still successfully applied.</para>
  35. <para>During the compilation of most packages you will see many warnings
  36. scroll by on your screen. These are normal and can safely be ignored. They are
  37. just what they say they are: warnings -- mostly about deprecated, but not
  38. invalid, use of the C or C++ syntax. It's just that C standards have changed
  39. rather often and some packages still use the older standard, which is not
  40. really a problem.</para>
  41. <para>After installing each package you should delete its source and build
  42. directories, <emphasis>unless</emphasis> told otherwise. Deleting the sources
  43. saves space, but also prevents mis-configuration when the same package is
  44. reinstalled further on. Only for three packages you will need to keep the
  45. source and build directories around for a while, so their contents can be used
  46. by later commands. Do not miss the reminders.</para>
  47. <para>Now first check that your LFS environment variable is set up
  48. properly:</para>
  49. <screen><userinput>echo $LFS</userinput></screen>
  50. <para>Make sure the output shows the path to your LFS partition's mount
  51. point, which is <filename class="directory">/mnt/lfs</filename> if you
  52. followed our example.</para>
  53. </sect1>