2010-09-14 09:44:35 +04:00
see also http://www.altlinux.org/Mkimage/Profiles/next;
2010-09-27 23:02:57 +04:00
quickstart: make distclean server-light.iso
configurables: ~/.mkimage/metaconf.mk, see distro.mk
2010-09-14 09:44:35 +04:00
Концепция:
- метапрофиль служит репозиторием всего возможно нужного для
построения индивидуального профиля, по которому создаётся
итоговый дистрибутив
2011-01-25 03:22:52 +03:00
- для одноразовых модификаций можно подправить сгенерированный
профиль, для долгосрочной разработки стоит вливать правки
в метапрофиль (что требует больше навыков и времени)
2010-09-14 09:44:35 +04:00
Особенности:
2010-09-27 23:02:57 +04:00
- метапрофиль может быть полностью read-only при сборке
2010-09-14 09:44:35 +04:00
- для сборки подыскивается предпочтительно tmpfs
- в профиль копируются только нужные объекты
2010-09-09 13:50:29 +04:00
2010-09-22 01:58:24 +04:00
Стадии работы:
2010-12-03 17:53:02 +03:00
- инициализация дистрибутивного профиля
2010-09-22 01:58:24 +04:00
- сборка конфигурации дистрибутива
2010-12-03 17:53:02 +03:00
- наполнение дистрибутивного профиля
2010-09-22 01:58:24 +04:00
- сборка дистрибутива
2010-09-09 13:50:29 +04:00
Объекты:
- дистрибутивы: distro.mk, могут основываться один на другом;
желательно избегать множественного наследования, используя
2010-09-14 14:18:53 +04:00
вместо него блоки use/*
- субпрофили (список собирается в $(SUBPROFILES)):
+ stage1: propagator (ожидается после syslinux)
2010-09-09 13:50:29 +04:00
+ install2: инсталятор
+ main: пакетная база к инсталяции (обязательная и дополнительная)
2010-08-28 20:28:42 +04:00
+ ...
2010-09-14 14:18:53 +04:00
- блоки функциональности use/*: не являются самостоятельными
(не путать с дистрибутивами), но законченными; могут жить
в distro.mk (или сделать use.mk?), либо же в индивидуальных
features.in/*/config.mk, если необходимо дополнить не только
.config.mk, а и дерево формируемого профиля
- фичи: законченные кусочки функциональности, могут зависеть
друг от друга; сливаются с соответствующими субпрофилями
2011-01-25 03:22:52 +03:00
при сборке $(BUILDDIR), могут нести с собой копируемые в один
2010-09-14 14:18:53 +04:00
или несколько субпрофилей каталоги/файлы и могут выполнять
необходимые действия во время сборки после копирования
(generate.sh, generate.mk). NB: добавляем в $(FEATURES)
2011-01-25 03:22:52 +03:00
(из того же config.mk, который будет включён в distro.mk)!
2010-09-09 13:50:29 +04:00
- списки пакетов: большая человеческая просьба по возможности
2010-09-14 14:18:53 +04:00
избегать дублирования и подумать над pkg/lists/tagged...
2010-09-22 01:58:24 +04:00
NB: следует крайне осторожно пользоваться COMMON_PACKAGES,
т.к. указанные пакеты попадут во все стадии (в т.ч.
stage1 и install2, чувствительные к объёму).
2011-05-11 23:40:47 +04:00
Результат:
- при успешном завершении сборки образ называется сообразно
дистрибутиву и укладывается в $(IMAGEDIR):
+ указанный явно,
+ либо ~/out/ (если возможно),
+ или $(BUILDDIR)/out/ иначе