Вступление

В этой главе мы скомпилируем и установим минимальную систему Linux. Эта система будет использоваться для построения конечной LFS системы в следующей главе.

Сборка этой минимальной системы будет проходить в два этапа: сначала мы соберем независящие от основной системы средства (компилятор, ассемблер, компоновщик и библиотеки), а потом используем их для сборки других средств.

Файлы, компилируемые в этой главе, устанавливаются в директорию $LFS/tools для отделения их от файлов, устанавливаемых в следующей главе. Эти пакеты просто временные, мы не будем засорять ими нашу конечную LFS систему.

Ключевым для понимания работы Linux системы является знание того, какие пакеты используются и для чего они нужны системе. Из этих соображений мы даем краткие содержание и описание пакетов перед инструкциями по их установке. Для кораткого описания програм, входящих в пакет, обратитесь к Приложению A.

Инструкции по сборке подразумевают, что вы используете интерпритатор командной строки bash. Также считается, что вы уже распаковали исходники перешли с помощью команды cd в директорию с ними перед использованием команд.

Некоторые пакеты необходимо пропатчить перед компиляцией, но только когда это необходимо для решения тех или иных проблем. Часто патчи нужно применять в обеих главах (этой и следующей), но некоторые необходимы только в одной из глав. Поэтому не беспокойтесь, если не найдете инструкций по нгаложению некоторых скачаных патчей в этой главе.

В процессе установки многих пакетов вы увидите сообщения о предупреждениях (warning) на экране. Это нормально и вы можете не обращать на них внимания. Все что они говорят  - внимание, есть неточность, но не ошибка, в коде C или C++. Это из-за того, что меняются стандарты на язык C, а некоторые пакеты написаны в соответствии со старыми стандартами, а это не представляет проблемы для компилятора.

Если не сказано обратное, то вы можете спокойно удалить директории с исходниками и файлами сборки пакетов - в целях экономии дискового пространства.

Перед тем как продолжить, убедитесь, что переменная окружения LFS задана корректно выполнением команды:

echo $LFS

Вывод должен указывать на точку монтирования раздела LFS, мы используем /mnt/lfs в качестве примера.