README update
reword 'em, structurize 'em, facelift 'em too
This commit is contained in:
parent
24ce6f541d
commit
b69a8a63b7
2
Makefile
2
Makefile
@ -5,7 +5,7 @@
|
|||||||
# 3. copy subprofiles, script hooks, and package lists/groups
|
# 3. copy subprofiles, script hooks, and package lists/groups
|
||||||
# from metaprofile to new profile (as needed)
|
# from metaprofile to new profile (as needed)
|
||||||
# --- in BUILDDIR
|
# --- in BUILDDIR
|
||||||
# 4. build subprofiles and subsequently image
|
# 4. build subprofiles and subsequently the image
|
||||||
|
|
||||||
all help:
|
all help:
|
||||||
@echo '** available distribution targets:'
|
@echo '** available distribution targets:'
|
||||||
|
57
README
57
README
@ -7,9 +7,8 @@ configurables: ~/.mkimage/profiles.mk,
|
|||||||
see doc/profiles.mk.sample and libdistro.mk
|
see doc/profiles.mk.sample and libdistro.mk
|
||||||
|
|
||||||
Концепция:
|
Концепция:
|
||||||
- метапрофиль служит репозиторием всего возможно нужного для
|
- метапрофиль служит репозиторием для построения индивидуального
|
||||||
построения индивидуального профиля, по которому создаётся
|
профиля, по которому создаётся итоговый дистрибутив
|
||||||
итоговый дистрибутив
|
|
||||||
- для одноразовых модификаций можно подправить сгенерированный
|
- для одноразовых модификаций можно подправить сгенерированный
|
||||||
профиль, для долгосрочной разработки стоит вливать правки
|
профиль, для долгосрочной разработки стоит вливать правки
|
||||||
в метапрофиль (что требует больше навыков и времени)
|
в метапрофиль (что требует больше навыков и времени)
|
||||||
@ -27,32 +26,32 @@ see doc/profiles.mk.sample and libdistro.mk
|
|||||||
- сборка дистрибутива
|
- сборка дистрибутива
|
||||||
|
|
||||||
Объекты:
|
Объекты:
|
||||||
- дистрибутивы: distro.mk, могут основываться один на другом;
|
- дистрибутивы:
|
||||||
желательно избегать множественного наследования, используя
|
+ описываются в distro.mk
|
||||||
вместо него блоки use/*
|
+ могут основываться один на другом
|
||||||
- субпрофили (список собирается в $(SUBPROFILES)):
|
+ включают один или более субпрофилей по надобности
|
||||||
+ stage1: propagator и ядро инсталятора
|
+ желательно избегать множественного наследования, см. тж. фичи
|
||||||
+ install2: сам инсталятор
|
- субпрофили:
|
||||||
+ main: пакетная база к инсталяции (обязательная и дополнительная)
|
+ список собирается в $(SUBPROFILES)
|
||||||
+ ...
|
+ базовые комплекты помещены в подкаталогах под sub.in/;
|
||||||
- блоки функциональности use/*: не являются самостоятельными
|
их наборы скриптов могут расширяться фичами
|
||||||
(не путать с дистрибутивами), но законченными; описываются
|
- stage1: propagator, ядро инсталятора и initrd в т.ч. с firmware
|
||||||
в use.mk либо же в индивидуальных features.in/*/config.mk,
|
- install2: сам инсталятор (и модули ядра)
|
||||||
если необходимо дополнить не только distcfg.mk, а и дерево
|
- main: пакетная база к инсталяции (обязательная и дополнительная)
|
||||||
формируемого профиля
|
- фичи:
|
||||||
- фичи: законченные кусочки функциональности, могут зависеть
|
+ список собирается в $(FEATURES)
|
||||||
друг от друга; сливаются с соответствующими субпрофилями
|
+ законченные блоки функциональности (или наборы таковых)
|
||||||
при сборке $(BUILDDIR), могут нести с собой копируемые в один
|
+ описываются в индивидуальных features.in/*/config.mk
|
||||||
или несколько субпрофилей каталоги/файлы и могут выполнять
|
+ могут зависеть друг от друга и требовать субпрофили
|
||||||
необходимые действия во время сборки после копирования
|
+ при сборке $(BUILDDIR) содержимое указанных в $(FEATURES) фич
|
||||||
(generate.sh, generate.mk). NB: добавляем в $(FEATURES)
|
(подкаталоги, соответствующие входящим в дистрибутив субпрофилям)
|
||||||
(из того же config.mk, который будет включён в distro.mk)!
|
добавляется в профиль; затем выполняются generate.sh, generate.mk
|
||||||
- списки пакетов: большая человеческая просьба по возможности
|
- списки пакетов (*_LISTS): просьба по возможности избегать дублирования
|
||||||
избегать дублирования и подумать над pkg/lists/tagged...
|
- индивидуальные пакеты (*_PACKAGES): следует крайне осторожно пользоваться
|
||||||
|
COMMON_PACKAGES -- эти пакеты попадут во все стадии, в том числе в образ
|
||||||
NB: следует крайне осторожно пользоваться COMMON_PACKAGES,
|
чувствительной к объёму install2 (в stage1 -- только в инструментальный
|
||||||
т.к. указанные пакеты попадут во все стадии (в т.ч.
|
чрут); применяйте для того, что обязано быть и в инсталяторе, и в готовой
|
||||||
stage1 и install2, чувствительные к объёму).
|
системе
|
||||||
|
|
||||||
Результат:
|
Результат:
|
||||||
- при успешном завершении сборки образ называется сообразно
|
- при успешном завершении сборки образ называется сообразно
|
||||||
|
@ -2,20 +2,19 @@
|
|||||||
каталоги, содержимое каждого из которых реализует одну из
|
каталоги, содержимое каждого из которых реализует одну из
|
||||||
подключаемых автономных возможностей дистрибутива.
|
подключаемых автономных возможностей дистрибутива.
|
||||||
|
|
||||||
Каждая фича должна содержать файл config.mk, включаемый
|
Каждая фича должна содержать задействуемый при построении
|
||||||
в ../distro.mk и как минимум содержащий добавление имени
|
конфигурации будущего образа файл config.mk, включаемый
|
||||||
этой фичи в переменную FEATURES на этапе создания конфигурации
|
в ../distro.mk; он может описывать одну или более целей
|
||||||
профиля.
|
вида use/*, дополняющих конфигурацию дистрибутива, и при
|
||||||
|
наличии дополнительных хуков для копирования или generate.*
|
||||||
|
должен добавить имя фичи в $(FEATURES).
|
||||||
|
|
||||||
На этапе создания собственно профиля этот каталог задействуется
|
На этапе генерации дистрибутивного профиля фичи рассматриваются
|
||||||
после инициализации профиля (см. ../image.in/) и копирования
|
после инициализации профиля (см. ../image.in/) и копирования
|
||||||
субпрофилей (см. ../sub.in/); обход его подкаталогов производится
|
субпрофилей (см. ../sub.in/). Для каждой фичи, указанной
|
||||||
в порядке отсортированных по алфавиту имён из списка,
|
в $(FEATURES), копируются подкаталоги сообразно субпрофилям,
|
||||||
содержащегося в переменной FEATURES.
|
а также выполняется скрипт generate.sh и задействуется generate.mk
|
||||||
|
(при их наличии).
|
||||||
Для каждой фичи производится копирование подкаталогов,
|
|
||||||
соответствующих запрошенным субпрофилям, а также выполняется
|
|
||||||
скрипт generate.sh и задействуется generate.mk (при их наличии).
|
|
||||||
|
|
||||||
Несложный пример содержится в 00example/, более близкий к жизни
|
Несложный пример содержится в 00example/, более близкий к жизни
|
||||||
и нынешним пределам возможностей метапрофиля -- в syslinux/.
|
и нынешним пределам возможностей метапрофиля -- в syslinux/.
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
При добавлении скриптов в image-scripts.d/ следует позаботиться,
|
При добавлении скриптов в image-scripts.d/ следует позаботиться,
|
||||||
чтобы в компактном livecd, которым является инсталятор, оказались
|
чтобы в компактном livecd, которым является инсталятор, оказались
|
||||||
нужные утилиты (INSTALL2_PACKAGES). Перегружать его не следует,
|
нужные им утилиты (INSTALL2_PACKAGES). Перегружать его не следует,
|
||||||
поскольку это прямо влияет на требования по минимальному размеру
|
поскольку это прямо влияет на требования по минимальному размеру
|
||||||
оперативной памяти для установки.
|
оперативной памяти для установки.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user