ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Alexey Gladkov <legion@altlinux.ru>
To: ALT Devel discussion list <devel@lists.altlinux.org>
Subject: [devel] [RFC] make-initrd
Date: Tue, 14 Jan 2014 17:58:43 +0400
Message-ID: <52D54293.3030108@altlinux.ru> (raw)

Привет!

Недавно мне пришла мысль о переделке runtime части make-initrd с целью
повышения гибкости и увеличения сфер применения.

Первая идея состоит в том, чтобы использовать в initramfs не скрипт
притворяющий init'ом, а использовать там вполне себе настоящий init.
Проведя некоторые исследования я пришёл к выводу, что обычный
немодифицированный sysv-init может уже рассматриваться как вполне себе
встраиваемое решение: sysv-init ~40K, upstart ~160K, systemd ~1,1M.

Ещё одна особенность sysv-init, которую я обнаружил у него это
возможность запустить вместо себя совершенно любой процесс.
Особенность очень полезная применительно к задачам в initramfs.

В случае использования sysv-init все стадии работы initramfs
превращаются в сервисы с зависимостями между собой (я использовал LSB
заголовки). Это поможет решить ряд вопросов с очисткой системы перед
переходом в реальную систему (например lo). А также наоборот с
пробросом в реальную систему сервисов (например plymouth) или ресурсов.

Потому что сейчас мы фактически изобретаем всё тоже самое: у нас есть
модули, у нас есть cleanup-стадия, убийство лишних процессов и т.д.
Вот только написано это очень примитивно.

Также этот подход позволит упростить некоторые существующие решения на
основе initramfs позволяя добавлять и отключать любые или почти любые
стадии/сервисы.

Для того чтобы понять возможна ли реализация этого на практике я
сделал очень грубый прототип:

http://git.altlinux.org/people/legion/packages/make-initrd.git?a=shortlog;h=refs/heads/sysinit

В нём есть поддержка загрузки только с обычного раздела и
тестировалось это лишь в qemu, но если кому интересно, то получить
представление о загрузке можно. Этот код сделан в основном для того
чтобы можно было посмотреть на новую компоновку initramfs.

-- 
Rgrds, legion



             reply	other threads:[~2014-01-14 13:58 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-14 13:58 Alexey Gladkov [this message]
2014-01-14 14:12 ` [devel] Dracut (was: make-initrd) Sergey V Turchin
2014-01-14 14:25   ` [devel] Dracut Alexey Gladkov
2014-01-14 14:45   ` [devel] make-initrd (was: Dracut) Michael Shigorin
2014-01-14 15:58   ` [devel] [RFC] make-initrd Alexey Gladkov
2014-01-14 18:23       ` Alexey Gladkov
2014-01-14 19:24         ` Viacheslav Dubrovskyi
2014-01-14 20:00           ` Michael Shigorin
2014-01-14 19:34         ` Dmitry V. Levin
2014-01-14 22:30           ` Alexey Gladkov
2014-01-14 23:34             ` Dmitry V. Levin
2014-01-15  0:07               ` Led
2014-01-15  0:36                 ` Dmitry V. Levin
2014-01-15  2:39                   ` Денис Смирнов
2014-01-15  3:00                     ` Led
2014-01-15  3:13                       ` Dmitry V. Levin
2014-01-15  3:50                         ` Led
2014-01-15  8:16                           ` Sergey Y. Afonin
2014-01-15  5:12                       ` Денис Смирнов
2014-01-15  3:08                     ` Dmitry V. Levin
2014-01-15  5:04                       ` Денис Смирнов
2014-01-15  8:56                       ` Alexey Gladkov
2014-01-15 12:27                         ` Dmitry V. Levin
2014-01-15 12:37                           ` Sergey V Turchin
2014-01-15 12:43                             ` Dmitry V. Levin
2014-01-15 12:48                               ` Sergey V Turchin
2014-01-15 12:41                           ` Alexey Gladkov
2014-01-15  8:13                   ` Sergey Y. Afonin
2014-01-15  8:08               ` Sergey Y. Afonin
2014-01-15  8:33               ` Alexey Gladkov
2014-01-15  8:01       ` Sergey Y. Afonin
2014-01-16 21:36 ` Alexey Gladkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52D54293.3030108@altlinux.ru \
    --to=legion@altlinux.ru \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git