From 89e2652ac83f2602d6dd60623a225b88dc67d288 Mon Sep 17 00:00:00 2001 From: Peter Marko Date: Wed, 27 Nov 2024 20:23:33 +0100 Subject: [PATCH] init-manager: define dev_manager for all init managers Currently VIRTUAL-RUNTIME_dev_manager is defined by some init managers with "??=" and in packagegroup-core-boot with "?=". This means that this variable is different in this package group and in all other the recipes. This was discovered when trying to use new feature INIT_MANAGER when migrating to scarthgap and using systemd distro. After deleting all VIRTUAL_RUNTIME providers defined in init-manager-systemd udev was installed additionally via packagegroup-core-boot. Having a distro settings overriden in single recipe is wrong and needs to be corrected. Therefore let's define the setting in all init managers and remove it from packagegroup-core-boot. core-image-tiny-initramfs has a dilemma - use busybox-mdev even if distro does not enable it in busybox recipe to keep the image tiny, or rather not install it even if distro enables it in busybox. This patch chooses the first option. Signed-off-by: Peter Marko Signed-off-by: Richard Purdie --- meta/conf/distro/include/init-manager-none.inc | 1 + meta/conf/distro/include/init-manager-sysvinit.inc | 1 + meta/recipes-core/images/core-image-tiny-initramfs.bb | 3 +++ meta/recipes-core/packagegroups/packagegroup-core-boot.bb | 1 - 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/meta/conf/distro/include/init-manager-none.inc b/meta/conf/distro/include/init-manager-none.inc index bbedf898f76..6ece5c99061 100644 --- a/meta/conf/distro/include/init-manager-none.inc +++ b/meta/conf/distro/include/init-manager-none.inc @@ -1,3 +1,4 @@ VIRTUAL-RUNTIME_init_manager ??= "sysvinit" VIRTUAL-RUNTIME_initscripts ??= "initscripts" VIRTUAL-RUNTIME_login_manager ??= "busybox" +VIRTUAL-RUNTIME_dev_manager ??= "udev" diff --git a/meta/conf/distro/include/init-manager-sysvinit.inc b/meta/conf/distro/include/init-manager-sysvinit.inc index aa2393944d6..e2d17b358d4 100644 --- a/meta/conf/distro/include/init-manager-sysvinit.inc +++ b/meta/conf/distro/include/init-manager-sysvinit.inc @@ -4,3 +4,4 @@ DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " systemd" VIRTUAL-RUNTIME_init_manager ??= "sysvinit" VIRTUAL-RUNTIME_initscripts ??= "initscripts" VIRTUAL-RUNTIME_login_manager ??= "busybox" +VIRTUAL-RUNTIME_dev_manager ??= "udev" diff --git a/meta/recipes-core/images/core-image-tiny-initramfs.bb b/meta/recipes-core/images/core-image-tiny-initramfs.bb index 7a71d55b1e8..c2aa68c7882 100644 --- a/meta/recipes-core/images/core-image-tiny-initramfs.bb +++ b/meta/recipes-core/images/core-image-tiny-initramfs.bb @@ -6,6 +6,9 @@ first 'init' program more efficiently. core-image-tiny-initramfs doesn't \ actually generate an image but rather generates boot and rootfs artifacts \ that can subsequently be picked up by external image generation tools such as wic." +# if distro does not override VIRTUAL-RUNTIME_dev_manager and default in different, busybox is compiled without mdev support +# however this keeps the image small by not installing heavy-weight manager and in initramfs it may not even be necessary +# override in distro if needed VIRTUAL-RUNTIME_dev_manager ?= "busybox-mdev" PACKAGE_INSTALL = "initramfs-live-boot-tiny packagegroup-core-boot dropbear ${VIRTUAL-RUNTIME_base-utils} ${VIRTUAL-RUNTIME_dev_manager} base-passwd ${ROOTFS_BOOTSTRAP_INSTALL}" diff --git a/meta/recipes-core/packagegroups/packagegroup-core-boot.bb b/meta/recipes-core/packagegroups/packagegroup-core-boot.bb index fecc3334ea0..fa06092e279 100644 --- a/meta/recipes-core/packagegroups/packagegroup-core-boot.bb +++ b/meta/recipes-core/packagegroups/packagegroup-core-boot.bb @@ -10,7 +10,6 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" inherit packagegroup # Distro can override the following VIRTUAL-RUNTIME providers: -VIRTUAL-RUNTIME_dev_manager ?= "udev" VIRTUAL-RUNTIME_keymaps ?= "keymaps" EFI_PROVIDER ??= "grub-efi" -- 2.47.3