nixos/systemd: Enable systemd-machine-id-commit.service
Prior to this contribution, every boot with a default configuration was considered `ConditionFirstBoot=true` by systemd, since /etc/machine-id was not commited to disk. This also extends the systemd with a check for subsequent boots not being considered first boots.
This commit is contained in:
parent
a1071d0055
commit
8f4b41cfd4
@ -160,6 +160,7 @@ let
|
||||
|
||||
# Misc.
|
||||
"systemd-sysctl.service"
|
||||
"systemd-machine-id-commit.service"
|
||||
] ++ optionals cfg.package.withTimedated [
|
||||
"dbus-org.freedesktop.timedate1.service"
|
||||
"systemd-timedated.service"
|
||||
|
@ -85,10 +85,17 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
import re
|
||||
import subprocess
|
||||
|
||||
machine.start(allow_reboot=True)
|
||||
|
||||
# Will not succeed unless ConditionFirstBoot=yes
|
||||
machine.wait_for_unit("first-boot-complete.target")
|
||||
|
||||
# Make sure, a subsequent boot isn't a ConditionFirstBoot=yes.
|
||||
machine.reboot()
|
||||
machine.wait_for_x()
|
||||
state = machine.get_unit_info("first-boot-complete.target")['ActiveState']
|
||||
assert state == 'inactive', "Detected first boot despite first-boot-completed.target was already reached on a previous boot."
|
||||
|
||||
# wait for user services
|
||||
machine.wait_for_unit("default.target", "alice")
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user