source: chapter04/creatingminlayout.xml@ b697c87

multilib
Last change on this file since b697c87 was b1c68c7, checked in by Thomas Trepl <thomas@…>, 19 months ago

Automatic merge of trunk into multilib

  • Property mode set to 100644
File size: 2.6 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
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
26for i in bin lib sbin; do
27 ln -sv usr/$i $LFS/$i
28done
29
30case $(uname -m) in
31 x86_64) mkdir -pv $LFS/lib64 ;;
32esac</userinput></screen>
33<screen arch="ml_32"><userinput>mkdir -pv $LFS/usr/lib32
34ln -sv usr/lib32 $LFS/lib32</userinput></screen>
35<screen arch="ml_x32"><userinput>mkdir -pv $LFS/usr/libx32
36ln -sv usr/libx32 $LFS/libx32</userinput></screen>
37<screen arch="ml_all"><userinput>mkdir -pv $LFS/usr/lib{,x}32
38ln -sv usr/lib32 $LFS/lib32
39ln -sv usr/libx32 $LFS/libx32</userinput></screen>
40
41 <para>Programs in <xref linkend="chapter-temporary-tools"/> will be compiled
42 with a cross-compiler (more details can be found in section <xref
43 linkend="ch-tools-toolchaintechnotes"/>). This cross-compiler will be installed
44 in a special directory, to separate it from the other programs. Still acting as
45 &root;, create that directory with this command:</para>
46
47<screen><userinput>mkdir -pv $LFS/tools</userinput></screen>
48
49 <note>
50 <para>
51 The LFS editors have deliberately decided not to use a
52 <filename class="directory">/usr/lib64</filename> directory. Several
53 steps are taken to be sure the toolchain will not use it. If for any
54 reason this directory appears (either because you made an error in
55 following the instructions, or because you installed a binary package that
56 created it after finishing LFS), it may break your system.
57 You should always be sure this directory does not exist.
58 </para>
59 </note>
60
61</sect1>
Note: See TracBrowser for help on using the repository browser.