On Sun, 2017-03-05 at 10:40 +0100, Nicolas Dechesne wrote: > hi, > > I am trying to understand why the systemd recipe creates an > empty /etc/machine-id file: > > # Create machine-id > > # 20:12 < mezcalero> koen: you have three options: a) run > systemd-machine-id-setup at install time, b) have / read-only and an > empty file there (for stateless) and c) boot with / writable > touch ${D}${sysconfdir}/machine-id
It's probably done for case b, the read-only rootfs (both when never mounted read/write and when initially read-only until fsck completes). systemd mounts a temporary machine-id over the empty file while the rootfs is read-only. This is definitely needed for the permanently read-only rootfs, because several services (for example, journald, if I remember correctly) do not run without a valid machine-id. I'm not 100% sure whether the "read-only initially" case also needs the file. If not, then perhaps it can be limited to images with "read-only" in IMAGE_FEATURES? > Having an empty machine-id file seems to prevent the > "ConditionFirstBoot" to be ever met, e.g. I have a service that tries > to use it, and at first boot i am seeing in systemctl status: > > ConditionFirstBoot=yes was not met When the rootfs is read-only permanently, does this condition still make sense? Probably not, because each boot would be considered a "first boot". Just wondering how this condition could be handled better. -- Best Regards, Patrick Ohly The content of this message is my personal opinion only and although I am an employee of Intel, the statements I make here in no way represent Intel's position on the issue, nor am I authorized to speak on behalf of Intel on this matter. -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core