source: chapter04/creatingminlayout.xml@ 295e337

11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 bdubbs/gcc13 multilib renodr/libudev-from-systemd trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/update-glibc
Last change on this file since 295e337 was 295e337, checked in by Pierre Labastie <pierre.labastie@…>, 17 months ago

Add note and warning about /usr/lib64

  • Property mode set to 100644
File size: 2.2 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 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
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 LFS editors have deliberately decided not to use a
45 <filename class="directory">/usr/lib64</filename> directory. Several
46 steps are taken so that the toolchain does 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 install a binary package that
49 creates it after finishing LFS), it may break the instructions given in
50 the book. You should often ensure that this directory is non-existent.
51 </para>
52 </note>
53
54</sect1>
Note: See TracBrowser for help on using the repository browser.