<?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> <screen arch="ml_32"><userinput>mkdir -pv $LFS/usr/lib32 ln -sv usr/lib32 $LFS/lib32</userinput></screen> <screen arch="ml_x32"><userinput>mkdir -pv $LFS/usr/libx32 ln -sv usr/libx32 $LFS/libx32</userinput></screen> <screen arch="ml_all"><userinput>mkdir -pv $LFS/usr/lib{,x}32 ln -sv usr/lib32 $LFS/lib32 ln -sv usr/libx32 $LFS/libx32</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>