SDB:Создание собственного дистрибутива на основе openSUSE
Данная статья является устаревшей, поскольку: Статья очень старая (актуальна примерно для 10.2) и требует обновления, но английская тоже нуждается в обновлении. Если она в течение некоторого времени не будет обновлена, то она может быть удалена. Пожалуйста, обновите эту статью. Обратитесь к странице обсуждения этой статьи для получения подробной информации. |
Эта статья актуальна для версии '10.2', которая теперь является устаревшей! Пожалуйста, обратитесь к странице обсуждения этой статьи для получения подробной информации. |
Содержание
Введение
Эта статья посвящена тому, как собрать свой дистрибутив на основе openSUSE. Её следует рассматривать как общие рекомендации. Статья не описывает в подробностях какие пакеты должны быть добавлены или удалены. Окончательный выбор остается за читателем. Статья также подразумевает, что читатель уже ознакомился со статьей Установка SUSE.
Это руководство может быть использовано как пособие для сборки персонального дистрибутива для следующих целей:
- Для включения пакетов RPM, которые не включены по умолчанию
- Для удаления ПО, которое включено
- Для редактирования ПО
- Для персонификации дистрибутива
- Для установки стандартных настроек для вашего региона, компании, LUG, ...
- Для исправления проблемных RPM пакетов, например неправильной системы наложения патчей в OpenSUSE 10.1
Краткая версия
- Загрузить необходимые ISO образы
- Если необходимы дополнительные RPM пакеты, загрузить их
- Выполнить makeSUSEdvd -i [любой другой параметр]
- Выполнить rembrand -b "#FF00FF" -R /tmp/pink_rpms *.rpm
- Просмотреть Branding Overview и проверить на наличие left-overs.
- Отредактировать, удалить и изменить все что необходмо.
- Выполнить makeSUSEdvd -C
Полная версия
4-й - это наиболее важный пункт краткой версии. Начиная с него я опишу детально каждый следующий шаг.
Загрузка
Вы можете загрузить ISO образы любой версии, какая вам подходит, в пустую директорию, например когда вы используете версию 10.1 в качестве базовой, вы можете загрузить 1-й CD для минимальной установки, первые 3 CD для стандартной установки с Немецким или Английским языком и KDE или GNOME, 5 CD для установки других языков и дополнительных програм, или 6 CD или DVD.
Если вы хотите добавить дополнительное ПО, которого нет в SUSE, вам нужно иметь рабочий RPM пакет. Загрузить его на, к примеру /usr/src/packages/RPMS/* или создать директорию с соответствующей поддиректорией i386 i486 i586 i686 noarch.
Не забудьте про пакеты RPM, необходимые для удовлетворения зависимостей.
Без изменения содержимого
Если вы хотите только добавить пакеты RPM, вы можете из директории где находятся необходимые пакеты сделать следующее.
makeSUSEdvd [-a /usr/src/packages/RPMS] [любой другой параметр]
На этом создание вашего персонального дистрибутива будет завершего. Во время установки , вы можете выбрать ПО и добавить Personal selection или любой RPM пакет из Personal selection.
Изменяя содержимое
- В этом случае, из директории с ISO образами, выполните makeSUSEdvd -i [-a /usr/src/packages/RPMS] [любой другой параметр]. Это создаст директорию CD_DIR, если не укажете другую. CD_DIR - директория где нужно производить изменения.
- Далее вы можете удалить любой RPM пакет который хотите. Вы можете оставить те пакеты, которые хотите. RPM пакеты находятся в CD_ROM/suse
- Далее вы можете отредактировать CD_DIR/control.xml Здесь находится более подробная информация об этом файле on this page. Многое здесь может быть изменено или испорчено, убедитесь что все протестировали, перед тем как начать распространять свой дистрибутив.
- В соответствии с внесенными изменениями, вы можете изменить любой или все CD_DIR/suse/setup/desc/*sel файлы.
- Особенное внимание уделите default*.sel Если вы добавии RPM пакеты, команда makeSUSEdvd создаст makeSUSEdvd.sel.
- Если вы хотите, чтобы ПО устанавливалось по умолчанию, добавте его в default*
- Добавляя ваш собственный *.sel файл, обратите внимание, что у него другой номер =Ord: в отличие от любого другого *.sel. Чем ниже номер, тем выше он будет в списке. Отрицательные числа работают.
- Добавьте или удалите любой *.sel из /suse/setup/desc/selections так же как и любой *.sel.
- Для дальнейшей персонификации, вы можете отредактировать следующие файлы. В большинстве файлов вам нужно удалить ссылку на SUSE и/или Novell и добавить свою собственную
/COPYRIGHT* Разные языки. /LICENCE.txt Вставьте свою свобственную лицензию. /README* /LIESMICH* /SuSEgo.ico Удалите и добавьте свой собственный *.ico /autorun.inf Измените SuSEgo.ico на свой собственный. /content Измените VENDOR Измените RELNOTESURL на свой собственный RPM если необходимо. /docu/RELEASE Удалите ссылки на SUSE и Novell /boot/*/LIESMICH* /boot/*/README* /boot/*/loader/* Несколько файлов. В основном удаление ссылки на SUSE и изменение нескольких картинок JPG /media.1/info.txt Этот файл добавлен makeSUSEdvd. Отредактируйте его makeSUSEdvd, или весь закомментируйте. /media.1/licence.zip Зайдите внутрь и замените некоторые или все лицензии на свою. /media.1/media /suse/setup/README /suse/setup/LIESMISCH /suse/setup/slide/* Здесь вы можете действительно придать своему дистрибутиву индивидуальность. Здесь находятся слайды, которые показываются во время установки.
- Несколько RPM пакетовсодержат изображения с торговой маркой SUSE/Novell. rembrand может быть полезна для их удаления. Смотри так же http://www.davjam.org/mediawiki/index.php/openSUSE:Debrand:howto , [1].
- Вот список некоторых бренд-символов Novell в OpenSuSE 10.2 Branding_Overview
- Некоторые пакеты требуют чтобы перед установкой пользователь ознакомился с лицензионным соглашением End User Licence Agreement (EULA) или был предупрежден что эти пакеты выбраны для установки. Это необходимо, чтобы пользователь мог выбрать, хочет он их устанавливать или нет. Эти пакеты находятся в packages.$LANG и написаны на HTML. Например, посмотрим в /suse/setup/descr/packages.en
Лицензионное соглашение (EULA): +Eul: -Eul: Предупреждение об установке: +Ins: -Ins:
Изменяем или добавляем модули YaST
Файл control.xml контролирует модули YaST, которые будут запущены во время установки и настройки вашей системы. Более того, эти модули могут быть изменены или полностью, с нуля, пересобраны. Модули YaST находятся в файле boot/arch/root на DVD (или первом CD). Вы можете извлеч корневую файловую систему во временную директорию командой:
mkdir oldroot mount root oldroot -o loop mkdir newroot rsync -av oldroot/* newroot/
а затем менять её. Модули YaST находятся в /usr/share/YaST2/. Вы можете добавлять или изменять их. Затем их необходимо скомпилировать :
ycpc -c module_path
и пересобрать корневую файловую систему командой:
umount oldroot /sbin/mkfs.cramfs newroot/ root
Вы можете найти более подробную информацию по модулям YaST на странице http://en.opensuse.org/YaST.
Собираем дистрибутив
Первая копия CD_DIR будет в итоге удалена. Когда все ваши изменения сделаны для всех необходимых файлов и/или RPM пакетов, вы можете собрать новый ISO образ командой makeSUSEdvd -C , по итогам ее выполнения у вас будет готовый для записи ISO образ. Не забудьте его сперва протестировать, так что, если возможно, используйте перезаписываемый диск.
Если все впорядке, вы можете собрать свой итоговый ISO образ и начать использовать его.
Торговые марки защищаются законом и их использование без письменного соглашения владелица запрещено.