<?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>