2022-05-17 22:45:03 +03:00
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<!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>Создание ограниченной иерархии папок в файловой системе LFS</title>
|
|
|
|
|
|
2023-06-26 21:32:36 +03:00
|
|
|
|
<para>В этом разделе мы начинаем заполнять файловую систему LFS элементами, которые
|
|
|
|
|
будут основой конечной системы Linux. Первым шагом является создание ограниченной
|
2022-05-21 23:04:03 +03:00
|
|
|
|
иерархии каталогов, чтобы программы, скомпилированные в <xref
|
2022-05-17 22:45:03 +03:00
|
|
|
|
linkend="chapter-temporary-tools"/> (а также glibc и libstdc++ в <xref
|
2022-05-21 23:04:03 +03:00
|
|
|
|
linkend="chapter-cross-tools"/>), могли быть установлены в их конечном расположении.
|
2023-06-26 21:32:36 +03:00
|
|
|
|
Это необходимо для того, чтобы эти временные программы были перезаписаны при сборке
|
|
|
|
|
окончательных версий в <xref linkend="chapter-building-system"/>.</para>
|
2022-05-17 22:45:03 +03:00
|
|
|
|
|
|
|
|
|
<para>Создайте необходимую иерархию каталогов, выполнив следующую команду от имени
|
|
|
|
|
<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>
|
2023-09-11 17:37:23 +03:00
|
|
|
|
<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>
|
2022-05-17 22:45:03 +03:00
|
|
|
|
|
|
|
|
|
<para>Программы в <xref linkend="chapter-temporary-tools"/> будут скомпилированы
|
|
|
|
|
с помощью кросс-компилятора (более подробная информация приведена в разделе <xref
|
|
|
|
|
linkend="ch-tools-toolchaintechnotes"/>). Чтобы отделить кросс-компилятор от других
|
|
|
|
|
программ, он будет установлен в специальный каталог. Создайте этот каталог с
|
2023-06-26 21:32:36 +03:00
|
|
|
|
помощью следующей команды:</para>
|
2022-05-17 22:45:03 +03:00
|
|
|
|
|
|
|
|
|
<screen><userinput>mkdir -pv $LFS/tools</userinput></screen>
|
|
|
|
|
|
2023-06-26 21:32:36 +03:00
|
|
|
|
<note>
|
|
|
|
|
<para>
|
|
|
|
|
Редакторы LFS намеренно решили не использовать каталог
|
|
|
|
|
<filename class="directory">/usr/lib64</filename>. В процессе сборки предпринимается
|
|
|
|
|
ряд шагов, чтобы убедиться, что набор инструментов не будет его использовать. Если
|
|
|
|
|
по какой-либо причине этот каталог появится (это может произойти, если вы допустили
|
|
|
|
|
ошибку, следуя инструкциям, или потому что вы установили бинарный пакет, создавший
|
|
|
|
|
его после сборки LFS), это может привести к поломке вашей системы. Вы должны быть
|
|
|
|
|
уверены, что этого каталога не существует.
|
|
|
|
|
</para>
|
|
|
|
|
</note>
|
|
|
|
|
|
2022-05-17 22:45:03 +03:00
|
|
|
|
</sect1>
|