В какой момент процесса загрузки запускаются генераторы systemd?
Страница man systemd.generator говорит, что генераторы запускаются очень рано при загрузке и что все они запускаются одновременно. В какой момент загрузки они запускаются?
Насколько я понимаю, зажигание CoreOS реализовано в виде генератора, который запускается после монтирования initramfs, но перед поворотом к корневой файловой системе, это специфическая для CoreOS вещь или это распространено в любой ОС, использующей systemd init?
1 ответ
В какой момент загрузки они запускаются?
Они запускаются каждый раз при запуске менеджера systemd-pid1: https://github.com/systemd/systemd/blob/v235/src/core/manager.c#L1333
На практике это означает либо один из самых первых шагов, когда выполняется pid1, либо после перезагрузки демона. Последний также включает в себя переход между initramfs и настоящим rootfs.
зажигание реализовано в виде генератора
Зажигание реализовано не как генератор, а как служба initramfs при первой загрузке. Если вы прочитали какую-либо страницу документации, в которой говорится, что воспламенение является генератором systemd, пожалуйста, сообщите об ошибке, поскольку это неверно.
это специфичная для CoreOS вещь или это распространено в любой ОС, использующей systemd init?
Зажигание является специфическим компонентом CoreOS. Он имеет открытый исходный код и может быть перенесен в любой системный дистрибутив, но я не знаю ни о каком другом дистрибутиве, использующем его. Смотрите https://github.com/coreos/ignition