diff options
author | Sn4il <sn4il@thedroth.rocks> | 2024-09-02 15:54:35 +0300 |
---|---|---|
committer | Sn4il <sn4il@thedroth.rocks> | 2024-09-02 15:54:35 +0300 |
commit | 2203e654b389586650d553251b04544a34f189bf (patch) | |
tree | 0125b69fc70a2506c53158ba2020993a5b8985b7 /lfs-12.2-sysv/partintro/generalinstructions.html | |
parent | 200d528e55ca954d37769f4d143f10c9519b00e7 (diff) | |
download | sn4il-site-2203e654b389586650d553251b04544a34f189bf.tar.gz sn4il-site-2203e654b389586650d553251b04544a34f189bf.zip |
LFS 12.2
Diffstat (limited to 'lfs-12.2-sysv/partintro/generalinstructions.html')
-rw-r--r-- | lfs-12.2-sysv/partintro/generalinstructions.html | 281 |
1 files changed, 281 insertions, 0 deletions
diff --git a/lfs-12.2-sysv/partintro/generalinstructions.html b/lfs-12.2-sysv/partintro/generalinstructions.html new file mode 100644 index 0000000..02a6a96 --- /dev/null +++ b/lfs-12.2-sysv/partintro/generalinstructions.html @@ -0,0 +1,281 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + Общие инструкции по компиляции + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.2"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.2 + </h4> + <h3> + Важный предварительный материал + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="toolchaintechnotes.html" title= + "Технические примечания по сборочным инструментам">Пред.</a> + <p> + Технические примечания по сборочным инструментам + </p> + </li> + <li class="next"> + <a accesskey="n" href="../chapter05/chapter05.html" title= + "Сборка кросс-тулчейна">След.</a> + <p> + Сборка кросс-тулчейна + </p> + </li> + <li class="up"> + <a accesskey="u" href="partintro.html" title= + "Важный предварительный материал">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.2">Начало</a> + </li> + </ul> + </div> + <h1 class="sect1"> + <a id="ch-tools-generalinstructions" name= + "ch-tools-generalinstructions"></a>iii. Общие инструкции по компиляции + </h1> + <div class="sect1" lang="ru" xml:lang="ru"> + <div class="admon caution"> + <img alt="[Внимание]" src="../images/caution.png" /> + <h3> + Внимание + </h3> + <p> + В процессе разработки LFS инструкции в книге часто изменяются, + чтобы адаптироваться к обновлению пакета или использовать + преимущества новых функций из обновленных пакетов. Смешение + инструкций разных версий книги LFS может привести к незначительным + поломкам. Такого рода проблемы обычно являются результатом + повторного использования некоторых скриптов, созданных для + предыдущей версии LFS. Такое повторное использование настоятельно + не рекомендуется. Если вы по какой-либо причине повторно + используете скрипты из предыдущей версии LFS, вам нужно быть очень + осторожным при обновлении скриптов, чтобы они соответствовали + текущей версии книги LFS. + </p> + </div> + <p> + При сборке пакетов в инструкциях делается несколько допущений: + </p> + <div class="itemizedlist"> + <ul> + <li class="listitem"> + <p> + На некоторые пакеты необходимо наложить патчи перед + компиляцией, метод используется тогда, когда исправление + необходимо для решения проблем сборки. Патчи часто требуются + как в этой, так и в следующих главах, но иногда, когда один и + тот же пакет собирается более одного раза, патч требуется не + сразу. Поэтому не беспокойтесь, если инструкции для скачанного + патча отсутствуют. Предупреждающие сообщения о <span class= + "emphasis"><em>смещении (offset)</em></span> или <span class= + "emphasis"><em>размытии (fuzz)</em></span> также могут + появляться при применении патча. Не обращайте внимания на эти + предупреждения, патч все равно успешно применен. + </p> + </li> + <li class="listitem"> + <p> + Во время компиляции большинства пакетов на экране будут + отображаться предупреждения. Это нормально, и их можно смело + игнорировать. Предупреждения появляются, например, когда + используется устаревший, недопустимый синтаксис C или C++. + Стандарты C меняются довольно часто, и некоторые пакеты все еще + используют более старый стандарт. Это не является серьезной + проблемой, но вызывает появление предупреждений. + </p> + </li> + <li class="listitem"> + <p> + Проверьте в последний раз, что переменная среды <code class= + "envar">LFS</code> настроена правильно: + </p> + <pre class="userinput"><kbd class="command">echo $LFS</kbd></pre> + <p> + Убедитесь, что в выводе указан путь к точке монтирования + раздела LFS, то есть <code class="filename">/mnt/lfs</code>, + как в примере из этой книги. + </p> + </li> + <li class="listitem"> + <p> + Наконец, необходимо подчеркнуть два важных момента: + </p> + <div class="admon important"> + <img alt="[Важно]" src="../images/important.png" /> + <h3> + Важно + </h3> + <p> + Инструкции по сборке предполагают, что все <a class="xref" + href="../chapter02/hostreqs.html" title= + "2.2. Требования к хост-системе">Требования к + хост-системе</a>, включая символические ссылки, установлены + правильно: + </p> + <div class="itemizedlist"> + <ul> + <li class="listitem"> + <p> + <span class="command"><strong>bash</strong></span> это + используемая оболочка. + </p> + </li> + <li class="listitem"> + <p> + <span class="command"><strong>sh</strong></span> это + символическая ссылка на <span class= + "command"><strong>bash</strong></span>. + </p> + </li> + <li class="listitem"> + <p> + <span class= + "command"><strong>/usr/bin/awk</strong></span> это + символическая ссылка на <span class= + "command"><strong>gawk</strong></span>. + </p> + </li> + <li class="listitem"> + <p> + <span class= + "command"><strong>/usr/bin/yacc</strong></span> это + символическая ссылка на <span class= + "command"><strong>bison</strong></span> или небольшой + скрипт, который выполняет bison + </p> + </li> + </ul> + </div> + </div> + <div class="admon important"> + <img alt="[Важно]" src="../images/important.png" /> + <h3> + Важно + </h3> + <p> + Вот краткое описание процесса сборки: + </p> + <div class="orderedlist"> + <ol class="compact"> + <li class="listitem"> + <p> + Поместите все исходники и патчи в каталог, который + будет доступен из среды chroot, например, <code class= + "filename">/mnt/lfs/sources/</code>. + </p> + </li> + <li class="listitem"> + <p> + Перейдите в каталог <code class= + "filename">/mnt/lfs/sources/</code>. + </p> + </li> + <li class="listitem"> + <p> + <a id="buildinstr" name="buildinstr"></a>Для каждого + пакета: + </p> + <div class="orderedlist"> + <ol class="compact"> + <li class="listitem"> + <p> + С помощью программы <span class= + "command"><strong>tar</strong></span> извлеките + пакет для сборки. В <a class="xref" href= + "../chapter05/chapter05.html" title= + "Глава 5. Сборка кросс-тулчейна">Глава 5</a> + и <a class="xref" href= + "../chapter06/chapter06.html" title= + "Глава 6. Кросс-Компиляция временных инструментов"> + Глава 6</a> убедитесь, что при извлечении + пакета вы залогинены под пользователем lfs. + </p> + <p> + Не используйте никаких методов, кроме команды + <span class= + "command"><strong>tar</strong></span>, для + извлечения исходного кода. Примечательно, что + использование команды <span class= + "command"><strong>cp -R</strong></span> для + копирования дерева исходного кода в другое место + может привести к уничтожению меток времени в + дереве исходного кода и привести к сбою сборки. + </p> + </li> + <li class="listitem"> + <p> + Перейдите в каталог, созданный при извлечении + пакета. + </p> + </li> + <li class="listitem"> + <p> + Следуйте инструкциям по сборке пакета. + </p> + </li> + <li class="listitem"> + <p> + Вернитесь в исходный каталог, когда сборка будет + завершена. + </p> + </li> + <li class="listitem"> + <p> + Удалите извлеченный каталог, если не указано + иное. + </p> + </li> + </ol> + </div> + </li> + </ol> + </div> + </div> + </li> + </ul> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="toolchaintechnotes.html" title= + "Технические примечания по сборочным инструментам">Пред.</a> + <p> + Технические примечания по сборочным инструментам + </p> + </li> + <li class="next"> + <a accesskey="n" href="../chapter05/chapter05.html" title= + "Сборка кросс-тулчейна">След.</a> + <p> + Сборка кросс-тулчейна + </p> + </li> + <li class="up"> + <a accesskey="u" href="partintro.html" title= + "Важный предварительный материал">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.2">Начало</a> + </li> + </ul> + </div> + </body> +</html> |