ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] [RFC] make-initrd
@ 2014-01-14 13:58 Alexey Gladkov
  2014-01-14 14:12 ` [devel] Dracut (was: make-initrd) Sergey V Turchin
                   ` (2 more replies)
  0 siblings, 3 replies; 32+ messages in thread
From: Alexey Gladkov @ 2014-01-14 13:58 UTC (permalink / raw)
  To: ALT Devel discussion list

Привет!

Недавно мне пришла мысль о переделке 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



^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2014-01-16 21:36 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-14 13:58 [devel] [RFC] make-initrd Alexey Gladkov
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

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