aboutsummaryrefslogtreecommitdiffstats
path: root/chapter04/creatingtoolsdir.xml
blob: 15d1cbe4b3eb68f2522360cd9054a99bf1e97801 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>
<sect1 id="ch-tools-creatingtoolsdir">
<title>Creating the $LFS/tools Directory</title>
<?dbhtml filename="creatingtoolsdir.html"?>

<para>All programs compiled in <xref
linkend="chapter-temporary-tools"/> will be installed under <filename
class="directory">$LFS/tools</filename> to keep them separate from the
programs compiled in <xref linkend="chapter-building-system"/>. The
programs compiled here are temporary tools and will not be a part of
the final LFS system.  By keeping these programs in a separate
directory, they can easily be discarded later after their use. This
also prevents these programs from ending up in the host production
directories (easy to do by accident in <xref
linkend="chapter-temporary-tools"/>).</para>

<para>Create the required directory by running the following as
<emphasis>root</emphasis>:</para>

<screen><userinput>mkdir $LFS/tools</userinput></screen>

<para>The next step is to create a <filename class="symlink">/tools</filename> 
symlink on the host system.  This will point to the newly-created directory on
the LFS partition. Run this command as <emphasis>root</emphasis> as
well:</para>

<screen><userinput>ln -s $LFS/tools /</userinput></screen>

<note><para>The above command is correct. The <command>ln</command> command has
a few syntactic variations, so be sure to check <command>info coreutils ln</command> and
<filename>ln(1)</filename> before reporting what you may think is an
error.</para></note>

<para>The created symlink enables the toolchain to be compiled so that
it always refers to <filename class="directory">/tools</filename>,
meaning that the compiler, assembler, and linker will work both in
this chapter (when we are still using some tools from the host) and in
the next (when we are <quote>chrooted</quote> to the LFS
partition).</para>

</sect1>