introduction.xml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/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>This chapter shows how to compile and install a minimal Linux
  10. system. This system will contain just enough tools to start
  11. constructing the final LFS system in <xref
  12. linkend="chapter-building-system"/> and allow a working environment
  13. with more user convenience than a minimum environment would.</para>
  14. <para>There are two steps in building this minimal system. The first
  15. step is to build a new and host-independent toolchain (compiler,
  16. assembler, linker, libraries, and a few useful utilities). The second
  17. step uses this toolchain to build the other essential tools.</para>
  18. <para>The files compiled in this chapter will be installed under the
  19. <filename class="directory">$LFS/tools</filename> directory to keep
  20. them separate from the files installed in the next chapter and the
  21. host production directories. Since the packages compiled here are
  22. temporary, we do not want them to pollute the soon-to-be LFS
  23. system.</para>
  24. <important><para>Before issuing the build instructions for a package, the package
  25. should be unpacked as user <emphasis>lfs</emphasis>, and a
  26. <command>cd</command> into the created directory should be performed. The build
  27. instructions assume that the <command>bash</command> shell is in use.</para></important>
  28. <para>Several of the packages are patched before compilation, but only
  29. when the patch is needed to circumvent a problem. A patch is often
  30. needed in both this and the next chapter, but sometimes in only one or
  31. the other. Therefore, do not be concerned if instructions for a downloaded
  32. patch seem to be missing. Warning messages about
  33. <emphasis>offset</emphasis> or <emphasis>fuzz</emphasis> may
  34. also be encountered when applying a patch. Do not worry about these
  35. warnings, as the patch was still successfully applied.</para>
  36. <para>During the compilation of most packages, there will be several
  37. warnings that scroll by on the screen. These are normal and can safely
  38. be ignored. These warnings are as they appear&mdash;warnings about
  39. deprecated, but not invalid, use of the C or C++ syntax. C standards
  40. change fairly often, and some packages still use the older standard.
  41. This is not a problem, but does prompt the warning.</para>
  42. <important><para>After installing each package, delete its source and build
  43. directories, unless specifically instructed otherwise. Deleting the
  44. sources prevents mis-configuration when the same package is reinstalled later.
  45. Only three of the packages need to retain the source and build directories in
  46. order for their contents to be used by later commands. Pay special attention to
  47. these reminders.</para></important>
  48. <para>Check one last time that the <envar>LFS</envar> environment
  49. variable is set up properly:</para>
  50. <screen role="nodump"><userinput>echo $LFS</userinput></screen>
  51. <para>Make sure the output shows the path to the LFS partition's mount
  52. point, which is <filename class="directory">/mnt/lfs</filename>, using
  53. our example.</para>
  54. </sect1>