LINUX.ORG.RU

как собрать initramfs с systemd ?

 


0

1

таким образом, чтобы пакет systemd не нужно было устанавливать в корневую систему?

вот тут немножко есть, но непонятно:
Systemd в initramfs своими руками (комментарий)

непонятно, например, какая программа будет запускаться первой, после того, как отработает такой initramfs. Если рассуждать абстрактно - то systemd из initramfs должен начать читать всякие-разные (какие?) конфиги с диска и запускать сервисы типа gdm (тоже с диска).

А люди говорят, что systemd становится две штуки - одна в initramfs а другая на диске... Как этого избежать?

Для сбора initramfs с systemd используй dracut, собранный с соответствующими флагами, а затем настроенный для сборки initramfs с соответствующими модулями (опциями).

таким образом, чтобы пакет systemd не нужно было устанавливать в корневую систему?

Так не получится, но попробуй вместо switch_root использовать pivot_root.

kostik87 ★★★★★ ()

таким образом, чтобы пакет systemd не нужно было устанавливать в корневую систему?

Я не умею в генту, но что-то мне подсказывает, что так нельзя. Откуда у тебя тогда будет сборщик initramfs брать нужные файлы? Не из воздуха же.

непонятно, например, какая программа будет запускаться первой, после того, как отработает такой initramfs

Тот инит, который у тебя на основной ФС.

Если рассуждать абстрактно - то systemd из initramfs должен начать читать всякие-разные (какие?) конфиги с диска и запускать сервисы типа gdm (тоже с диска).

Нет. При переходе из initramfs в основную ФС инит перезапускается.

А люди говорят, что systemd становится две штуки - одна в initramfs а другая на диске...

Что ты имеешь в виду? В памяти в каждый момент времени (за исключением самого процесса перехода) находится ровно одна копия инита, каким бы ни был этот инит.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1 )
Ответ на: комментарий от intelfx

Откуда у тебя тогда будет сборщик initramfs брать нужные файлы? Не из воздуха же.

сборщик - это одна машина, там будет стоять systemd
а рабочая машина - другая машина, там его не надо.

При переходе из initramfs в основную ФС инит перезапускается.

наверное это можно как-нибудь переопределить? Например чтобы корневая fs не замещала, а накладывалась при помощи overlayfs? не?

Indaril_Shpritz ()
Ответ на: комментарий от Indaril_Shpritz

Сделать-то можно всё что угодно (вот только при любой смене корневой ФС, в т. ч. на overlayfs, тебе всё равно придётся делать pivot_root и перезапускать инит). Вопрос один — зачем?

intelfx ★★★★★ ()
Ответ на: комментарий от intelfx

это у него повышенная злобность так проявляется, не обращай внимания

Indaril_Shpritz ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.