Библиотека сайта 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-системы из исходников возможна, и наверное, в каких-то случаях оправдана, но для большинства не является необходимой, поскольку требует существенных временных затрат и хорошей подготовки.Оригинал этой заметки доступен на сайте ЗАМЕТКИ ЛИНУКСОИДА