]> code.ossystems Code Review - openembedded-core.git/commitdiff
image: call systemctl preset-all for images
authorAlex Kiernan <alex.kiernan@hivehome.com>
Thu, 2 May 2019 21:09:44 +0000 (22:09 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 2 May 2019 21:20:24 +0000 (22:20 +0100)
Rather than rely on systemd's default invocation of preset-all at
runtime, we pre-populate the symlink tree as part of of the image. This
is done late so any overrides of presets during rootfs construction
should already have happened.

Whilst we don't strictly need this for the read-write root case, it
avoids boot time churn; for read-only root we have to do it here.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/image.bbclass

index 276d0d31f4a53ef4eb8a19ed2ebdc9078207c859..a23403c0827a6b6263de463629786b7ec3bcbd0a 100644 (file)
@@ -664,6 +664,13 @@ reproducible_final_image_task () {
         find  ${IMAGE_ROOTFS} -exec touch -h  --date=@$REPRODUCIBLE_TIMESTAMP_ROOTFS {} \;
     fi
 }
-IMAGE_PREPROCESS_COMMAND_append = " reproducible_final_image_task; "
+
+IMAGE_EXTRADEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-systemctl-native', '', d)}"
+
+systemd_preset_all () {
+       systemctl --root="${IMAGE_ROOTFS}" --preset-mode=enable-only preset-all
+}
+
+IMAGE_PREPROCESS_COMMAND_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd_preset_all;', '', d)} reproducible_final_image_task; "
 
 CVE_PRODUCT = ""