There is no reason to have an emtpy machine-id as part of the systemd package. Either:
i) the filesystem is writable and the file will be created automatically; or ii) the filesystem is read-only, in which case the empty machine-id file should be created as part of the read-only-rootfs tweaks. --- meta/classes/rootfs-postcommands.bbclass | 6 ++++++ meta/recipes-core/systemd/systemd-conf.bb | 9 ++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/meta/classes/rootfs-postcommands.bbclass b/meta/classes/rootfs-postcommands.bbclass index bde58ad6cd..89f8efd323 100644 --- a/meta/classes/rootfs-postcommands.bbclass +++ b/meta/classes/rootfs-postcommands.bbclass @@ -126,6 +126,12 @@ read_only_rootfs_hook () { ${IMAGE_ROOTFS}/etc/init.d/populate-volatile.sh fi fi + + if ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "true", "false", d)}; then + # 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 ${IMAGE_ROOTFS}${sysconfdir}/machine-id + fi } # diff --git a/meta/recipes-core/systemd/systemd-conf.bb b/meta/recipes-core/systemd/systemd-conf.bb index 9bb27fd96d..7fe2e1105b 100644 --- a/meta/recipes-core/systemd/systemd-conf.bb +++ b/meta/recipes-core/systemd/systemd-conf.bb @@ -7,14 +7,13 @@ DefaultTimeoutStartSec setting." PACKAGE_ARCH = "${MACHINE_ARCH}" -CONFFILES_${PN} = "${sysconfdir}/machine-id \ -${sysconfdir}/systemd/coredump.conf \ +CONFFILES_${PN} = "${sysconfdir}/systemd/coredump.conf \ ${sysconfdir}/systemd/journald.conf \ ${sysconfdir}/systemd/logind.conf \ ${sysconfdir}/systemd/system.conf \ ${sysconfdir}/systemd/user.conf" -FILES_${PN} = "${sysconfdir}/machine-id ${sysconfdir}/systemd" +FILES_${PN} = "${sysconfdir}/systemd" do_configure[noexec] = '1' do_compile[noexec] = '1' @@ -23,10 +22,6 @@ do_install() { rm -rf ${D}/${sysconfdir}/systemd install -d ${D}/${sysconfdir}/systemd - # 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 - install -m 0644 ${S}/src/coredump/coredump.conf ${D}${sysconfdir}/systemd/coredump.conf install -m 0644 ${S}/src/journal/journald.conf ${D}${sysconfdir}/systemd/journald.conf -- 2.19.1 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core