source: chapter04/creatingminlayout.xml@ a2434bd4

multilib
Last change on this file since a2434bd4 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
RevLine 
[6dfcfecc]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
[da6e70f]11 <title>Creating a Limited Directory Layout in the LFS Filesystem</title>
[6dfcfecc]12
[97f4747]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
[ceebda5]16 linkend="chapter-temporary-tools"/> (as well as glibc and libstdc++ in <xref
[2ed0e93]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>
[6dfcfecc]20
[2ed0e93]21 <para>Create the required directory layout by issuing the following commands as
[6dfcfecc]22 <systemitem class="username">root</systemitem>:</para>
23
[d7a9421]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
[6dfcfecc]30case $(uname -m) in
31 x86_64) mkdir -pv $LFS/lib64 ;;
32esac</userinput></screen>
[0ebda11]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>
[df462a9]37<screen arch="ml_all"><userinput>mkdir -pv $LFS/usr/lib{,x}32
[0ebda11]38ln -sv usr/lib32 $LFS/lib32
39ln -sv usr/libx32 $LFS/libx32</userinput></screen>
[efcb393]40
[6dfcfecc]41 <para>Programs in <xref linkend="chapter-temporary-tools"/> will be compiled
[2ed0e93]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>
[6dfcfecc]46
47<screen><userinput>mkdir -pv $LFS/tools</userinput></screen>
48
[295e337]49 <note>
50 <para>
[da6e70f]51 The LFS editors have deliberately decided not to use a
[295e337]52 <filename class="directory">/usr/lib64</filename> directory. Several
[da6e70f]53 steps are taken to be sure the toolchain will not use it. If for any
[295e337]54 reason this directory appears (either because you made an error in
[da6e70f]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.
[295e337]58 </para>
59 </note>
60
[6dfcfecc]61</sect1>
Note: See TracBrowser for help on using the repository browser.