8a04d9b656
Raw disk images are convenient and universal but there are custom formats like Qemu's qcow2 providing additional features, e.g. copy-on-write or space savings. All of this ultimately belongs to mkimage but in the mean time has been implemented here as well. |
||
---|---|---|
.gear | ||
bin | ||
conf.d | ||
doc | ||
features.in | ||
image.in | ||
lib | ||
pkg.in | ||
sub.in | ||
.gitignore | ||
COPYING | ||
main.mk | ||
Makefile | ||
QUICKSTART | ||
README | ||
reports.mk |
Welcome to mkimage-profiles!
English quickstart: make server-mini.iso;
see http://en.altlinux.org/Hasher (and a large tmpfs).
Configurables: ~/.mkimage/profiles.mk;
see doc/variables.txt and conf.d/README
License: GPLv2+, see COPYING
Most docs are in Russian, welcome to learn it or ask for English.
См. тж. http://www.altlinux.org/Mkimage/Profiles/m-p
Задача:
- конфигурирование и создание образов на базе ALT Linux
Концепция:
- конфигурация, как и образ -- объект постадийной сборки
- метапрофиль служит репозиторием для построения индивидуального
профиля, по которому создаётся итоговый образ
Особенности:
- метапрофиль может быть полностью read-only при сборке
- для сборки подыскивается предпочтительно tmpfs
- в профиль копируются только нужные объекты;
он автономен относительно метапрофиля
Стадии работы:
- инициализация сборочного профиля
- сборка конфигурации образа
- наполнение сборочного профиля
- сборка образа
Объекты:
- дистрибутивы и виртуальные среды/машины:
+ описываются в conf.d/*.mk или соответственно lib/{distro,ve,vm}.mk
+ могут основываться на предшественниках, расширяя их
+ дистрибутивы также:
- включают один или более субпрофилей по надобности
+ желательно избегать множественного наследования, см. тж. фичи
- субпрофили:
+ список собирается в $(SUBPROFILES)
+ базовые комплекты помещены в подкаталогах под sub.in/;
их наборы скриптов могут расширяться фичами
- фичи:
+ накопительный список собирается в $(FEATURES)
+ законченные блоки функциональности (или наборы таковых)
+ описываются в индивидуальных features.in/*/config.mk
+ могут требовать другие фичи, а также субпрофили
+ при сборке $(BUILDDIR) содержимое фич добавляется в профиль
- списки пакетов (*_LISTS):
+ просьба по возможности избегать дублирования
- индивидуальные пакеты (*_PACKAGES): см. тж. conf.d/README
Результат:
- при успешном завершении сборки образ называется по имени цели
и укладывается в $(IMAGEDIR):
+ указанный явно,
+ либо ~/out/ (если возможно),
+ или $(BUILDDIR)/out/ иначе
- формируются отчёты, если запрошены (REPORT)