diff --git a/packages/sysutils/systemd/scripts/systemd-machine-id-setup b/packages/sysutils/systemd/scripts/systemd-machine-id-setup index 5db1be3131..bee033bfc5 100755 --- a/packages/sysutils/systemd/scripts/systemd-machine-id-setup +++ b/packages/sysutils/systemd/scripts/systemd-machine-id-setup @@ -12,6 +12,9 @@ MACHINEID="$(cat /storage/.cache/systemd-machine-id 2>/dev/null)" [[ "${MACHINEID//[a-f0-9]/}" != "" ]] && MACHINEID= [ -z "${MACHINEID}" ] && MACHINEID=$(/usr/bin/dbus-uuidgen) +# For first boot detection systemd may have overmounted the file +umount /storage/.cache/systemd-machine-id >/dev/null 2>&1 + # persist uuid mkdir -p /storage/.cache echo "$MACHINEID" > /storage/.cache/systemd-machine-id diff --git a/packages/sysutils/systemd/system.d/machine-id.service b/packages/sysutils/systemd/system.d/machine-id.service index 450b90a9f2..ff56727781 100644 --- a/packages/sysutils/systemd/system.d/machine-id.service +++ b/packages/sysutils/systemd/system.d/machine-id.service @@ -1,7 +1,9 @@ [Unit] Description=Setup machine-id DefaultDependencies=no -Before=systemd-journald.service systemd-tmpfiles-setup-dev.service +Conflicts=shutdown.target +Before=systemd-journald.service systemd-tmpfiles-setup-dev.service shutdown.target +After=local-fs.target [Service] Type=oneshot