system: move sd_booted implementation to os abstraction

This implements lazy loading of the systemd marker (they are not accessed in init and shim) and ensures consistent behaviour when running with a stub.

Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
This commit is contained in:
2024-10-27 12:08:17 +09:00
parent 6d8bcb63f2
commit 7df9d8d01d
6 changed files with 51 additions and 77 deletions

View File

@@ -108,7 +108,7 @@ func (a *app) Seal(config *Config) error {
}
case method[LaunchMethodMachineCtl]:
seal.launchOption = LaunchMethodMachineCtl
if !internal.SdBootedV {
if !a.os.SdBooted() {
return fmsg.WrapError(ErrSystemd,
"system has not been booted with systemd as init system")
}