3c2ef1c035
Every .iso was assumed to be bootable since the very beginning[*], and isoboot images were deemed to be x86 isolinux ones; this didn't change with basic ppc/armh support as I never ran into hardware that would _boot_ those ISOs, not only run the code, and it was only e2k isodata project that finally forced this refactoring. It's still not perfect: pack and syslinux features still end up somewhat interwoven, and too much places care for architecture the image is being built for (instead of archdep features tossing their appropriate bits and pieces in). Should help: - any-arch regarding isodata images; - {x86,aarch64}/efi by decoupling isoboot and isolinux; - ppc{,64} as introducing yaboot support will be easier now; - mipsel{,64} too, hopefully. * I knew of school addon images baked with mkimage-profiles-desktop but postponed and then neglected the whole problem for years... |
||
---|---|---|
.. | ||
00example | ||
armh | ||
armh-cubox | ||
armh-dovefb | ||
armh-nexus7 | ||
armh-tegra3 | ||
bootloader | ||
branding | ||
browser | ||
build-distro | ||
build-ve | ||
build-vm | ||
cleanup | ||
control | ||
deflogin | ||
dev | ||
docs | ||
domain-client | ||
dos | ||
e2k | ||
efi | ||
firmware | ||
fonts | ||
hdt | ||
homeros | ||
im | ||
init | ||
install2 | ||
isohybrid | ||
isomd5sum | ||
kernel | ||
l10n | ||
ldm | ||
live | ||
lowmem | ||
ltsp | ||
luks | ||
mediacheck | ||
memclean | ||
memtest | ||
metadata | ||
net | ||
net-dns | ||
net-eth | ||
net-ssh | ||
net-usershares | ||
ntp | ||
oem | ||
pack | ||
pid1 | ||
pkgpriorities | ||
plymouth | ||
power | ||
relname | ||
repo | ||
rescue | ||
robotics | ||
server | ||
services | ||
slinux | ||
sound | ||
speech | ||
stage2 | ||
syslinux | ||
tty | ||
vagrant | ||
vmguest | ||
wireless | ||
x11 | ||
x11-autologin | ||
x11-autostart | ||
xdg-user-dirs | ||
Makefile | ||
README |
== features.in == Этот каталог содержит т.н. фичи (features, особенности). Фича -- отдельно подключаемая сущность, которая содержит повторно используемые конфигурацию/код и определяет одну из особенностей создаваемого образа. Может зависеть от других фич либо субпрофилей. Каждая фича должна содержать файл config.mk, включаемый в main.mk при построении конфигурации будущего профиля; он может описывать одну или более целей вида use/*, дополняющих конфигурацию, и обязан добавить имя фичи в $(FEATURES), для чего создана функция add_feature. На этапе генерации сборочного профиля фичи рассматриваются после инициализации профиля (см. image.in/) и копирования субпрофилей (см. sub.in/). Для каждой фичи, указанной в $(FEATURES), копируются подкаталоги сообразно включенным субпрофилям, а также lib/ и {image-,}scripts.d/; затем выполняются generate.sh и generate.mk при их наличии. Если фича дополняет хуками семейство целевых субпрофилей, построенных на одном базовом, можно воспользоваться подкаталогом с именем исходного базового субпрофиля (см. $src, $dst в Makefile). Рекомендуется давать несколько различающиеся имена скриптам, которые одна и та же фича может добавлять в различные стадии, чтобы они не выглядели одинаково в логе сборки. Наиболее востребованные цели можно снабжать "ярлычками" вроде "+icewm" с тем, чтобы сделать более краткими и выразительными использующие их правила. Просьба не злоупотреблять количеством, такие имена предполагается показывать в интерфейсе к профилю. Каталог lib/ является специфическим для фич, определяющих построение конкретного вида образа -- см. build-*/. Несложный пример содержится в 00example/, более близкий к жизни и нынешним пределам возможностей метапрофиля -- в syslinux/. См. тж. файлы README в каталогах фич (отсутствие -- баг!).