@@ -59,13 +59,8 @@ DISTRO_FEATURES_FILTER_NATIVESDK:append = " opencl opencv openmp"
# Set global runtime providers for major components
ARAGO_SYSVINIT ?= "0"
-VIRTUAL-RUNTIME_dev_manager = "${@'udev' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else 'systemd'}"
-VIRTUAL-RUNTIME_init_manager = "${@'sysvinit' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else 'systemd'}"
-VIRTUAL-RUNTIME_initscripts = "${@'initscripts' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else 'systemd-compat-units'}"
-VIRTUAL-RUNTIME_initramfs = "${@'sysvinit-initramfs' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else 'systemd-initramfs'}"
-VIRTUAL-RUNTIME_login_manager = "${@'busybox' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else 'shadow-base'}"
-
-DISTRO_FEATURES:append = " ${@'' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else ' systemd'}"
+ARAGO_INIT_MANAGER ??= "${@['systemd','sysvinit'][int(d.getVar('ARAGO_SYSVINIT'))]}"
+require conf/distro/include/init-manager-${ARAGO_INIT_MANAGER}
# Distro-specific package configuration
PACKAGECONFIG:append:pn-systemd = " coredump networkd resolved serial-getty-generator"
new file mode 100644
@@ -0,0 +1,11 @@
+# Use systemd for system initialization
+
+DISTRO_FEATURES:append = " systemd"
+DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " sysvinit"
+
+VIRTUAL-RUNTIME_dev_manager ??= "systemd"
+VIRTUAL-RUNTIME_init_manager ??= "systemd"
+VIRTUAL-RUNTIME_initscripts ??= "systemd-compat-units"
+VIRTUAL-RUNTIME_initramfs ??= "systemd-initramfs"
+VIRTUAL-RUNTIME_login_manager ??= "shadow-base"
+
new file mode 100644
@@ -0,0 +1,11 @@
+# Use sysvinit for system initialization
+
+DISTRO_FEATURES:append = " sysvinit"
+DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " systemd"
+
+VIRTUAL-RUNTIME_dev_manager ??= ""
+VIRTUAL-RUNTIME_init_manager ??= "sysvinit"
+VIRTUAL-RUNTIME_initscripts ??= "initscripts"
+VIRTUAL-RUNTIME_initramfs ??= "sysvinit-initramfs"
+VIRTUAL-RUNTIME_login_manager ??= "busybox"
+
@@ -30,6 +30,6 @@ BAD_RECOMMENDATIONS += " \
coreutils \
coreutils-dev \
"
-BAD_RECOMMENDATIONS += "${@oe.utils.conditional("ARAGO_SYSVINIT", "1", "", "busybox-syslog", d)}"
+BAD_RECOMMENDATIONS += "${@oe.utils.conditional("ARAGO_INIT_MANAGER", "sysvinit", "", "busybox-syslog", d)}"
inherit core-image remove-net-rules
@@ -1,9 +1,5 @@
-ARAGO_SYSVINIT = "1"
require arago-image.inc
IMAGE_FEATURES:remove = "splash"
-IMAGE_INSTALL = " \
- packagegroup-arago-sysvinit-boot \
-"
Change arago over to a single init-manager for all images instead of a mixture of systemd/sysvinit based on perceived image size. With the migration to a more targeted initramfs we have the space in the image to support systemd and not require sysvinit for the smaller images. We will still support setups that use ARAGO_SYSVINIT, but the preferred method will be to set ARAGO_INIT_MANAGER in the local.conf with the deault being systemd. Signed-off-by: Ryan Eatmon <reatmon@ti.com> --- meta-arago-distro/conf/distro/arago.conf | 9 ++------- .../conf/distro/include/init-manager-systemd.inc | 11 +++++++++++ .../conf/distro/include/init-manager-sysvinit.inc | 11 +++++++++++ meta-arago-distro/recipes-core/images/arago-image.inc | 2 +- .../recipes-core/images/arago-tiny-image.inc | 4 ---- 5 files changed, 25 insertions(+), 12 deletions(-) create mode 100644 meta-arago-distro/conf/distro/include/init-manager-systemd.inc create mode 100644 meta-arago-distro/conf/distro/include/init-manager-sysvinit.inc