If not set only an empty /etc/machine-id will be installed. Signed-off-by: Artur Wiebe <ar...@4wiebe.de> --- projectroot/etc/machine-id | 0 rules/machine-id.in | 22 ++++++++++++++++++---- rules/machine-id.make | 4 ++++ rules/machine-id.postinst | 5 +++-- 4 files changed, 25 insertions(+), 6 deletions(-) create mode 100644 projectroot/etc/machine-id
diff --git a/projectroot/etc/machine-id b/projectroot/etc/machine-id new file mode 100644 index 000000000..e69de29bb diff --git a/rules/machine-id.in b/rules/machine-id.in index f18fec554..2a3901f41 100644 --- a/rules/machine-id.in +++ b/rules/machine-id.in @@ -1,11 +1,25 @@ ## SECTION=initmethod -config MACHINE_ID +menuconfig MACHINE_ID tristate prompt "create /etc/machine-id" - select RC_ONCE if RUNTIME - select UTIL_LINUX_NG if !INITMETHOD_SYSTEMD - select UTIL_LINUX_NG_UUIDGEN if !INITMETHOD_SYSTEMD + select RC_ONCE if MACHINE_ID_RC_ONCE && RUNTIME + select UTIL_LINUX_NG if MACHINE_ID_RC_ONCE && !INITMETHOD_SYSTEMD + select UTIL_LINUX_NG_UUIDGEN if MACHINE_ID_RC_ONCE && !INITMETHOD_SYSTEMD help Enable this to make sure there is always a unique /etc/machine-id available in the system. + +if MACHINE_ID + +config MACHINE_ID_RC_ONCE + bool "generate (bbinit) or save (systemd) machine-id using rc-once at first boot" + default y + help + If not set only an empty /etc/machine-id will be installed. + Systemd: + If /etc/machine-id exists and is empty, systemd will bind-mount + a file containing the new machine-id over it and later try + to commit it to disk (if /etc/ is writable). + +endif diff --git a/rules/machine-id.make b/rules/machine-id.make index 3883d64cb..5d66829da 100644 --- a/rules/machine-id.make +++ b/rules/machine-id.make @@ -27,7 +27,11 @@ $(STATEDIR)/machine-id.targetinstall: @$(call install_fixup,machine-id,AUTHOR,"Michael Olbrich <m.olbr...@pengutronix.de>") @$(call install_fixup,machine-id,DESCRIPTION,missing) + @$(call install_alternative, machine-id, 0, 0, 0444, /etc/machine-id) + +ifdef MACHINE_ID_RC_ONCE @$(call install_alternative, machine-id, 0, 0, 0755, /etc/rc.once.d/machine-id) +endif @$(call install_finish,machine-id) diff --git a/rules/machine-id.postinst b/rules/machine-id.postinst index 2060129d1..f1648226b 100644 --- a/rules/machine-id.postinst +++ b/rules/machine-id.postinst @@ -1,3 +1,4 @@ #!/bin/sh -touch "$DESTDIR/etc/machine-id" -$DESTDIR/usr/sbin/enable-rc-once machine-id +if [ -f $DESTDIR/etc/rc.once.d/machine-id ]; then + $DESTDIR/usr/sbin/enable-rc-once machine-id +fi -- 2.29.2 _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-requ...@pengutronix.de