source: chapter04/creatingminlayout.xml@ dccba31

xry111/usr-move
Last change on this file since dccba31 was dccba31, checked in by Xi Ruoyao <xry111@…>, 7 months ago

usr-move: use a solid /lib64

The problem with /usr/lib64 is meson will attempt to use it if it
exists. Then we'll have to add --libdir everywhere in BLFS.

Instead, we'll keep /lib64 as a normal directory, since it only contains
two symlinks to ../lib.

  • Property mode set to 100644
File size: 2.0 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>The first task performed in the LFS partition is to create a limited
14 directory hierarchy so that programs compiled in <xref
15 linkend="chapter-temporary-tools"/> (as well as glibc and libstdc++ in <xref
16 linkend="chapter-cross-tools"/>) may be installed in their final
17 location. This is needed so that those temporary programs be overwritten
18 when rebuilding them in <xref linkend="chapter-building-system"/>.</para>
19
20 <para>Create the required directory layout by running the following as
21 <systemitem class="username">root</systemitem>:</para>
22
23<screen revision="sysv"><userinput>mkdir -pv $LFS/{etc,var} $LFS{/usr,}/{bin,lib,sbin}
24
25case $(uname -m) in
26 x86_64) mkdir -pv $LFS/lib64 ;;
27esac</userinput></screen>
28
29<screen revision="systemd"><userinput>mkdir -pv $LFS/{etc,var} $LFS/usr/{bin,lib,sbin}
30
31for i in bin lib sbin; do
32 ln -sv usr/$i $LFS/$i
33done
34
35case $(uname -m) in
36 x86_64) mkdir -pv $LFS/lib64 ;;
37esac</userinput></screen>
38
39 <note revision="systemd">
40 <para>
41 The above command is correct. The <command>ln</command> command has
42 a few syntactic versions, so be sure to check
43 <command>info coreutils ln</command> and <filename>ln(1)</filename>
44 before reporting what you may think is an error.
45 </para>
46 </note>
47
48 <para>Programs in <xref linkend="chapter-temporary-tools"/> will be compiled
49 with a cross-compiler (more details in section <xref
50 linkend="ch-tools-toolchaintechnotes"/>). In order to separate this
51 cross-compiler from the other programs, it will be installed in a special
52 directory. Create this directory with:</para>
53
54<screen><userinput>mkdir -pv $LFS/tools</userinput></screen>
55
56</sect1>
Note: See TracBrowser for help on using the repository browser.