Библиотека сайта rus-linux.net
1. Вступление
Мы собираемся собрать LFS-систему, используя ранее установленный дистрибутив Linux ( такой как Debian, Mandrake, Red Hat или SuSE). Эта существующая Linux система (основа) будет использована, как отправная точка, потому что вам будут необходимы некоторые программы, такие как компилятор, компоновщик (линкер) и командный интерпритатор (шелл) для сборки системы. Обычно все перечисленные средства доступны, если при установке дистрибутива вы отметили пункт "разработка"
Глава 2 этой книги описывает процесс создания нового раздела Linux native и файловой системы - места, где будет компилироваться и устанавливаться LFS система. Глава 3 описывает, какие пакеты и патчи должны быть скачаны для сборки LFS системы и как сохранить их на новой файловой системе. Глава 4 обсуждает установки для предпочтительного рабочего окружения. Пожалуйста, прочтите Главу 4 внимательно, так как она объясняет некоторые полезные вещи, которые разработчик должен знать перед началом работы с Главой 5 и последующими.
Глава 5 описывает установку ряда пакетов, которые составят среду разработки (или инструментальные средства), с помощию которой мы соберем систему в Главе 6. Некоторые из этих пакетов являются рекурсивно зависимыми - к примеру, компилятору для компиляции нужен компилятор.
Глава 5 также показывает пользователю, как собрать первый шаг инструментальных средств: Binutils и GCC. Программы из этих пакетов будут скомпонованы статически для того, чтобы обеспечить независимость при их использовании от основной системы. После этого мы соберем Glibc, библиотеку C. Glibc будет скомпилирована с использованием средств, собраных ранее. Затем мы соберем средства снова. На этот раз наши средства будут динамически скомпонованы с использованием только что собранной Glibc. Все остальные пакеты из Главы 5 будут собраны с использованием новых средств и динамически скомпонованы с использованием новой независимой от основной системы Glibc. Когда мы все сделаем, дальнейший процесс установки LFS не будет более зависеть от основного дистрибутива и запущеного ядра.
В течении этого процесса вы можете подумать, что это большая работа и почему нам надо обязательно не зависеть от основного дистрибутива? Техническое описание ответа на этот вопрос содержится в самом начале Главы 5, включая описание разницы между статически и динамически скомпоноваными программами.
В Главе 6 ваша система LFS будет собрана. С помощью программы chroot (change root) мы войдем в виртуальную среду и запустим интерпритатор shell с использованием в качестве корневой директории раздела LFS. Это намного проще перезагрузки и указаний для ядра использовать раздел LFS в качестве корневого. Помимо этого, чтобы перезагрузится, а не использовать chroot, надо создать полностью способную к загрузке систему, что мы еще не сделали к этому времени. Но главная причина использования “chroot” - это возможность использовать основную систему во время сборки LFS. Пока идет компиляция, вы можете просто переключится на другую виртуальную консоль или на X-ы (графическую среду) и продолжить нормальное использование компьютера.
В заключение установки мы установим загрузочные скрипты в Главе 7, а ядро и загрузчик мы установим в Главе 8. Глава 9 содержит некоторые моменты, которые могут вам помочь по окончании прочтения книги. В конце концов вы будете готовы перезагрузить компьютер в вашу новую LFS-систему.
Это общее описание процесса. Более детальная информация содержится в соответствующих главах и описаниях пакетов. Пункты, которые могут казаться сложными, будут разъяснены и все станет на свои места.