Как мы будем работать

Мы собираемся собрать вашу LFS-систему, используя ранее установленный дистрибутив Linux ( такой как Debian, Mandrake, Red Hat или SuSE). Эта существующая Linux система (основа) будет использована как отправная точка, потому что вам будут необходимы некоторые программы, такие как компилятор, компоновщик (линкер) и командный интерпритатор (шелл) для сборки системы. Обычно все перечисленные средства доступны, если при установке дистрибутива вы отметили пункт "разработка" ("development").

В Главе 3 вы сначала создадите новый раздел Linux native и файловую систему, место для компиляции и установки LFS-системы. Затем в  Главе 4 вы скачаете все необходимые пакеты и патчи для LFS-системы и сохраните их в новой файловой системе.

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

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

Вы можете подумать: "это большая работа, почему нам надо обязательно не зависеть от основного дистрибутива?". Техническое описание ответа на этот вопрос содержится в самом начале Главы 5, включая описание разницы между статически и динамически скомпоноваными программами.

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

В заключение установки мы установим загрузочные скрипты в Главе 7, ядро и загрузчик мы установим в Главе 8, а Глава 9 содерхит некоторые моменты, которые могут вам помочь по окончании прочтения книги. В конце концов вы будете готовы перезагрузить компьютер в вашу новую LFS-систему.

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

Пожалуйста, прочтите Главу 2 внимательно, она содержит важную информацию, которую вы должны принять к сведению перед работой с  Главой 5 и последующими главами.