====== mkimage-profiles: сборка "ALT Образование" ======
**Подготовка ОС**
Установить пакеты
sudo apt-get install mkimage mkimage-preinstall hasher git-core
Добавить своего пользователя в группы, необходимые для запуска hasher
sudo hasher-useradd $USER
В /etc/hasher-priv/system добавить строчку: allowed_mountpoints=/proc
Перелогиниться.
**Подготовка каталога для сборки**
Создать каталог и перейти в него
mkdir ~/ao_build
cd $_
Создать конфигурационные файлы для сборки из собственных пакетов и репозитория p10 с кэшированием
#каталоги для кэша пакетов
mkdir -p apt/lists/partial
mkdir -p apt/cache/p10/archives/partial
#каталог для пакетов, которых нет в репозитории
mkdir -p x86_64/RPMS.dir
#каталог для установочных образов
mkdir out
cat < apt/apt.conf.p10.x86_64
Dir::Etc::SourceList "$PWD/apt/sources.list.p10.x86_64";
Dir::Etc::SourceParts /var/empty;
Dir::Etc::main "/dev/null";
Dir::Etc::parts "/var/empty";
APT::Architecture "64";
Dir::State::lists "$PWD/apt/lists/";
Dir::Cache "$PWD/apt/cache/p10/";
EOF
cat < apt/sources.list.p10.x86_64
rpm http://mirror.yandex.ru/altlinux p10/branch/x86_64 classic
rpm http://mirror.yandex.ru/altlinux p10/branch/x86_64-i586 classic
rpm http://mirror.yandex.ru/altlinux p10/branch/noarch classic
rpm-dir file:$PWD hasher/repo/x86_64 hasher
EOF
git clone http://git.altlinux.org/gears/m/mkimage-profiles.git -b p10
#Более свежая версия тут
git clone http://git.altlinux.org/people/sem/public/mkimage-profiles.git -b alt-p10
Собственные пакеты разместить в x86_64/RPMS.dir/
Получение списка целей
make -C mkimage-profiles help
Запуск сборки «ALT Образование»
make -C mkimage-profiles BRANCH=p10 ARCH=x86_64 APTCONF=$PWD/apt/apt.conf.p10.x86_64 IMAGEDIR=$PWD/out alt-education.iso
Лог будет в mkimage-profiles/build/build.log
Подробнее — в каталоге doc исходников mkimage-profiles и на https://www.altlinux.org/Mkimage-profiles
При сборке образа на основе Сизифа:
cat < apt/apt.conf.sisyphus.x86_64
Dir::Etc::SourceList "$PWD/apt/sources.list.sisyphus.x86_64";
Dir::Etc::SourceParts /var/empty;
Dir::Etc::main "/dev/null";
Dir::Etc::parts "/var/empty";
APT::Architecture "64";
Dir::State::lists "$PWD/apt/lists/";
Dir::Cache "$PWD/apt/cache/sisyphus/";
EOF
cat < apt/sources.list.sisyphus.x86_64
rpm http://mirror.yandex.ru/altlinux Sisyphus/x86_64 classic
rpm http://mirror.yandex.ru/altlinux Sisyphus/x86_64-i586 classic
rpm http://mirror.yandex.ru/altlinux Sisyphus/noarch classic
rpm-dir file:$PWD x86_64 dir
EOF
git clone http://git.altlinux.org/gears/a/alterator-sysconfig.git
mkdir hasher
hsh --initroot-only --apt-config=$PWD/apt/apt.conf.sisyphus.x86_64 hasher
cd alterator-sysconfig/
gear --commit --hasher -- hsh-rebuild --no-sisyphus-check=packager,gpg,changelog ../hasher
make -C mkimage-profiles BRANCH=Sisyphus ARCH=x86_64 APTCONF=$PWD/apt/apt.conf.sisyphus.x86_64 IMAGEDIR=$PWD/out regular-xfce.iso