Go to file
Michael Shigorin 1a7eed303d pid1: initial "run as PID 1" feature
This one has been inspired by these guys:

  http://www.informatimago.com/linux/emacs-on-user-mode-linux.html
  https://raymii.org/s/blog/Vim_as_PID_1_Boot_to_Vim.html

It's aimed at building images running their main userspace
piece instead of ramdisk's init, that means PID=1, UID=0.

Mostly fun of course but it suddenly became interesting with
kernel IP autoconfiguration and e.g. elinks running this way
(NB: requires patched make-initrd 0.8.8 at the moment to get
resolver configured).

And startup times are way better than sysvinit and systemd combined!
2014-09-19 20:53:25 +04:00
.gear gear-store-tags 2014-09-15 22:22:00 +04:00
bin tar2vm: use UUID, prepare for virtio as well 2014-03-20 19:46:53 +04:00
conf.d live.mk: better fonts for webkiosks 2014-09-15 13:01:50 +04:00
doc kernel, stage2: rearranged initrd hooks 2014-09-19 20:53:24 +04:00
features.in pid1: initial "run as PID 1" feature 2014-09-19 20:53:25 +04:00
image.in fix kpackages() API 2014-09-19 20:53:25 +04:00
lib profile.mk: defer RC expansion 2014-08-27 22:30:59 +04:00
pkg.in rescue+extra: added archivemount 2014-08-31 16:23:37 +04:00
sub.in fix kpackages() API 2014-09-19 20:53:25 +04:00
.gitignore kernel and BUILDDIR fixes 2011-11-04 16:15:29 +02:00
COPYING actually released as free software 2011-11-04 16:15:30 +02:00
main.mk main.mk: target refactoring 2013-06-20 13:42:20 +04:00
Makefile added docs-publish toplevel goal 2014-06-24 15:29:10 +04:00
QUICKSTART QUICKSTART: added howto reference 2014-06-02 20:45:41 +04:00
README README: explained wiki link 2014-06-30 23:49:49 +04:00
reports.mk reports.mk: that space was extra 2014-06-04 19:09:11 +04:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

== 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>