Локальная сборка ISO
Материал из Rosalab Wiki
Если вам хочется собрать собственный ISO-образ Росы, а администраторского доступа на ABF нет, можно собрать образ на локальной машине.
Для сборки используются специальные проекты, хранящиеся в Git-репозиториях на ABF и включающие в себя все необходимые для сборки скрипты и вспомогательные файлы. На текущий момент поддерживаются следующие проекты:
- KDE: soft/build_kde4_desktop_ee
- KDE5: soft/build_plasma5_desktop_ee
- LXQT: soft/build_lxqt_desktop
- GNOME: soft/build_gnome_desktop
- MATE: soft/build_mate_desktop
В каждом репозитории могут быть несколько веток. Основная ветка имеет имя актуальной платформы (rosa2014.1); могут присутствовать и различные дополнительные ветки для тестов и экспериментов.
Для запуска сборки необходимо выполнить следующие команды:
mkdir -p /home/vagrant/results export PROJECT=soft/build_kde4_desktop_ee export PROJECT_VERSION=rosa2014.1 git clone -b $PROJECT_VERSION https://abf.rosalinux.ru/$PROJECT.git iso_build cd iso_build TYPES="64u 32" DE=kde RELEASE=R7 BUILD_ID=20001 REPO=http://abf-downloads.rosalinux.ru/rosa2014.1/repository/x86_64/ ./MATRIX
Смысл переменных:
- PROJECT: выбранный вами проект для сборки образа;
- PROJECT_VERSION: ветка Git-репозитория;
- TYPES: список типов образов, которые будут собираться (возможные варианты: 32, 32u, 64, 64u — соответственно, 32- и 64-битные образы с поддержкой UEFI или без оной);
- DE: суффикс у файла со списком пакетов, обычно, соответствующий графическому окружению (например, для DE=kde будут использоваться файлы commonkde.lst, i586kde.lst, x86_64kde.lst);
- RELEASE: номер релиза Росы;
- BUILD_ID: номер собираемого образа, может задаваться произвольно;
- REPO: путь к репозиторию, откуда будут скачиваться пакеты.
Если нужно внести какие-то свои изменения, то потребуется править файлы:
- commonkde.lst, i586kde.lst, x86_64kde.lst: списки устанавливаемых в образ пакетов (общий список и, при необходимости, архитектуро-зависимые; вместо «kde» нужно подставить значение переменной DE);
- i586repo.lst, x86_64repo.lst: дополнительные репозитории или контейнеры (например, если надо собрать образ с тестовой версией пакета, отсутствующей в основном репозитории);
- каталог extraconfig: может использоваться для прямого подкладывания или замены файлов в файловой системе образа;
- .ks.template: шаблон Kickstart-файла, используемого для сборки; включает в себя в числе прочего post-скрипты, выполняющие финальную настройку и доводку системы, установленной в образе.