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:
Vladimir Pertsev 2022-09-06 23:32:38 +05:00
parent 80b1ecadd2
commit ea57126215
8 changed files with 37 additions and 40 deletions

View File

@ -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 &ndash; Настоятельно рекомендуется. Поделитесь своим <listitem><para>/boot/efi &ndash; Системный раздел EFI, используемый для
домашним каталогом и пользовательской настройкой между несколькими загрузки системы с помощью UEFI. Подробнее читайте на
дистрибутивами или сборками LFS. Размер, как правило, довольно большой <ulink url="&blfs-book;postlfs/grub-setup.html">странице BLFS</ulink>.</para></listitem>
<listitem><para>/home &ndash; Настоятельно рекомендуется. Предоставьте общий
доступ к своему домашнему каталогу и пользовательским настройкам нескольким
дистрибутивам или сборкам LFS. Размер, как правило, довольно большой
и зависит от доступного места на диске.</para></listitem> и зависит от доступного места на диске.</para></listitem>
<listitem><para>/usr &ndash; в LFS, <listitem><para>/usr &ndash; в LFS,

View File

@ -190,9 +190,8 @@ cd build</userinput></screen>
(компиляция и компоновка) нового кросс-тулчейна работают должным образом. (компиляция и компоновка) нового кросс-тулчейна работают должным образом.
Чтобы выполнить проверку работоспособности, выполните следующие команды:</para> Чтобы выполнить проверку работоспособности, выполните следующие команды:</para>
<screen><userinput>echo 'int main(){}' &gt; 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>

View File

@ -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>

View File

@ -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>

View File

@ -163,20 +163,17 @@ 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
the host system kernel. Kernels 4.14.91&ndash;4.14.96, the host system kernel. Kernels 4.14.91&ndash;4.14.96,
@ -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>

View File

@ -51,9 +51,9 @@
<screen><userinput remap="configure">PAGE=<replaceable>&lt;paper_size&gt;</replaceable> ./configure --prefix=/usr</userinput></screen> <screen><userinput remap="configure">PAGE=<replaceable>&lt;paper_size&gt;</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>

View File

@ -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>

View File

@ -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 &gt; /etc/pip.conf &lt;&lt; EOF <screen><userinput remap="install">cat &gt; /etc/pip.conf &lt;&lt; EOF
[global] [global]
root-user-action = ignore root-user-action = ignore
disable-pip-version-check = true
EOF EOF
</userinput></screen> </userinput></screen>
<!-- <!--