README 4.9 KB
Newer Older
1
Welcome to mkimage-profiles!
2

3 4
English quickstart: make distro/server-base.iso;
see http://en.altlinux.org/Hasher (and a large tmpfs).
5

6
Configurables: ~/.mkimage/profiles.mk;
Michael Shigorin's avatar
Michael Shigorin committed
7
see doc/profiles.mk.sample and libdistro.mk
8

9
License: GPLv2+, see COPYING.
10

11 12
Most docs in Russian, welcome to learn it or ask for English.
См. тж. http://www.altlinux.org/Mkimage/Profiles/next
Michael Shigorin's avatar
Michael Shigorin committed
13

14
Концепция:
Michael Shigorin's avatar
Michael Shigorin committed
15 16
- метапрофиль служит репозиторием для построения индивидуального
  профиля, по которому создаётся итоговый дистрибутив
Michael Shigorin's avatar
Michael Shigorin committed
17 18 19
- для одноразовых модификаций можно подправить сгенерированный
  профиль, для долгосрочной разработки стоит вливать правки
  в метапрофиль (что требует больше навыков и времени)
20 21

Особенности:
22
- метапрофиль может быть полностью read-only при сборке
23
- для сборки подыскивается предпочтительно tmpfs
24 25
- в профиль копируются только нужные объекты;
  он автономен относительно метапрофиля
Michael Shigorin's avatar
Michael Shigorin committed
26

Michael Shigorin's avatar
Michael Shigorin committed
27
Стадии работы:
Michael Shigorin's avatar
Michael Shigorin committed
28
- инициализация дистрибутивного профиля
Michael Shigorin's avatar
Michael Shigorin committed
29
- сборка конфигурации дистрибутива
Michael Shigorin's avatar
Michael Shigorin committed
30
- наполнение дистрибутивного профиля
Michael Shigorin's avatar
Michael Shigorin committed
31 32
- сборка дистрибутива

Michael Shigorin's avatar
Michael Shigorin committed
33
Объекты:
34 35 36
- виртуальные окружения:
  + описываются в lib/ve.mk
  + могут основываться одно на другом
Michael Shigorin's avatar
Michael Shigorin committed
37
- дистрибутивы:
38
  + описываются в lib/distro.mk
Michael Shigorin's avatar
Michael Shigorin committed
39 40 41 42 43 44 45 46
  + могут основываться один на другом
  + включают один или более субпрофилей по надобности
  + желательно избегать множественного наследования, см. тж. фичи
- субпрофили:
  + список собирается в $(SUBPROFILES)
  + базовые комплекты помещены в подкаталогах под sub.in/;
    их наборы скриптов могут расширяться фичами
    - stage1: propagator, ядро инсталятора и initrd в т.ч. с firmware
47 48 49 50 51
    - stage2: базовый live-образ (и модули ядра, соответствующие stage1);
      используется только с модификаторами (см. соответствующие фичи):
      + stage2/install2: инсталятор
      + stage2/live: LiveCD
      + stage2/rescue: спасательная система
Michael Shigorin's avatar
Michael Shigorin committed
52 53 54 55 56
    - main: пакетная база к инсталяции (обязательная и дополнительная)
- фичи:
  + список собирается в $(FEATURES)
  + законченные блоки функциональности (или наборы таковых)
  + описываются в индивидуальных features.in/*/config.mk
57
  + могут требовать другие фичи, а также субпрофили
Michael Shigorin's avatar
Michael Shigorin committed
58
  + при сборке $(BUILDDIR) содержимое указанных в $(FEATURES) фич
59 60
    (подкаталоги, соответствующие входящим в дистрибутив субпрофилям
    под их итоговыми названиями -- например, live, а не stage2/live) 
Michael Shigorin's avatar
Michael Shigorin committed
61
    добавляется в профиль; затем выполняются generate.sh, generate.mk
62
- списки пакетов (*_LISTS): просьба по возможности избегать дублирования;
63 64
  NB: перечисленные в этих переменных файлы автоматически копируются
  в порождаемый профиль => не следует указывать пакаджлисты напрямую
Michael Shigorin's avatar
Michael Shigorin committed
65
- индивидуальные пакеты (*_PACKAGES): следует крайне осторожно пользоваться
66
  SYSTEM_PACKAGES -- эти пакеты попадут во все стадии, в том числе в образ
Michael Shigorin's avatar
Michael Shigorin committed
67 68
  чувствительной к объёму install2 (в stage1 -- только в инструментальный
  чрут); применяйте для того, что обязано быть и в инсталяторе, и в готовой
69
  системе -- и не путайте с COMMON_PACKAGES (main, live, rescue)
70 71 72 73 74 75 76

Результат:
- при успешном завершении сборки образ называется сообразно
  дистрибутиву и укладывается в $(IMAGEDIR):
  + указанный явно,
  + либо ~/out/ (если возможно),
  + или $(BUILDDIR)/out/ иначе