在启动过程中,systemd生成器在什么时候运行?

时间:2017-11-30 11:36:09

标签: init systemd coreos coreos-ignition

systemd.generator man page表示生成器在启动时很早就运行,并且它们都在同一时间运行。它们在启动的什么时候实际运行?

根据我的理解,CoreOS的ignition是作为运行after the initramfs is mounted but before pivoting to the root filesystem的生成器实现的,这是CoreOS特定的东西还是对于任何使用systemd init的操作系统来说都是常见的?

1 个答案:

答案 0 :(得分:2)

  

在启动的什么时候他们实际上运行了?

每次启动systemd-pid1管理器时它们都会运行:https://github.com/systemd/systemd/blob/v235/src/core/manager.c#L1333

实际上,这意味着要么是执行pid1时的最初步骤之一,要么是在守护进程重新加载之后。后者还包括initramfs和真正的rootfs之间的转换。

  

点火作为发电机实施

Ignition不是作为生成器实现的,而是作为第一启动initramfs服务实现的。如果您阅读任何说明点火是系统生成器的文档页面,请报告错误,因为它不正确。

  

这是一个CoreOS特定的东西,或者这对于任何使用systemd init的操作系统来说都是常见的吗?

Ignition是CoreOS特定组件。它是开源的,可以移植到任何基于systemd的发行版,但我不知道使用它的任何其他发行版。见https://github.com/coreos/ignition