[systemd-devel] /etc/machine-id has wrong SELinux file context and changes on second boot

Sebert, Holger.ext Holger.Sebert.ext at karlstorz.com
Mon Mar 18 13:25:31 UTC 2024


Hi!

I am having issues with systemd's machine-id: On first boot it is
created, i.e. the file /etc/machine-id changes from “unintialized” to a
hash value; but it has the wrong SELinux file context, namely
“init_runtime_t”.

Furthermore, I am getting the following error message:

localhost systemd[1]: systemd-machine-id-commit.service: Main process exited, code=exited, status=1/FAILURE
localhost systemd-machine-id-setup[424]: Failed to unmount transient /etc/machine-id file: No such file or directory.
localhost systemd-machine-id-setup[424]: We keep that mount until next reboot.
localhost systemd[1]: systemd-machine-id-commit.service: Failed with result 'exit-code'.

On the next boot, /etc/machine-id has the correct SELinux file context,
namely, “etc_runtime_t”, but the ID has changed! On subsequent boots,
it remains unchanged, however.

I think this could be related to this old bug:

https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1411140

And, indeed, we are also using OverlayFS (in a Yocto/Poky (mickledore)
environment).

Do you have an idea how to work around this problem?

Best,
Holger


More information about the systemd-devel mailing list