![]() |
Поделиться |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Поделиться |
![]()
Сообщение
#1
|
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Глоб. Модератор Сообщений: 10149 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: ![]() ![]() ![]() |
По-моему, была бы очень кстати трёхэтапная инструкция по сборке первого собственного дистрибутива. А именно :
Первый этап : сборка по профилю-заготовке, который предоставлен кем-то в готовом виде. Цель : быстро настроить, освоить и опробовать сборочную систему на своём компьютере и полюбоваться на результат. Второй этап : сборка простого небольшого дистра по своему профилю, сделанному на основе упомянутого профиля-заготовки. Цель : освоить основные приёмы работы с профилями. Третий этап : сборка уже такого дистра, какой тебе хочется иметь - любого объёма и любой сложности. Цель : стать серьёзным самостоятельным сборщиком. Я считаю, разбиение на этапы заметно облегчает обучение. Идея возникла из практики. Поскольку Юлианна взялась делать свой дистрибутив (это будет не новая версия Юлинукса, как сначала предполагалось, а именно собственная Юлина сборка под названием ЮлинТукс ![]() Инструкция для первого этапа уже написана и проверена в деле. Она не про сборку абстрактного дистра абстрактным сборщиком на абстрактном компьютере, а про сборку первой версии ЮлинТукса Юлианной на её домашнем компе, параметры коего известны. То есть тут всё рассматривается на вполне конкретном примере, что очень упрощает дело. Чтобы использовать инструкцию в иных условиях, надо её лишь немного изменить. Собственно, это в любом случае придётся делать : когда Юля настроит, освоит и опробует систему сборки на своём компьютере, то будет очень странным не использовать эту систему для создания давно задуманного Баклановского школьного/сельского дистрибутива, а тут, надеюсь, и ВладВлад подключится, вместе со школьными компами. Вот тогда и сделаем другой вариант инструкции, исходя опять же из новых конкретных условий. Это небольшая работа (во всяком случае, мне не лень её проделать), зато новичкам не надо мучиться, подгоняя обобщённые указания под свою обстановку. Не так уж много желающих заняться сборкой, чтобы нельзя было каждому дать подходящий именно для него вариант инструкции ![]() У себя я уже собрал ЮлинТукс строго по данной инструкции (то есть прикидывался, что мне её кто-то дал в готовом виде, а сам типа не знаю ничего ![]() Вот эта инструкция по первому этапу освоения дистростроя ( она, несомненно, далека от идеала, так что ожидаю дополнений/исправлений) : _____________________________________________________________________________ Итак, собирать ЮлинТукс Юля будет в Юлинуксе ![]() Примечание : команды, упомянутые ниже, выполняются от обычного юзера (и предполагается, что он в своём домашнем каталоге), если прямо не указано иное. Итак, Юля, приступаем ![]() Сначала надо скачать m-p-d (http://ftp.linux.kiev.ua/pub/Linux/ALT/people/_anatoly/packages/mkimage-profiles-desktop.tar.bz2) и брендинг (ftp://ftp.altlinux.org/pub/distributions/ALTLinux/5.1/branch/files/SRPMS/branding-altlinux-desktop-5.0.0-alt25.src.rpm) и положить их в домашний каталог. А также установить программы git, hasher,autoconf_2.60, mkimage. Содержимое каталога ALTLinux/RPMS.main установочного диска Юлинукса скопируй в каталог /var/cache/apt/archives (для чего нужны права рута). И заодно в Синаптике (Параметры - Параметры - Файлы) прикажи оставлять все загруженные файлы в кэше. Также установи в Юлинуксе программы, которые я перечислю (примечание : я прислал ей перечень софта, которого нет в Юлинуксе, но который должен быть в ЮлинТуксе) - чтобы при сборке этот софт брался из кэша apt'а, а не из интернета. В консоли от рута: Код hasher-useradd juli mkdir /mnt/mpd mount /dev/sda5 /mnt/mpd mkdir /mnt/mpd/out mkdir /mnt/mpd/mpd1 chown juli /mnt/mpd/out chown juli /mnt/mpd/mpd1 ln -s /mnt/mpd/out /home/juli/out # это чтобы готовые образы не забивали корневой раздел. tar xvfj /home/juli/mkimage-profiles-desktop.tar.bz2 -C /mnt/mpd/mpd1 ln -s /mnt/mpd/mpd1/mkimage-profiles-desktop /mpd Для проверки в адресной строке Konqueror'а введи /mpd - должен открыться каталог, в котором и будешь производить сборку. Вставь туда файлы, которые я пришлю; в них и находится тот самый профиль ЮлинТукса, рассматривать который изнутри мы пока не станем, отложим это на второй этап ![]() И ещё в консоли от рута : Код kwrite /etc/hasher-priv/system & Откроется файл, дополни нижнюю строку, получится Код prefix=~:/tmp/.private:/mnt/mpd Это чтобы была возможность заниматься сборкой в большом разделе. Потом опять от рута : Код kwrite /etc/fstab & В открывшемся файле найди строчку, в которой есть /mnt/sda5, и вместо неё вставь : Код /dev/sda5 /mnt/mpd ext3 rw,relatime 0 0 После этих манипуляций следует перезагрузиться. Распаковываем брендинг : Код rpm -i branding-altlinux-desktop-5.0.0-alt25.src.rpm && tar xvf RPM/SOURCES/branding.tar Появился каталог ~/branding, а в нём - исходники брендинга. Как их переделывать, чтобы изменить внешний вид дистрибутива - вопрос вовсе отдельный, про это у нас есть тема Брендинги . Тут предполагаем, что этот этап пройден - исходники для брендинга julintux-desktop готовы, хотя бы пробный вариант. После чего упакуй (в Konqueror'е, с помощью правой кнопки мыши) этот каталог в архив branding.tar. Теперь надо собрать из этих исходников rpm-пакеты. Для чего создаём так называемую хашерницу : Код mkdir hasher hsh --init Когда эта команда завершит работу, в ~/hasher обнаружишь хашерницу, то есть вроде как "Линукс в Линуксе", который только и умеет, что пересобирать пакеты. В данном случае она построена исключительно для пересборки брендинга (ну и отлично : лишних сложностей не будет). Далее : Код hsh-install rpm-utils gfxboot fonts-ttf-dejavu design-bootloader-source libalternatives-devel libqt4-core libqt4-devel ImageMagick fontconfig bc libGConf-devel Это мы установили туда пакеты, необходимые для сборки брендинга. Код cp branding.tar hasher/chroot/.in hsh-shell hasher Зашли в хашерницу. Обрати внимание : строка приглашения изменилась, твоё имя тут - builder; это потому что ты тут уже в упомянутом мини-Линуксе, а не в основной системе. Код cp /.in/branding.tar /usr/src/RPM/SOURCES cd /usr/src/RPM/SOURCES rpm -tb branding.tar Ждём, сборка может занять довольно много времени. Если работа команды завершилась без ошибки, то выполняешь команду Код exit после чего ты из builder'а превращаешься обратно в juli ![]() Для использования своего брендинга желательно создать свой репозиторий : Код mkdir -p myrep/i586/RPMS && cd myrep && mkdir SRPMS i586/base && ln -s i586 noarch && ln -s SRPMS SRPMS.myrep && cd i586 && ln -s RPMS RPMS.myrep && ln -s SRPMS ../SRPMS.myrep && cd ~ cp hasher/chroot/usr/src/RPM/RPMS/noarch/* myrep/noarch/RPMS # а как отучить cp работать как cp -i? не могу найти что-то;) genbasedir --topdir=myrep noarch myrep Дальше открой Синаптик; Настройки - Репозитории; там внизу добавь свой репозиторий с такими параметрами : Код URI - file:/home/juli/myrep Дистрибутив - noarch Раздел - myrep Жми OK, потом в Синаптике "Получить сведения" ('это может затянуться - из-за сетевых репозиториев). Когда получит, в поиске набери "julintux" - должны появиться пакеты брендинга. Теперь у тебя есть собственный репозиторий, как и положено серьёзному сборщику ![]() Сама сборка запускается так : Код cd /mpd # заходишь в сборочный каталог autoconf # подготовка ./configure --with-version=5.1 --with-distro=julintux.dvd # подгонка сборочной системы под требования ЮлинТукса make julintux.dvd # приказ собрать образ ЮлинТукса Вот тут и начинается собственно сборка; она может продолжаться час и даже два. Если завершится сообщением, что образ готов - хорошо, если в последних строках обнаружишь Error... - смотри, какая именно ошибка, будем разбираться. Независимо от результата, затем выполни команду Код make distclean чтобы убрать всяческие временые файлы, появившиеся при сборке. Если всё прошло успешно, то забирай из каталога ~/out/julintux.dvd готовый образ, записывай на DVD и устанавливай ![]() Что-то в ЮлинТуксе тебе непременно захочется переделать - а значит, подправляй профиль и собирай свой дистрибутив заново ![]() ______________________________________________________________________________ Вот так примерно. Приступая ко второму этапу обучения, имеем уже заведомо исправную систему сборки и готовый дистр, который надо просто подправлять; откатиться в случае чего есть куда. Так что инструкция по второму этапу вряд ли будет сложной. Что касается третьего этапа, то я и сам на нём ещё толком не освоился ![]() ![]() Думаю, что такие построенные на конкретных примерах поэтапные инструкции будут полезной добавкой к уже имеющейся документации по дистрострою. -------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 7.8.2025, 10:25 |