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