2011-06-21 13:47:28 +04:00
see also http://www.altlinux.org/Mkimage/Profiles/next
2010-09-14 09:44:35 +04:00
2011-06-21 13:47:28 +04:00
quickstart: make server-base.iso
(NB: requires configured http://en.altlinux.org/Hasher)
2010-09-27 23:02:57 +04:00
2011-06-12 22:27:49 +04:00
configurables: ~/.mkimage/profiles.mk,
see doc/profiles.mk.sample and libdistro.mk
2010-09-14 09:44:35 +04:00
Концепция:
- метапрофиль служит репозиторием всего возможно нужного для
построения индивидуального профиля, по которому создаётся
итоговый дистрибутив
2011-01-25 03:22:52 +03:00
- для одноразовых модификаций можно подправить сгенерированный
профиль, для долгосрочной разработки стоит вливать правки
в метапрофиль (что требует больше навыков и времени)
2010-09-14 09:44:35 +04:00
Особенности:
2010-09-27 23:02:57 +04:00
- метапрофиль может быть полностью read-only при сборке
2010-09-14 09:44:35 +04:00
- для сборки подыскивается предпочтительно tmpfs
server-ovz; KDEFAULT; syslinux features reworked
Renamed server-light.iso into server-ovz.iso to avoid brand dilution
and confusion (rider@'s server-light rather favours kvm, anyways).
Introduced KDEFAULT: a reliable default kernel chooser knob
since apt's regex ordering proved pretty unreliable.
Spelling things explicitly is better anyways.
SYSLINUX related features undergone pretty major rewrite
(that includes syslinux, hdt and memtest).
The problem to tackle was features.in/syslinux/generate.mk
assuming syslinux and pciids available in build *host* system;
this well might not be the case (or worse yet, those can be
just different). So now we're a bit less elegant and a bit
more enterprise, stuffing things into chroot and working there.
Bunch of other fixes along the road, including ; to name a few:
- fixed memtest entry (overlooked while renaming SYSLINUX_ITEMS)
- new and shiny doc/CodingStyle
- gfxboot, stage1 target chain, hdt tweaks
- distro.mk rehashed
- README++
- TODO: dropped (integer overflow anyways)
+ actually moved off-tree to reduce commit spam
- s,\.config\.mk,distcfg.mk,g
- doc/profiles.mk.sample: sample ~/.mkimage/profiles.mk
- ...and assorted fixups/additions
Sorry for convoluted commit, this would have been pretty hard to
rework into some really readable shape (and you might be interested
in the original repo's history horrors then, anyways).
2011-05-31 02:05:33 +04:00
- в профиль копируются только нужные объекты;
он автономен относительно метапрофиля
2010-09-09 13:50:29 +04:00
2010-09-22 01:58:24 +04:00
Стадии работы:
2010-12-03 17:53:02 +03:00
- инициализация дистрибутивного профиля
2010-09-22 01:58:24 +04:00
- сборка конфигурации дистрибутива
2010-12-03 17:53:02 +03:00
- наполнение дистрибутивного профиля
2010-09-22 01:58:24 +04:00
- сборка дистрибутива
2010-09-09 13:50:29 +04:00
Объекты:
- дистрибутивы: distro.mk, могут основываться один на другом;
желательно избегать множественного наследования, используя
2010-09-14 14:18:53 +04:00
вместо него блоки use/*
- субпрофили (список собирается в $(SUBPROFILES)):
2011-06-12 22:27:49 +04:00
+ stage1: propagator и ядро инсталятора
+ install2: сам инсталятор
2010-09-09 13:50:29 +04:00
+ main: пакетная база к инсталяции (обязательная и дополнительная)
2010-08-28 20:28:42 +04:00
+ ...
2010-09-14 14:18:53 +04:00
- блоки функциональности use/*: не являются самостоятельными
2011-06-21 13:47:28 +04:00
(не путать с дистрибутивами), но законченными; описываются
в use.mk либо же в индивидуальных features.in/*/config.mk,
если необходимо дополнить не только distcfg.mk, а и дерево
формируемого профиля
2010-09-14 14:18:53 +04:00
- фичи: законченные кусочки функциональности, могут зависеть
друг от друга; сливаются с соответствующими субпрофилями
2011-01-25 03:22:52 +03:00
при сборке $(BUILDDIR), могут нести с собой копируемые в один
2010-09-14 14:18:53 +04:00
или несколько субпрофилей каталоги/файлы и могут выполнять
необходимые действия во время сборки после копирования
(generate.sh, generate.mk). NB: добавляем в $(FEATURES)
2011-01-25 03:22:52 +03:00
(из того же config.mk, который будет включён в distro.mk)!
2010-09-09 13:50:29 +04:00
- списки пакетов: большая человеческая просьба по возможности
2010-09-14 14:18:53 +04:00
избегать дублирования и подумать над pkg/lists/tagged...
2010-09-22 01:58:24 +04:00
NB: следует крайне осторожно пользоваться COMMON_PACKAGES,
т.к. указанные пакеты попадут во все стадии (в т.ч.
stage1 и install2, чувствительные к объёму).
2011-05-11 23:40:47 +04:00
Результат:
- при успешном завершении сборки образ называется сообразно
дистрибутиву и укладывается в $(IMAGEDIR):
+ указанный явно,
+ либо ~/out/ (если возможно),
+ или $(BUILDDIR)/out/ иначе