LINUX.ORG.RU
ФорумAdmin

Запустить initramfs с systemd c /etc на отдельном разделе

 ,


0

1

У меня есть сборка buildroot с systemd и initramfs, понадобилось чтобы была возможность конфигурирования systemd и проч., перенести раздел /etc из инитрамфс на отдельный раздел.

Но возник вопрос, как смонтировать раздел, который нужен для запуска systemd? uBoot запускает initramfs а там уже systemd

Может кто сталкивался уже с таким?

Спасибо!

Можно и сам initramfs редактировать, это просто сжатый образ. Распаковка внесение изменений запаковка.

anonymous
()

избавься от initramfs, вкомпилив дрова для / в ядро

anonymous
()

uBoot запускает initramfs а там уже systemd

Разве?

Процесс загрузки(примерный, с моей точки зрения)

  • bootloader
  • ядро
  • initramfs
  • systemd

initramfs готовит всё для запуска системы и потом передаёт управление init подсистеме, systemd в вашем случае.

Ничего не мешает добавить в последовательность логики initramfs скрипт для монтирования кого и куда надо.

PS я в своём случае к примеру для manjaro силами mkinitcpio добавлял туда скрипт для загрузки образа rootfs по сети и монтировал его как tmpfs

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

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

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

Он в initramfs есть, его монтировать не надо. Нужные изменения прямо в /etc в initramfs сделать.

…и после ребута потерять изменения?

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

У вас в boot лежит файл initramfs вот его редактируете. Делаете копию, распаковываете там такая же иерархия как и в обычной системе и есть /etc в него пишите что надо и запаковываете обратно. Грузитесь потом с этим initramfs . Он от перезагрузок никак не меняется

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

и после ребута потерять изменения?

Нет, изменения останутся в инитрамфс, после ребута, если вы не поменяете инитрамфс, ничего не потеряется, вам было бы проще с сисвинит, там в качестве инит, в инитрамфс, выступает простой sh скрипт, соответственно, полная свобода действий, что хотите, то и монтируйте

Потом этот скрипт делает pivot_root и вызывает настоящий инит, и номер процесса сохраняется кажется с помощью exec

IvanR ★★★
()
Последнее исправление: IvanR (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.