1ef77caf70
build-vm ceases to be a target for building only virtual machine images. Now it can be used to build tarballs designed for installation on real machines. This commit is the result of transferring the required functionality from build-mr (mipsel rootfs) by Ivan Melnikov <iv@altlinux.org>. NB: mike@ strongly objected to this dilution but gave up eventually; the whole kernel/build-vm/tar2fs/pack mess should be split into distinct layers busy with their own responsibilities: 1) a tarball with kernel is done without tar2fs at all (and no build-vm bits should be needed either, maybe it's worth splitting and renaming as "vm" meaning disk image for some armh board is grossly misleading); 2) a tarball with kernel can be further (multi-)packed as, well, (compressed) tarball and a disk image (only the latter one should employ build-vm/tar2fs); 3) compression should be done in pack feature style, preferably described once and not duplicated all over the profile for every single new kind of its output. In the mean time, running into this and moving no further starts to hurt more than it could help. |
||
---|---|---|
.gear | ||
bin | ||
conf.d | ||
doc | ||
features.in | ||
image.in | ||
lib | ||
pkg.in | ||
sub.in | ||
.gitignore | ||
COPYING | ||
main.mk | ||
Makefile | ||
QUICKSTART | ||
README | ||
reports.mk |
== Welcome to m-p! == *Brief summary* Configurables: ~/.mkimage/profiles.mk; see doc/params.txt and conf.d/README License: GPLv2+, see COPYING Most docs are in Russian, welcome to learn it or ask for English. Задача: * конфигурирование и создание образов на базе ALT Linux Концепция: * конфигурация, как и образ -- объект постадийной сборки * метапрофиль служит репозиторием для построения индивидуального профиля, по которому создаётся итоговый образ Особенности: * метапрофиль при сборке может быть доступен только на чтение * для сборки подыскивается предпочтительно tmpfs * в профиль копируются только нужные объекты; он автономен относительно метапрофиля Стадии работы: * инициализация сборочного профиля * сборка конфигурации образа * наполнение сборочного профиля * сборка образа Объекты: * дистрибутивы и виртуальные среды/машины: ** описываются в conf.d/*.mk ** могут основываться на предшественниках, расширяя их ** дистрибутивы также включают один или более субпрофилей по надобности ** желательно избегать множественного наследования, см. тж. фичи * субпрофили: ** список собирается в $(SUBPROFILES) ** базовые комплекты помещены в подкаталогах под sub.in/; их наборы скриптов могут расширяться фичами * фичи: ** законченные блоки функциональности (или наборы таковых) ** описываются в индивидуальных features.in/*/config.mk ** могут требовать другие фичи, а также субпрофили ** накопительный список собирается в $(FEATURES) ** при сборке $(BUILDDIR) содержимое фич добавляется в профиль * списки пакетов (*_LISTS): ** _внимание_: не надо создавать фичу, если достаточно списка пакетов! ** просьба по возможности избегать дублирования (см. bin/pkgdups) * индивидуальные пакеты (*_PACKAGES): см. тж. conf.d/README Результат: * при успешном завершении сборки образ называется по имени цели и укладывается в $(IMAGEDIR): ** указанный явно, ** либо ~/out/ (если возможно), ** или $(BUILDDIR)/out/ иначе * формируются отчёты, если запрошены (REPORT) См. тж.: * http://altlinux.org/m-p: обзорная документация, в т.ч. howto * doc/: ** params.txt: переменные, указываемые при запуске сборки ** pkglists.txt: формирование состава образа ** features.txt: обзор подключаемых особенностей Примечание: пути в документации задаются от каталога верхнего уровня, если не указаны как относительные в явном виде (./) или по смыслу. Удачи; что не так -- пишите. Michael Shigorin <mike@altlinux.org>