Эта страница была перенесена на altlinux.org. Текст на freesource.info заморожен.
mkimage
mkimage – инструмент для сборки образов Sisyphus-based системы по шаблону.
mkimage – четвёртый и на данный момент последний среди длинного ряда сборщиков образов в рамках Sisyphus. Более подробно о том, кто кого сменял, можно узнать в истории.
Зачем?
mkimage был создан для замены spt – последний использует жёстко зашитую последовательность шелл-скриптов, а шаблоны дистрибутивов с трудом поддаются вычленению общих блоков.
В результате: шаблоны представляют собой модульные Makefiles (как результат – «бесплатное» кэширование и распараллеливание сборки). Как и spt, Использует hasher.
Далее (поправьте boyarsh на используемый логин! проверьте глазами получившееся):
Модификация
Изучение существующих примеров удобней начинать с корневого Makefile.in и далее по profiles/*/Makefile.in и profiles/packages-lists/*. Стоит обратить внимание, что IMAGE_PACKAGES в профильном мэйкфайле может содержать как включаемые файлы-списки, так и имена пакетов (если как файлы они не будут найдены).
Хуки и скрипты
Q: чем различаются install2/{image-scripts.d,scripts.d}/?
A: image-scripts выполняются в chroot собранной стадии. scripts — в инструментальном chroot-е после установки пакетов и до архивации результата, что позволяет копировать файлы из/в chroot
Проблемы
altlinux-release-*
С одной стороны, altlinux-release стал виртуальным пакетом.
С другой — сейчас его требует basesystem.
Результат таков, что сперва в базовую систему устанавливается какой-либо из кандидатов (сейчас это обычно altlinux-release-terminal по лексикографическому старшинству), а потом apt не может его заменить уже явно указанным.
Объезд: прибить в конфигурации гвоздиком нужный вариант.
Более системные варианты объездов и решений в данный момент обсуждаются в devel@.
Если возникают проблемы вроде неустанавливающихся пакетов:
То может иметь смысл проверить вручную так:
Нет графики при загрузке образа, первая стадия задаёт вопросы
Если не поднялся gfxboot и propagator выпал из автоматического режима — наверняка переменные INFO_THEME и DESKTOP_FLAVOUR (по состоянию на сегодня) не долетели до profiles/Makefile; попробуйте прибить руками и посмотреть, не в этом ли дело: