2010-09-22 00:58:24 +03:00
Этот каталог содержит т.н. фичи (features, особенности) --
каталоги, содержимое каждого из которых реализует одну из
2011-11-06 21:57:28 +02:00
подключаемых автономных возможностей образа.
2010-09-22 00:58:24 +03:00
2011-07-20 21:45:28 +03:00
Каждая фича должна содержать задействуемый при построении
конфигурации будущего образа файл config.mk, включаемый
2011-10-06 11:46:31 +03:00
в ../Makefile; он может описывать одну или более целей
2011-11-06 21:57:28 +02:00
вида use/*, дополняющих конфигурацию, и при наличии
дополнительных хуков для копирования или generate.*
2011-07-20 21:45:28 +03:00
должен добавить имя фичи в $(FEATURES).
2010-09-22 00:58:24 +03:00
2011-11-06 21:57:28 +02:00
Н а этапе генерации сборочного профиля фичи рассматриваются
2010-09-22 00:58:24 +03:00
после инициализации профиля (см. ../image.in/) и копирования
2011-07-20 21:45:28 +03:00
субпрофилей (см. ../sub.in/). Для каждой фичи, указанной
в $(FEATURES), копируются подкаталоги сообразно субпрофилям,
2011-09-13 19:15:42 +03:00
а также производится обработка {tagged/,}{image-},scripts.d/
(см. cleanup/ в качестве примера); затем выполняется скрипт
generate.sh и задействуется generate.mk (при их наличии).
NB: тегированные скрипты являются экспериментальными,
возможны недоработки и существенные изменения!
2010-09-22 00:58:24 +03:00
2011-09-11 16:08:31 +03:00
Если фича дополняет хуками семейство целевых субпрофилей,
построенных на одном базовом, можно воспользоваться подкаталогом
с именем исходного базового субпрофиля (см. $src, $dst в Makefile).
2011-10-06 11:46:31 +03:00
Каталог lib/ является специфическим для фич, определяющих
2011-11-06 21:57:28 +02:00
построение конкретного вида образа -- см. build-*/.
2011-10-06 11:46:31 +03:00
2010-09-22 00:58:24 +03:00
Несложный пример содержится в 00example/, более близкий к жизни
и нынешним пределам возможностей метапрофиля -- в syslinux/.
2011-11-06 21:57:28 +02:00
Основные фичи для построения дистрибутивных образов:
- stage1: propagator, ядро инсталятора и initrd в т.ч. с firmware
- stage2: базовый live-образ (и модули ядра, соответствующие stage1);
используется фичами install2, live, rescue
- main: пакетная база