1 | <?xml version="1.0" encoding="UTF-8"?>
|
---|
2 | <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
---|
3 | "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
---|
4 | <!ENTITY % general-entities SYSTEM "../general.ent">
|
---|
5 | %general-entities;
|
---|
6 | ]>
|
---|
7 |
|
---|
8 | <sect1 id="ch-tools-creatingminlayout">
|
---|
9 | <?dbhtml filename="creatingminlayout.html"?>
|
---|
10 |
|
---|
11 | <title>Creating a Limited Directory Layout in the LFS Filesystem</title>
|
---|
12 |
|
---|
13 | <para>In this section, we begin populating the LFS filesystem with the
|
---|
14 | pieces that will constitute the final Linux system. The first step is to
|
---|
15 | create a limited directory hierarchy, so that the programs compiled in <xref
|
---|
16 | linkend="chapter-temporary-tools"/> (as well as glibc and libstdc++ in <xref
|
---|
17 | linkend="chapter-cross-tools"/>) can be installed in their final
|
---|
18 | location. We do this so those temporary programs will be overwritten when
|
---|
19 | the final versions are built in <xref linkend="chapter-building-system"/>.</para>
|
---|
20 |
|
---|
21 | <para>Create the required directory layout by issuing the following commands as
|
---|
22 | <systemitem class="username">root</systemitem>:</para>
|
---|
23 |
|
---|
24 | <screen><userinput>mkdir -pv $LFS/{etc,var} $LFS/usr/{bin,lib,sbin}
|
---|
25 |
|
---|
26 | for i in bin lib sbin; do
|
---|
27 | ln -sv usr/$i $LFS/$i
|
---|
28 | done
|
---|
29 |
|
---|
30 | case $(uname -m) in
|
---|
31 | x86_64) mkdir -pv $LFS/lib64 ;;
|
---|
32 | esac</userinput></screen>
|
---|
33 |
|
---|
34 | <para>Programs in <xref linkend="chapter-temporary-tools"/> will be compiled
|
---|
35 | with a cross-compiler (more details can be found in section <xref
|
---|
36 | linkend="ch-tools-toolchaintechnotes"/>). This cross-compiler will be installed
|
---|
37 | in a special directory, to separate it from the other programs. Still acting as
|
---|
38 | &root;, create that directory with this command:</para>
|
---|
39 |
|
---|
40 | <screen><userinput>mkdir -pv $LFS/tools</userinput></screen>
|
---|
41 |
|
---|
42 | <note>
|
---|
43 | <para>
|
---|
44 | The LFS editors have deliberately decided not to use a
|
---|
45 | <filename class="directory">/usr/lib64</filename> directory. Several
|
---|
46 | steps are taken to be sure the toolchain will not use it. If for any
|
---|
47 | reason this directory appears (either because you made an error in
|
---|
48 | following the instructions, or because you installed a binary package that
|
---|
49 | created it after finishing LFS), it may break your system.
|
---|
50 | You should always be sure this directory does not exist.
|
---|
51 | </para>
|
---|
52 | </note>
|
---|
53 |
|
---|
54 | </sect1>
|
---|