mirror of
https://github.com/Poltern/lfs-ru.git
synced 2024-10-18 11:50: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>
|
||||
|
||||
<sect3>
|
||||
<title>Радел GRUB</title>
|
||||
<title>Раздел GRUB</title>
|
||||
|
||||
<para>Если <emphasis>загрузочный диск</emphasis> размечен с помощью
|
||||
таблицы разделов GUID (GPT), необходимо создать небольшой раздел, обычно
|
||||
@ -142,9 +142,13 @@
|
||||
этот раздел первым физическим разделом на первом диске. Размер раздела в
|
||||
200 мегабайт вполне достаточен.</para></listitem>
|
||||
|
||||
<listitem><para>/home – Настоятельно рекомендуется. Поделитесь своим
|
||||
домашним каталогом и пользовательской настройкой между несколькими
|
||||
дистрибутивами или сборками LFS. Размер, как правило, довольно большой
|
||||
<listitem><para>/boot/efi – Системный раздел EFI, используемый для
|
||||
загрузки системы с помощью UEFI. Подробнее читайте на
|
||||
<ulink url="&blfs-book;postlfs/grub-setup.html">странице BLFS</ulink>.</para></listitem>
|
||||
|
||||
<listitem><para>/home – Настоятельно рекомендуется. Предоставьте общий
|
||||
доступ к своему домашнему каталогу и пользовательским настройкам нескольким
|
||||
дистрибутивам или сборкам LFS. Размер, как правило, довольно большой
|
||||
и зависит от доступного места на диске.</para></listitem>
|
||||
|
||||
<listitem><para>/usr – в LFS,
|
||||
|
@ -190,9 +190,8 @@ cd build</userinput></screen>
|
||||
(компиляция и компоновка) нового кросс-тулчейна работают должным образом.
|
||||
Чтобы выполнить проверку работоспособности, выполните следующие команды:</para>
|
||||
|
||||
<screen><userinput>echo 'int main(){}' > dummy.c
|
||||
$LFS_TGT-gcc dummy.c
|
||||
readelf -l a.out | grep '/ld-linux'</userinput></screen>
|
||||
<screen><userinput>echo 'int main(){}' | gcc -xc -
|
||||
readelf -l a.out | grep ld-linux</userinput></screen>
|
||||
|
||||
<para>Если все работает правильно, ошибок быть не должно, и вывод последней
|
||||
команды будет иметь вид:</para>
|
||||
@ -206,9 +205,9 @@ readelf -l a.out | grep '/ld-linux'</userinput></screen>
|
||||
не было, значит, что-то не так. Разберитесь с проблемой и повторите шаги выше,
|
||||
чтобы исправить ее. Эта проблема должна быть решена, прежде чем вы продолжите.</para>
|
||||
|
||||
<para>Как только все будет хорошо, удалите тестовые файлы:</para>
|
||||
<para>Как только все будет хорошо, удалите тестовый файл:</para>
|
||||
|
||||
<screen><userinput>rm -v dummy.c a.out</userinput></screen>
|
||||
<screen><userinput>rm -v a.out</userinput></screen>
|
||||
|
||||
</caution>
|
||||
|
||||
|
@ -58,8 +58,7 @@
|
||||
а затем копируются в нужное место.</para>
|
||||
|
||||
<screen><userinput remap="make">make headers
|
||||
find usr/include -name '.*' -delete
|
||||
rm usr/include/Makefile
|
||||
find usr/include -type f ! -name '*.h' -delete
|
||||
</userinput><userinput remap="install">cp -rv usr/include $LFS/usr</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
@ -89,7 +89,6 @@ cd build</userinput></screen>
|
||||
LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc \
|
||||
--prefix=/usr \
|
||||
--with-build-sysroot=$LFS \
|
||||
--enable-initfini-array \
|
||||
--disable-nls \
|
||||
--disable-multilib \
|
||||
--disable-decimal-float \
|
||||
@ -142,15 +141,6 @@ cd build</userinput></screen>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--enable-initfini-array</parameter></term>
|
||||
<listitem>
|
||||
<para>Эта опция включается автоматически при сборке собственного
|
||||
компилятора с родным компилятором на x86. Но сейчас мы собираем с помощью
|
||||
кросс-компилятора, поэтому нам нужно явно включить эту опцию.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Скомпилируйте пакет:</para>
|
||||
|
@ -163,20 +163,17 @@ esac</userinput></screen>
|
||||
проходит, если в системе нет IP-адресов без замыкания на себя.</para> <!-- PR 24816 -->
|
||||
</listitem>
|
||||
|
||||
<!-- https://sourceware.org/pipermail/libc-alpha/2022-August/141567.html -->
|
||||
<listitem>
|
||||
<para>Известно что тест <emphasis>stdlib/tst-arc4random-thread</emphasis>
|
||||
завершается неудачей, если ядро хоста относительно старое.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Некоторые тесты, например, <emphasis>nss/tst-nss-files-hosts-multi</emphasis> не
|
||||
работают на относительно медленных системах из-за внутреннего тайм-аута.</para>
|
||||
</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>
|
||||
<para>The <emphasis>rt/tst-cputimer{1,2,3}</emphasis> tests depend on
|
||||
the host system kernel. Kernels 4.14.91–4.14.96,
|
||||
@ -430,13 +427,12 @@ unset ZONEINFO</userinput></screen>
|
||||
<primary sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary>
|
||||
</indexterm>
|
||||
|
||||
<para>По умолчанию, во время работы программы динамический загрузчик (<filename
|
||||
class="libraryfile">/lib/ld-linux.so.2</filename>) ищет нужные библиотеки
|
||||
в каталогах <filename class="directory">/lib</filename>
|
||||
и <filename class="directory">/usr/lib</filename>. Если библиотека находится в другом
|
||||
<para>По умолчанию, динамический загрузчик (<filename
|
||||
class="libraryfile">/lib/ld-linux.so.2</filename>) ищет
|
||||
в каталоге <filename class="directory">/usr/lib</filename>, нужные для работы программ
|
||||
библиотеки. Однако, если библиотеки находятся в другом
|
||||
каталоге, то его необходимо указать в файле <filename>/etc/ld.so.conf</filename>, чтобы
|
||||
динамический загрузчик смог найти библиотеку.
|
||||
Два каталога - <filename
|
||||
динамический загрузчик мог их найти. Два каталога - <filename
|
||||
class="directory">/usr/local/lib</filename> и <filename
|
||||
class="directory">/opt/lib</filename> часто используются для дополнительных библиотек,
|
||||
поэтому добавьте их в пути поиска для динамического загрузчика.</para>
|
||||
|
@ -51,9 +51,9 @@
|
||||
|
||||
<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>
|
||||
|
||||
|
@ -168,7 +168,7 @@ mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions</userin
|
||||
<varlistentry id="grub-glue-efi">
|
||||
<term><command>grub-glue-efi</command></term>
|
||||
<listitem>
|
||||
<para>Объединяет образы EFI ia32 и amd64 в один универсальный в формате Apple</para>
|
||||
<para>Объединяет 32-битный и 64-битный бинарники в универсальный в формате Apple</para>
|
||||
<indexterm zone="ch-system-grub grub-glue-efi">
|
||||
<primary sortas="b-grub-glue-efi">grub-glue-efi</primary>
|
||||
</indexterm>
|
||||
|
@ -100,11 +100,20 @@
|
||||
<systemitem class='username'>root</systemitem> появляется многострочное предупреждение.
|
||||
Основная причина этой рекомендации — избежать конфликта с системным менеджером пакетов
|
||||
(например, <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
|
||||
[global]
|
||||
root-user-action = ignore
|
||||
disable-pip-version-check = true
|
||||
EOF
|
||||
</userinput></screen>
|
||||
<!--
|
||||
|
Loading…
Reference in New Issue
Block a user