ace5cb0ff6
- more thorough build stages inline doc - quieter BUILDDIR instantiation - branding-altlinux-sisyphus by default - prettify installer selection somewhat - mkimage #24669 fixed upstream - sub.in/stage1/modules: +drm (as in m-p-d, for KMS) - tags2lists: generalize a bit
50 lines
3.1 KiB
Plaintext
50 lines
3.1 KiB
Plaintext
see also http://www.altlinux.org/Mkimage/Profiles/next;
|
||
|
||
quickstart: make distclean server-light.iso
|
||
|
||
configurables: ~/.mkimage/metaconf.mk, see distro.mk
|
||
|
||
Концепция:
|
||
- метапрофиль служит репозиторием всего возможно нужного для
|
||
построения индивидуального профиля, по которому создаётся
|
||
итоговый дистрибутив
|
||
|
||
Особенности:
|
||
- метапрофиль может быть полностью read-only при сборке
|
||
- для сборки подыскивается предпочтительно tmpfs
|
||
- в профиль копируются только нужные объекты
|
||
|
||
Стадии работы:
|
||
- инициализация дистрибутивного профиля
|
||
- сборка конфигурации дистрибутива
|
||
- наполнение дистрибутивного профиля
|
||
- сборка дистрибутива
|
||
|
||
Объекты:
|
||
- дистрибутивы: distro.mk, могут основываться один на другом;
|
||
желательно избегать множественного наследования, используя
|
||
вместо него блоки use/*
|
||
- субпрофили (список собирается в $(SUBPROFILES)):
|
||
+ stage1: propagator (ожидается после syslinux)
|
||
+ install2: инсталятор
|
||
+ main: пакетная база к инсталяции (обязательная и дополнительная)
|
||
+ ...
|
||
- блоки функциональности use/*: не являются самостоятельными
|
||
(не путать с дистрибутивами), но законченными; могут жить
|
||
в distro.mk (или сделать use.mk?), либо же в индивидуальных
|
||
features.in/*/config.mk, если необходимо дополнить не только
|
||
.config.mk, а и дерево формируемого профиля
|
||
- фичи: законченные кусочки функциональности, могут зависеть
|
||
друг от друга; сливаются с соответствующими субпрофилями
|
||
при сборке BUILDROOT, могут нести с собой копируемые в один
|
||
или несколько субпрофилей каталоги/файлы и могут выполнять
|
||
необходимые действия во время сборки после копирования
|
||
(generate.sh, generate.mk). NB: добавляем в $(FEATURES)
|
||
(из того же config.mk, который будет включён в distro.mk)
|
||
- списки пакетов: большая человеческая просьба по возможности
|
||
избегать дублирования и подумать над pkg/lists/tagged...
|
||
|
||
NB: следует крайне осторожно пользоваться COMMON_PACKAGES,
|
||
т.к. указанные пакеты попадут во все стадии (в т.ч.
|
||
stage1 и install2, чувствительные к объёму).
|