Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mkimage-profiles
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ximper Linux
mkimage-profiles
Commits
b69a8a63
Commit
b69a8a63
authored
Jul 20, 2011
by
Michael Shigorin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
README update
reword 'em, structurize 'em, facelift 'em too
parent
24ce6f54
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
41 additions
and
43 deletions
+41
-43
Makefile
Makefile
+1
-1
README
README
+28
-29
README
features.in/README
+11
-12
README
sub.in/install2/README
+1
-1
No files found.
Makefile
View file @
b69a8a63
...
...
@@ -5,7 +5,7 @@
# 3. copy subprofiles, script hooks, and package lists/groups
# from metaprofile to new profile (as needed)
# --- in BUILDDIR
# 4. build subprofiles and subsequently image
# 4. build subprofiles and subsequently
the
image
all help
:
@
echo
'** available distribution targets:'
...
...
README
View file @
b69a8a63
...
...
@@ -7,9 +7,8 @@ configurables: ~/.mkimage/profiles.mk,
see doc/profiles.mk.sample and libdistro.mk
Концепция:
- метапрофиль служит репозиторием всего возможно нужного для
построения индивидуального профиля, по которому создаётся
итоговый дистрибутив
- метапрофиль служит репозиторием для построения индивидуального
профиля, по которому создаётся итоговый дистрибутив
- для одноразовых модификаций можно подправить сгенерированный
профиль, для долгосрочной разработки стоит вливать правки
в метапрофиль (что требует больше навыков и времени)
...
...
@@ -27,32 +26,32 @@ see doc/profiles.mk.sample and libdistro.mk
- сборка дистрибутива
Объекты:
- дистрибутивы:
distro.mk, могут основываться один на другом;
желательно избегать множественного наследования, используя
вместо него блоки use/*
- субпрофили (список собирается в $(SUBPROFILES)):
+
stage1: propagator и ядро инсталятора
+ install2: сам инсталятор
+
main: пакетная база к инсталяции (обязательная и дополнительная
)
+
...
- блоки функциональности use/*: не являются самостоятельны
ми
(не путать с дистрибутивами), но законченными; описываются
в use.mk либо же в индивидуальных features.in/*/config.mk,
если необходимо дополнить не только distcfg.mk, а и дерево
формируемого профиля
- фичи: законченные кусочки функциональности, могут зависеть
друг от друга; сливаются с соответствующими субпрофилями
при сборке $(BUILDDIR), могут нести с собой копируемые в один
или несколько субпрофилей каталоги/файлы и могут выполнять
необходимые действия во время сборки после копирования
(generate.sh, generate.mk). NB: добавляем в $(FEATURES)
(из того же config.mk, который будет включён в distro.mk)!
- списки пакетов
: большая человеческая просьба по возможности
избегать дублирования и подумать над pkg/lists/tagged...
NB: следует крайне осторожно пользоваться COMMON_PACKAGES,
т.к. указанные пакеты попадут во все стадии (в т.ч.
stage1 и install2, чувствительные к объёму).
- дистрибутивы:
+ описываются в distro.mk
+ могут основываться один на другом
+ включают один или более субпрофилей по надобности
+
желательно избегать множественного наследования, см. тж. фичи
- субпрофили:
+
список собирается в $(SUBPROFILES
)
+
базовые комплекты помещены в подкаталогах под sub.in/;
их наборы скриптов могут расширяться фича
ми
- stage1: propagator, ядро инсталятора и initrd в т.ч. с firmware
- install2: сам инсталятор (и модули ядра)
- main: пакетная база к инсталяции (обязательная и дополнительная)
- фичи:
+ список собирается в $(FEATURES)
+ законченные блоки функциональности (или наборы таковых)
+ описываются в индивидуальных features.in/*/config.mk
+ могут зависеть друг от друга и требовать субпрофили
+ при сборке $(BUILDDIR) содержимое указанных в $(FEATURES) фич
(подкаталоги, соответствующие входящим в дистрибутив субпрофилям)
добавляется в профиль; затем выполняются generate.sh, generate.mk
- списки пакетов
(*_LISTS): просьба по возможности избегать дублирования
- индивидуальные пакеты (*_PACKAGES): следует крайне осторожно пользоваться
COMMON_PACKAGES -- эти пакеты попадут во все стадии, в том числе в образ
чувствительной к объёму install2 (в stage1 -- только в инструментальный
чрут); применяйте для того, что обязано быть и в инсталяторе, и в готовой
системе
Результат:
- при успешном завершении сборки образ называется сообразно
...
...
features.in/README
View file @
b69a8a63
...
...
@@ -2,20 +2,19 @@
каталоги, содержимое каждого из которых реализует одну из
подключаемых автономных возможностей дистрибутива.
Каждая фича должна содержать файл config.mk, включаемый
в ../distro.mk и как минимум содержащий добавление имени
этой фичи в переменную FEATURES на этапе создания конфигурации
профиля.
Каждая фича должна содержать задействуемый при построении
конфигурации будущего образа файл config.mk, включаемый
в ../distro.mk; он может описывать одну или более целей
вида use/*, дополняющих конфигурацию дистрибутива, и при
наличии дополнительных хуков для копирования или generate.*
должен добавить имя фичи в $(FEATURES).
На этапе
создания собственно профиля этот каталог задействуе
тся
На этапе
генерации дистрибутивного профиля фичи рассматриваю
тся
после инициализации профиля (см. ../image.in/) и копирования
субпрофилей (см. ../sub.in/); обход его подкаталогов производится
в порядке отсортированных по алфавиту имён из списка,
содержащегося в переменной FEATURES.
Для каждой фичи производится копирование подкаталогов,
соответствующих запрошенным субпрофилям, а также выполняется
скрипт generate.sh и задействуется generate.mk (при их наличии).
субпрофилей (см. ../sub.in/). Для каждой фичи, указанной
в $(FEATURES), копируются подкаталоги сообразно субпрофилям,
а также выполняется скрипт generate.sh и задействуется generate.mk
(при их наличии).
Несложный пример содержится в 00example/, более близкий к жизни
и нынешним пределам возможностей метапрофиля -- в syslinux/.
sub.in/install2/README
View file @
b69a8a63
...
...
@@ -3,7 +3,7 @@
При добавлении скриптов в image-scripts.d/ следует позаботиться,
чтобы в компактном livecd, которым является инсталятор, оказались
нужные утилиты (INSTALL2_PACKAGES). Перегружать его не следует,
нужные
им
утилиты (INSTALL2_PACKAGES). Перегружать его не следует,
поскольку это прямо влияет на требования по минимальному размеру
оперативной памяти для установки.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment