creatingtoolsdir.xml 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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-creatingtoolsdir">
  7. <title>Creating the $LFS/tools directory</title>
  8. <?dbhtml filename="creatingtoolsdir.html"?>
  9. <para>All programs compiled in <xref linkend="chapter-temporary-tools"/> will be installed under <filename
  10. class="directory">$LFS/tools</filename> to keep them separate from the
  11. programs compiled in <xref linkend="chapter-temporary-tools"/>. The programs compiled here are only
  12. temporary tools and won't be a part of the final LFS system and by keeping them
  13. in a separate directory, we can later easily throw them away. This also
  14. helps prevent them from ending up in your host's production directories
  15. (easy to do in <xref linkend="chapter-temporary-tools"/>, which could be a very bad thing.</para>
  16. <para>Later on you might wish to search through the binaries of your system to
  17. see what files they make use of or link against. To make this searching easier
  18. you may want to choose a unique name for the directory in which the temporary
  19. tools are stored. Instead of the simple <quote>tools</quote> you could use
  20. something like <quote>tools-for-lfs</quote>. However, you'll need to be careful
  21. to adjust all references to <quote>tools</quote> throughout the book --
  22. including those in any patches, notably the GCC Specs Patch.</para>
  23. <para>Create the required directory by running the following:</para>
  24. <screen><userinput>mkdir $LFS/tools</userinput></screen>
  25. <para>The next step is to create a <filename>/tools</filename> symlink on
  26. your <emphasis>host</emphasis> system. It will point to the directory we just created on the LFS
  27. partition:</para>
  28. <screen><userinput>ln -s $LFS/tools /</userinput></screen>
  29. <note><para>The above command is correct. The <command>ln</command> command
  30. has a few syntactic variations, so be sure to check the info page before
  31. reporting what you may think is an error.</para></note>
  32. <para>The created symlink enables us to compile our toolchain so that it always
  33. refers to <filename>/tools</filename>, meaning that the compiler, assembler
  34. and linker will work both in this chapter (when we are still using some tools
  35. from the host) <emphasis>and</emphasis> in the next (when we are <quote>chrooted</quote> to
  36. the LFS partition).</para>
  37. </sect1>