summaryrefslogtreecommitdiff
path: root/lfs-12.0-sysv/partintro/generalinstructions.html
diff options
context:
space:
mode:
authorSn4il <sn4il@thedroth.rocks>2024-01-10 16:57:29 +0300
committerSn4il <sn4il@thedroth.rocks>2024-01-10 16:57:29 +0300
commitc4d43142181a45b849a15cf8ec5ebe61cea33897 (patch)
tree459a90d19e6f1ece81fbf364c1b5292214d99615 /lfs-12.0-sysv/partintro/generalinstructions.html
parenta044ba7b1561a513e33de0b7c1876aaa401a26d7 (diff)
downloadsn4il-site-c4d43142181a45b849a15cf8ec5ebe61cea33897.tar.gz
sn4il-site-c4d43142181a45b849a15cf8ec5ebe61cea33897.zip
LFS 12 mirror
Diffstat (limited to 'lfs-12.0-sysv/partintro/generalinstructions.html')
-rw-r--r--lfs-12.0-sysv/partintro/generalinstructions.html264
1 files changed, 264 insertions, 0 deletions
diff --git a/lfs-12.0-sysv/partintro/generalinstructions.html b/lfs-12.0-sysv/partintro/generalinstructions.html
new file mode 100644
index 0000000..bdef636
--- /dev/null
+++ b/lfs-12.0-sysv/partintro/generalinstructions.html
@@ -0,0 +1,264 @@
+<!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 V1.79.1" />
+ <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.0">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.0
+ </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.0">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <div class="sect1" lang="en" xml:lang="en">
+ <h1 class="sect1">
+ <a id="ch-tools-generalinstructions" name=
+ "ch-tools-generalinstructions"></a>iii. Общие инструкции по
+ компиляции
+ </h1>
+ <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. Сборка кросс-тулчейна">Глава&nbsp;5</a>
+ и <a class="xref" href=
+ "../chapter06/chapter06.html" title=
+ "Глава 6. Кросс-Компиляция временных инструментов">
+ Глава&nbsp;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.0">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>