Commit b69a8a63 authored by Michael Shigorin's avatar Michael Shigorin

README update

reword 'em, structurize 'em, facelift 'em too
parent 24ce6f54
...@@ -5,7 +5,7 @@ ...@@ -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:'
......
...@@ -7,9 +7,8 @@ configurables: ~/.mkimage/profiles.mk, ...@@ -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 ...@@ -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 @@ ...@@ -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 @@ ...@@ -3,7 +3,7 @@
При добавлении скриптов в image-scripts.d/ следует позаботиться, При добавлении скриптов в image-scripts.d/ следует позаботиться,
чтобы в компактном livecd, которым является инсталятор, оказались чтобы в компактном livecd, которым является инсталятор, оказались
нужные утилиты (INSTALL2_PACKAGES). Перегружать его не следует, нужные им утилиты (INSTALL2_PACKAGES). Перегружать его не следует,
поскольку это прямо влияет на требования по минимальному размеру поскольку это прямо влияет на требования по минимальному размеру
оперативной памяти для установки. оперативной памяти для установки.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment