mirror of
https://github.com/Poltern/lfs-ru.git
synced 2024-10-18 20:00:21 +03:00
glibc: don't mention "/lib" as ld.so search path anymore
Don't use dummy.c for glibc sanity check in chap 5 grub: update description for grub-glue-efi python: supress "failed to check new pip version" or "a new pip version is available" warnings parition: mention EFI system partition Remove all non header files in linux headers groff: remove -j1 gcc-pass2: remove unnecessary --enable-initfini-array option
This commit is contained in:
parent
80b1ecadd2
commit
ea57126215
@ -110,7 +110,7 @@
|
|||||||
решение — приобретение большего объема оперативной памяти для вашей системы.</para> </sect3>
|
решение — приобретение большего объема оперативной памяти для вашей системы.</para> </sect3>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
<title>Радел GRUB</title>
|
<title>Раздел GRUB</title>
|
||||||
|
|
||||||
<para>Если <emphasis>загрузочный диск</emphasis> размечен с помощью
|
<para>Если <emphasis>загрузочный диск</emphasis> размечен с помощью
|
||||||
таблицы разделов GUID (GPT), необходимо создать небольшой раздел, обычно
|
таблицы разделов GUID (GPT), необходимо создать небольшой раздел, обычно
|
||||||
@ -142,9 +142,13 @@
|
|||||||
этот раздел первым физическим разделом на первом диске. Размер раздела в
|
этот раздел первым физическим разделом на первом диске. Размер раздела в
|
||||||
200 мегабайт вполне достаточен.</para></listitem>
|
200 мегабайт вполне достаточен.</para></listitem>
|
||||||
|
|
||||||
<listitem><para>/home – Настоятельно рекомендуется. Поделитесь своим
|
<listitem><para>/boot/efi – Системный раздел EFI, используемый для
|
||||||
домашним каталогом и пользовательской настройкой между несколькими
|
загрузки системы с помощью UEFI. Подробнее читайте на
|
||||||
дистрибутивами или сборками LFS. Размер, как правило, довольно большой
|
<ulink url="&blfs-book;postlfs/grub-setup.html">странице BLFS</ulink>.</para></listitem>
|
||||||
|
|
||||||
|
<listitem><para>/home – Настоятельно рекомендуется. Предоставьте общий
|
||||||
|
доступ к своему домашнему каталогу и пользовательским настройкам нескольким
|
||||||
|
дистрибутивам или сборкам LFS. Размер, как правило, довольно большой
|
||||||
и зависит от доступного места на диске.</para></listitem>
|
и зависит от доступного места на диске.</para></listitem>
|
||||||
|
|
||||||
<listitem><para>/usr – в LFS,
|
<listitem><para>/usr – в LFS,
|
||||||
|
@ -190,9 +190,8 @@ cd build</userinput></screen>
|
|||||||
(компиляция и компоновка) нового кросс-тулчейна работают должным образом.
|
(компиляция и компоновка) нового кросс-тулчейна работают должным образом.
|
||||||
Чтобы выполнить проверку работоспособности, выполните следующие команды:</para>
|
Чтобы выполнить проверку работоспособности, выполните следующие команды:</para>
|
||||||
|
|
||||||
<screen><userinput>echo 'int main(){}' > dummy.c
|
<screen><userinput>echo 'int main(){}' | gcc -xc -
|
||||||
$LFS_TGT-gcc dummy.c
|
readelf -l a.out | grep ld-linux</userinput></screen>
|
||||||
readelf -l a.out | grep '/ld-linux'</userinput></screen>
|
|
||||||
|
|
||||||
<para>Если все работает правильно, ошибок быть не должно, и вывод последней
|
<para>Если все работает правильно, ошибок быть не должно, и вывод последней
|
||||||
команды будет иметь вид:</para>
|
команды будет иметь вид:</para>
|
||||||
@ -206,9 +205,9 @@ readelf -l a.out | grep '/ld-linux'</userinput></screen>
|
|||||||
не было, значит, что-то не так. Разберитесь с проблемой и повторите шаги выше,
|
не было, значит, что-то не так. Разберитесь с проблемой и повторите шаги выше,
|
||||||
чтобы исправить ее. Эта проблема должна быть решена, прежде чем вы продолжите.</para>
|
чтобы исправить ее. Эта проблема должна быть решена, прежде чем вы продолжите.</para>
|
||||||
|
|
||||||
<para>Как только все будет хорошо, удалите тестовые файлы:</para>
|
<para>Как только все будет хорошо, удалите тестовый файл:</para>
|
||||||
|
|
||||||
<screen><userinput>rm -v dummy.c a.out</userinput></screen>
|
<screen><userinput>rm -v a.out</userinput></screen>
|
||||||
|
|
||||||
</caution>
|
</caution>
|
||||||
|
|
||||||
|
@ -58,8 +58,7 @@
|
|||||||
а затем копируются в нужное место.</para>
|
а затем копируются в нужное место.</para>
|
||||||
|
|
||||||
<screen><userinput remap="make">make headers
|
<screen><userinput remap="make">make headers
|
||||||
find usr/include -name '.*' -delete
|
find usr/include -type f ! -name '*.h' -delete
|
||||||
rm usr/include/Makefile
|
|
||||||
</userinput><userinput remap="install">cp -rv usr/include $LFS/usr</userinput></screen>
|
</userinput><userinput remap="install">cp -rv usr/include $LFS/usr</userinput></screen>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
@ -89,7 +89,6 @@ cd build</userinput></screen>
|
|||||||
LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc \
|
LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc \
|
||||||
--prefix=/usr \
|
--prefix=/usr \
|
||||||
--with-build-sysroot=$LFS \
|
--with-build-sysroot=$LFS \
|
||||||
--enable-initfini-array \
|
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
--disable-decimal-float \
|
--disable-decimal-float \
|
||||||
@ -142,15 +141,6 @@ cd build</userinput></screen>
|
|||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term><parameter>--enable-initfini-array</parameter></term>
|
|
||||||
<listitem>
|
|
||||||
<para>Эта опция включается автоматически при сборке собственного
|
|
||||||
компилятора с родным компилятором на x86. Но сейчас мы собираем с помощью
|
|
||||||
кросс-компилятора, поэтому нам нужно явно включить эту опцию.</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
|
||||||
<para>Скомпилируйте пакет:</para>
|
<para>Скомпилируйте пакет:</para>
|
||||||
|
@ -163,19 +163,16 @@ esac</userinput></screen>
|
|||||||
проходит, если в системе нет IP-адресов без замыкания на себя.</para> <!-- PR 24816 -->
|
проходит, если в системе нет IP-адресов без замыкания на себя.</para> <!-- PR 24816 -->
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
<!-- https://sourceware.org/pipermail/libc-alpha/2022-August/141567.html -->
|
||||||
|
<listitem>
|
||||||
|
<para>Известно что тест <emphasis>stdlib/tst-arc4random-thread</emphasis>
|
||||||
|
завершается неудачей, если ядро хоста относительно старое.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Некоторые тесты, например, <emphasis>nss/tst-nss-files-hosts-multi</emphasis> не
|
<para>Некоторые тесты, например, <emphasis>nss/tst-nss-files-hosts-multi</emphasis> не
|
||||||
работают на относительно медленных системах из-за внутреннего тайм-аута.</para>
|
работают на относительно медленных системах из-за внутреннего тайм-аута.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<!--
|
|
||||||
https://lists.linuxfromscratch.org/sympa/arc/lfs-support/2022-06/msg00022.html
|
|
||||||
https://sourceware.org/pipermail/libc-alpha/2022-June/139839.html
|
|
||||||
-->
|
|
||||||
<listitem>
|
|
||||||
<para>Известно, что около 27 тестов, например <emphasis>elf/tst-pldd</emphasis>,
|
|
||||||
завершаются неудачей, если ядро поддерживает пространства имен (подробнее см.
|
|
||||||
<filename>namespaces(7)</filename>), но хост-дистрибутив отключил их через sysctl.</para>
|
|
||||||
</listitem>
|
|
||||||
<!--
|
<!--
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>The <emphasis>rt/tst-cputimer{1,2,3}</emphasis> tests depend on
|
<para>The <emphasis>rt/tst-cputimer{1,2,3}</emphasis> tests depend on
|
||||||
@ -430,13 +427,12 @@ unset ZONEINFO</userinput></screen>
|
|||||||
<primary sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary>
|
<primary sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
|
|
||||||
<para>По умолчанию, во время работы программы динамический загрузчик (<filename
|
<para>По умолчанию, динамический загрузчик (<filename
|
||||||
class="libraryfile">/lib/ld-linux.so.2</filename>) ищет нужные библиотеки
|
class="libraryfile">/lib/ld-linux.so.2</filename>) ищет
|
||||||
в каталогах <filename class="directory">/lib</filename>
|
в каталоге <filename class="directory">/usr/lib</filename>, нужные для работы программ
|
||||||
и <filename class="directory">/usr/lib</filename>. Если библиотека находится в другом
|
библиотеки. Однако, если библиотеки находятся в другом
|
||||||
каталоге, то его необходимо указать в файле <filename>/etc/ld.so.conf</filename>, чтобы
|
каталоге, то его необходимо указать в файле <filename>/etc/ld.so.conf</filename>, чтобы
|
||||||
динамический загрузчик смог найти библиотеку.
|
динамический загрузчик мог их найти. Два каталога - <filename
|
||||||
Два каталога - <filename
|
|
||||||
class="directory">/usr/local/lib</filename> и <filename
|
class="directory">/usr/local/lib</filename> и <filename
|
||||||
class="directory">/opt/lib</filename> часто используются для дополнительных библиотек,
|
class="directory">/opt/lib</filename> часто используются для дополнительных библиотек,
|
||||||
поэтому добавьте их в пути поиска для динамического загрузчика.</para>
|
поэтому добавьте их в пути поиска для динамического загрузчика.</para>
|
||||||
|
@ -51,9 +51,9 @@
|
|||||||
|
|
||||||
<screen><userinput remap="configure">PAGE=<replaceable><paper_size></replaceable> ./configure --prefix=/usr</userinput></screen>
|
<screen><userinput remap="configure">PAGE=<replaceable><paper_size></replaceable> ./configure --prefix=/usr</userinput></screen>
|
||||||
|
|
||||||
<para>Этот пакет не поддерживает параллельную сборку. Скомпилируйте пакет:</para>
|
<para>Скомпилируйте пакет:</para>
|
||||||
|
|
||||||
<screen><userinput remap="make">make -j1</userinput></screen>
|
<screen><userinput remap="make">make</userinput></screen>
|
||||||
|
|
||||||
<para>С этим пакетом не поставляется набор тестов.</para>
|
<para>С этим пакетом не поставляется набор тестов.</para>
|
||||||
|
|
||||||
|
@ -168,7 +168,7 @@ mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions</userin
|
|||||||
<varlistentry id="grub-glue-efi">
|
<varlistentry id="grub-glue-efi">
|
||||||
<term><command>grub-glue-efi</command></term>
|
<term><command>grub-glue-efi</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Объединяет образы EFI ia32 и amd64 в один универсальный в формате Apple</para>
|
<para>Объединяет 32-битный и 64-битный бинарники в универсальный в формате Apple</para>
|
||||||
<indexterm zone="ch-system-grub grub-glue-efi">
|
<indexterm zone="ch-system-grub grub-glue-efi">
|
||||||
<primary sortas="b-grub-glue-efi">grub-glue-efi</primary>
|
<primary sortas="b-grub-glue-efi">grub-glue-efi</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
|
@ -100,11 +100,20 @@
|
|||||||
<systemitem class='username'>root</systemitem> появляется многострочное предупреждение.
|
<systemitem class='username'>root</systemitem> появляется многострочное предупреждение.
|
||||||
Основная причина этой рекомендации — избежать конфликта с системным менеджером пакетов
|
Основная причина этой рекомендации — избежать конфликта с системным менеджером пакетов
|
||||||
(например, <command>dpkg</command>), но в LFS нет общесистемного менеджера пакетов,
|
(например, <command>dpkg</command>), но в LFS нет общесистемного менеджера пакетов,
|
||||||
так что это не проблема. По желанию отключите это предупреждение, выполнив следующие команды:</para>
|
так что это не проблема. pip3 будет пытаться проверять наличие новой версии при каждом
|
||||||
|
запуске. Поскольку разрешение доменных имен в среде chroot LFS еще не настроено, он не
|
||||||
|
сможет проверить наличие новой версии и выдаст предупреждение. Как только мы загрузим
|
||||||
|
систему LFS и настроим сетевое подключение, pip3 выдаст предупреждение, сообщающее пользователю
|
||||||
|
о необходимости обновить его с помощью предварительно собранного whl-файла в PyPI.
|
||||||
|
Согласно LFS, pip3 является частью Python3, поэтому его не следует обновлять отдельно,
|
||||||
|
кроме того, обновление из whl-файла не соответствует цели проекта — собрать систему Linux
|
||||||
|
из исходного кода, поэтому предупреждение о новой версии pip3 следует игнорировать. По
|
||||||
|
желанию отключите это предупреждение, выполнив следующие команды:</para>
|
||||||
|
|
||||||
<screen><userinput remap="install">cat > /etc/pip.conf << EOF
|
<screen><userinput remap="install">cat > /etc/pip.conf << EOF
|
||||||
[global]
|
[global]
|
||||||
root-user-action = ignore
|
root-user-action = ignore
|
||||||
|
disable-pip-version-check = true
|
||||||
EOF
|
EOF
|
||||||
</userinput></screen>
|
</userinput></screen>
|
||||||
<!--
|
<!--
|
||||||
|
Loading…
Reference in New Issue
Block a user