aboutsummaryrefslogtreecommitdiffstats
path: root/chapter04/creatingminlayout.xml
blob: cc640a4502ee08f1da96ea963120c3f682509e59 (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
<?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-tools-creatingminlayout">
  <?dbhtml filename="creatingminlayout.html"?>

  <title>Creating a limited directory layout in LFS filesystem</title>

  <para>The first task performed in the LFS partition is to create a limited
  directory hierarchy so that programs compiled in <xref
  linkend="chapter-temporary-tools"/> (as well as glibc and libstdc++ in <xref
  linkend="chapter-cross-tools"/>) may be installed in their final
  location. This is needed so that those temporary programs be overwritten
  when rebuilding them in <xref linkend="chapter-building-system"/>.</para>

  <para>Create the required directory layout by running the following as
  <systemitem class="username">root</systemitem>:</para>

<screen><userinput>mkdir -pv $LFS/{etc,var} $LFS/usr/{bin,lib,sbin}

for i in bin lib sbin; do
  ln -sv usr/$i $LFS/$i
done

case $(uname -m) in
  x86_64) mkdir -pv $LFS/lib64 ;;
esac</userinput></screen>

  <para>Programs in <xref linkend="chapter-temporary-tools"/> will be compiled
  with a cross-compiler (more details in section <xref
  linkend="ch-tools-toolchaintechnotes"/>). In order to separate this
  cross-compiler from the other programs, it will be installed in a special
  directory. Create this directory with:</para>

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

</sect1>