aboutsummaryrefslogtreecommitdiffstats
path: root/chapter02/aboutlfs.xml
blob: 85ffd5b57977547e005bba2fea9311ea41f0aa73 (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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>

<sect1 id="ch-partitioning-aboutlfs">
  <?dbhtml filename="aboutlfs.html"?>

  <title>Setting The $LFS Variable</title>

  <para>Throughout this book, the environment variable <envar>LFS</envar> will
  be used several times. You should ensure that this variable is always defined
  throughout the LFS build process. It should be set to the name of the
  directory where you will be building your LFS system - we will use
  <filename class="directory">/mnt/lfs</filename> as an example, but you may
  choose any directory name you want. If you are building LFS on a separate
  partition, this directory will be the mount point for the partition.
  Choose a directory location and set the variable with the
  following command:</para>

<screen role="nodump"><userinput>export LFS=<replaceable>/mnt/lfs</replaceable></userinput></screen>

  <para>Having this variable set is beneficial in that commands such as
  <command>mkdir -v $LFS/tools</command> can be typed literally. The shell
  will automatically replace <quote>$LFS</quote> with
  <quote>/mnt/lfs</quote> (or whatever value the variable was set to) when it
  processes the command line.</para>

  <caution>
  <para>Do not forget to check that <envar>LFS</envar> is set whenever
  you leave and reenter the current working environment (such as when doing a
  <command>su</command> to <systemitem class="username">root</systemitem> or
  another user). Check that the <envar>LFS</envar> variable is set up
  properly with:</para>

<screen role="nodump"><userinput>echo $LFS</userinput></screen>

  <para>Make sure the output shows the path to your LFS system's build
  location, which is <filename class="directory">/mnt/lfs</filename> if the
  provided example was followed. If the output is incorrect, use the command
  given earlier on this  page to set <envar>$LFS</envar> to the correct
  directory name.</para>
  </caution>

  <note><para>One way to ensure that the <envar>LFS</envar> variable is always
  set is to edit the <filename>.bash_profile</filename> file in both your
  personal home directory and in  <filename>/root/.bash_profile</filename> and
  enter the export command above.  In addition, the shell specified in the
  <filename>/etc/passwd</filename> file for all users that need the
  <envar>LFS</envar> variable must be bash to ensure that the
  <filename>/root/.bash_profile</filename> file is incorporated as a part of
  the login process.</para>

  <para>Another consideration is the method that is used to log into the
  host system.  If logging in through a graphical display manager, the
  user's <filename>.bash_profile</filename> is not normally used when
  a virtual terminal is started.  In this case, add the export command to
  the <filename>.bashrc</filename> file for the user and
  <systemitem class="username">root</systemitem>.  In addition,
  some distributions use an "if" test, and do not run the remaining <filename>.bashrc</filename>
  instructions for a non-interactive bash invocation.  Be sure to place the
  export command ahead of the test for non-interactive use.</para>

  </note>

</sect1>