1.1. Как собрать LFS-систему

Система LFS будет построена с использованием уже установленного дистрибутива Linux (такого как Debian, Mandriva, Red Hat или Suse). Эта существующая Linux-система (хост) будет использована как отправная точка, предоставляющая необходимые программы - компилятор, компоновщик и оболочку - для сборки новой системы. Выберите компонент «Разработка» при установке дистрибутива, чтобы иметь доступ к этим инструментам.

Вместо того, чтобы устанавливать отдельный дистрибутив на жесткий диск Вашего компьютера, Вы можете использовать LiveCD с дистрибутивом Linux.

Глава 2 этой книги описывает, как создать новый родной Linux-раздел и файловую систему на нем. Это место, где система LFS будет собрана и установлена. Глава 3 объясняет, какие пакеты и патчи необходимо загрузить, чтобы построить LFS-систему, и как сохранить их на новой файловой системе. Глава 4 рассказывает об установке правильного рабочего окружения. Пожалуйста, внимательно прочтите Глава 4, поскольку в ней говорится о нескольких важных моментах, кокторые Вам необходимо знать, прежде чем переходить к Глава 5 и далее.

Глава 5 описывает установку пакетов, формирующих базовую среду разработки (или набор инструментов), с помощью которых будет построена новая система в Глава 6. Некоторые из этих пакетов необходимы для разрешения циклических зависимостей—например, чтобы скомпилировать компилятор, Вам необходим компилятор.

Глава 5 также расскажет Вам о том, как начерновую установить инструментарий, включая Binutils и GCC (начерновую означает, что далее эти два ключевых пакета будут переустановлены). Следующим шагом будет сборка Glibc, библиотеки языка C. Glibc будет скомпилирована с помощью программ, собранных на предыдущем шаге. Затем инструментарий будет пересобран для того, чтобы связать его динамически с только что скомпилированной Glibc. Следующие пакеты в Глава 5 будут собраны с использованием этого инструментария. Когда это будет сделано, процесс сборки LFS больше не будет зависеть от хост-системы, исключая, конечно, запущенное ядро.

Усилия по тщательной изоляции новой системы от хост-дистрибутива могут показаться излишними. Полное техническое разъяснение причин, по которым это делается, представлены в Раздел 5.2, «Toolchain Technical Notes».

В Глава 6 система LFS будет полностью собрана. Команда chroot (change root, смена корня) будет использована для входа в виртуальное окружение и запуска новой оболочки, чьей корневой директорией будет установлен раздел LFS. Это очень похоже на перезагрузку и указание ядру использовать раздел LFS как корневой. Система не перезагружается, вместо этого используется chroot, так как создание загружаемой системы требует дополнительных усилий, которые на данном этапе не нужны. Главный плюс использования chroot - это то, что Вы можете спокойно продолжать пользоваться Вашей хост-системой, пока LFS собирается. Пока Вы ждете окончания компиляции пакета, Вы можете продолжать использовать Ваш компьютер как обычно.

Для завершения установки в Глава 7 будут установлены скрипты загрузки LFS-Bootscripts, а в Chapter 8 - ядро и загрузчик. Глава 9 содержит информацию по продолжению изучения LFS за пределами этой книги. После выполнения всех шагов, описанных здесь, компьютер наконец будет готов для перезагрузки в новую LFS-систему.

Это весь процесс в двух словах. Подробная информация о каждом шаге будет постепенно раскрываться в следующих главах и в описаниях пакетов. Вещи, кажущиеся сложными, будут подробно объяснены, и все будет раскладываться по полочкам по мере вашего погружения в увлекателное приключение LFS.