Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Linux своими руками

Е. Беленков, 2003 г.

Я думаю, что каждый линуксоид в своем развитии проходит следующие этапы: сначала все возникшие проблемы пытается лечить переустановкой Linux (по аналогии с виндой), затем осознает необходимость чтения документации, учится компилировать программы, собирать ядро и более-менее правильно настраивать сервисы и затем приходит к мысли о необходимости сборки "своего линуха", полностью из исходников... Вот и я не избежал сей участи :-)

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

Забегая вперёд, скажу, что процесс сборки "своего линуха" - занятие, хоть и довольно продолжительное (по сравнением с установкой из готового дистрибутива), но очень интересное (хотя что может быть интересного в бегущих строчках компиляции).

Для эксперимента я решил использовать методику "Linux from Scratch" и в качестве руководства использовал русский перевод LFS-book(можно поискать в Интернете или скачать с моего сайта), хотя из-за нежелания выкачивать лишнюю сотню мегабайт из Интернета, решил обойтись исходными кодами имеющегося у меня Slackware Linux 8.1, благо версии большинства программ совпадали с описанными в LFS-book. Ядро я взял версии 2.2.25, поскольку оно у меня уже было скачано... Единственный пакет, который я скачал с сайта LFS - это LFS-bootscripts. Не то чтобы я очень любил SysV-init (мне больше нравится BSD-стиль), но ... в книге описаны именно они, да и получше разобраться в них не помешало. Для будущей системы выделил раздел размером 1 Gb с файловой системой ext2fs. В качестве базовой использовалась система на базе Slackware Linux 8.1

Я не хочу слишком сильно вдаваться в подробности, так как в LFS-book весь процесс описан очень хорошо. Скажу лишь, что при тщательном соблюдении рекомендаций и разумной самостоятельности все у вас получится...

Немного о неприятном... Были некоторые заморочки при сборке софта. Так у меня не захотели сразу собираться binutils, ругаясь на отсутствие msgfmt, поэтому пришлось поставить собрать пакет gettext перед ними, хотя автор рекомендует придерживаться указанной им последовательности. У меня после этого проблем не возникло , хотя я на всякий случай потом пересобрал пакет gettext еще раз. Кроме того, так и не собрался пакет file, хотя без него можно и обойтись. Остальное собралось без проблем.

После сборки всего софта я перезагрузился с имеющейся у меня загрузочной дискеты, указав в качестве root раздел на который мы собирали линух. Здесь, как мне кажется возможны варианты...

Я столкнулся с руганью на отсутствие каких-то девайсов, поэтому пришлось перемонтировать раздел в rw и пересоздать файлы устройств командой cd /dev && ./MAKEDEV-update и заново перезагрузиться. Далее следует установка lilo (командой /sbin/lilo) в MBR или загрузочный сектор раздела(в случае загрузки с NT Loader), естественно создав /etc/lilo.conf... ВСЕ!!! Дальше перезагружаемся уже самостоятельно.

Таким образом была собрана и запущена базовая часть система (ядро, glibc, компилятор и т.п), работающая, естественно только в консольном режиме, и не имеющая никаких дополнительных средств, облегчающих работу. Поэтому далее я установил уже классическим способом (./configure && make && make install) Midnight Commander (к нему еще glib потребовались) и продолжил свою работу уже с ним.

Далее я установил дополнительный софт - XFree86-4.2.0, IceWM, ppp, links, естественно, учитывая все необходимые для их функционирования библиотеки (без контроля зависимостей никак :-)), в результате чего получил Иксы (часов через 5) и доступ в Интернет. Весь остальной софт ставится в зависимости от потребностей.

Краткий итог

В результате двух дней работы имеем свежеустановленный полностью из исходников Linux неизвестной породы, довольно шустрый, но требующий дополнительного обучения, путём установки дополнительных программ и правки конфигурационных файлов. Система поддаётся дрессировке довольно легко, но требует внимательного прочтения всяческих руководств и описаний к устанавливаемому софту. Весьма желательна достаточная квалификация дрессировщика.

А если серьёзно... то сборка работающей linux-системы из исходников возможна, и наверное, в каких-то случаях оправдана, но для большинства не является необходимой, поскольку требует существенных временных затрат и хорошей подготовки.

Оригинал этой заметки доступен на сайте ЗАМЕТКИ ЛИНУКСОИДА