Часть 2 – Установка базовой системы LFS
Часть 2 будет служить ориентиром при построении и инсталляции LFS системы. Получившаяся система будет служить фундаментом, ядром для установки остальных компонентов системы.
Часть 3 – Приложения
Часть 3 содержит различные приложения.
Часть I – Вступление
Благодарности
Мы благодарим всех людей и организации за их вклад в развитие проекта Linux From Scratch:
Mark Stone <[email protected]> за предоставление сервера linuxfromscratch.org
VA Linux Systems за серверное пространство и канал для сервера linuxfromscratch.org.
Fredrik Danerklint за зеркало se.linuxfromscratch.org.
Tim Jackson <[email protected]> за зеркало linuxfromscratch.idge.net.
Hagen Herrschaft <[email protected]> за зеркала de.linuxfromscratch.org, и за предоставление P4 -2.2GHz для проекта LFS.
UK Mirror Service за зеркало linuxfromscratch.mirror.ac.uk.
Guido Passet <[email protected]> за зеркала www.nl.linuxfromscratch.org и ftp.snt.utwente.nl.
Timothy Bauscher <[email protected]> за помощь в редактировании этой книги.
Mark Hymers <[email protected]> за помощь в редактировании этой книги.
Marc Heerdink <[email protected]> за помощь в редактировании этой книги.
DREAMWVR.COM за предоставление ресурсов проекту LFS и другим подпроектам, связанным с ним.
Jan Niemann <[email protected]> за зеркало www.de.linuxfromscratch.org mirror.
Torsten Westermann <[email protected]> за зеркало lfs.linux-provider.net mirror.
Ian Chilton <[email protected]> за зеркала www.us.linuxfromscratch.org и www.linuxfromscratch.co.uk.
Dag Stenstad <[email protected]> за предоставление зеркала www.no.linuxfromscratch.org, и Ian Chilton <[email protected]> за его администрирование.
Antonin Sprinzl <[email protected]> за зеркало www.at.linuxfromscratch.org.
Jason Andrade <[email protected]> за зеркало www.au.linuxfromscratch.org.
Ian Cooper <[email protected]> за зеркало www.us2.linuxfromscratch.org.
VA Linux Systems , которые от имени Linux.com, предоставили рабочую станцию VA Linux 420 (бывшая StartX SP2) для проекта.
Johan Lenglet <[email protected]> за осуществление руководства проекта перевода LFS на французский язык.
Jesse Tie-Ten-Quee [email protected] за предоставление пишущего привода Yamaha CDRW 8824E.
O'Reilly за предоставление книг по SQL и PHP.
Robert Briggs за предоставление доменов linuxfromscratch.org linuxfromscratch.com.
Frank Skettino <[email protected]> из OSWD за первоначальный дизайн вебсайта LFS.
Garrett LeSage <[email protected]> за создание баннера LFS.
Dean Benson <[email protected]> за финансовую помощь в образовании некоммерческой организации LFS.
Бесчисленное количество людей в различных списках рассылки LFS за советы, тестирование книги и за сообщение об ошибках.
Как мы будем работать
Мы собираемся построить систему LFS, используя заранее установленный дистрибутив Linux, как например Debian, SuSE, Slackware, Mandrake, RedHat, и т.д. Мы будем использовать установленную систему как платформу для разработки, т.к. нам понадобится компилятор, линкер, текстовый редактор и другие средства разработки, необходимые для построения нашей системы. Обычно эти инструменты доступны по умолчанию, если выбрать опцию «development» при инсталляции дистрибутива Linux.
После скачивания необходимых для построения системы LFS пакетов, мы создадим раздел Linux native и файловую систему на нем. Там будет скомпилирована и установлена система LFS.
Затем, в Главе 5, мы опишем процесс инсталляции различных пакетов, которые сформируют среду разработки, которую мы используем для построения самой системы и для решения проблемы зависимостей. Например, для сборки нового компилятора необходим компилятор, а для установки оболочки необходима оболочка. Пакеты в этой главе будут слинкованы статически.
Использование статических ссылок позволяет нам избежать необходимости в наличии библиотек на момент завершения сборки. Собранная программа самодостаточна, т.к. части программы, которые обычно находятся в библиотеках, в нашем случае копируются из библиотек и вставляются в программу. Обычно программы компилируются с использованием динамических ссылок. Это позволяет сэкономить место на диске и повышает эффективность многих программ. В Главе 5 мы используем статические ссылки, т.к. теоретически мы перемещаем нашу систему разработки в виртуальную среду, где указанные библиотеки отсутствуют. Если скомпилировать программы на данном этапе с динамическими ссылками, то средства разработки не будут работать. Так как необходимые библиотеки предоставлены нам установленным дистрибутивом Linux, цель Главы 5 – создание среды разработки, в которой эти библиотеки не требуются, что делает эту среду независимым дистрибутивом.
В Главе 6 мы скомпилируем и инсталлируем конечную систему. Мы используем программу chroot, для того, чтобы войти в виртуальную среду и запустить оболочку, для которой корневой каталог будет тот раздел, куда мы установили программы из Главы 5. Это похоже на то, когда при перезагрузке системы мы