From 74646729a4cdb0a4d21dcbcb457ab1d7391a3d02 Mon Sep 17 00:00:00 2001 From: Kai Kang Date: Thu, 4 Jul 2019 21:45:19 +0800 Subject: defaultsetup.conf: enable select init manager Introduce a new variable INIT_MANAGER and create 4 init-manager-*.inc files to configure init manager settings. Available values of INIT_MANAGER are sysvinit, systemd, mdev-busybox and a default of none. 'none' provides backwards compatibility. The settings of various VIRTUAL-RUNTIME variables are moved into these files from the packagegroups. [YOCTO #13031] [Modifications by RP for backwards compatibility] (From OE-Core rev: 8d0b4704a526a48cd5e67df61b613424bbbdccde) Signed-off-by: Kai Kang Signed-off-by: Richard Purdie --- meta/conf/distro/defaultsetup.conf | 3 +++ meta/conf/distro/include/init-manager-mdev-busybox.inc | 7 +++++++ meta/conf/distro/include/init-manager-none.inc | 3 +++ meta/conf/distro/include/init-manager-systemd.inc | 6 ++++++ meta/conf/distro/include/init-manager-sysvinit.inc | 6 ++++++ meta/recipes-core/packagegroups/packagegroup-core-boot.bb | 3 --- .../packagegroups/packagegroup-core-full-cmdline.bb | 3 --- 7 files changed, 25 insertions(+), 6 deletions(-) create mode 100644 meta/conf/distro/include/init-manager-mdev-busybox.inc create mode 100644 meta/conf/distro/include/init-manager-none.inc create mode 100644 meta/conf/distro/include/init-manager-systemd.inc create mode 100644 meta/conf/distro/include/init-manager-sysvinit.inc diff --git a/meta/conf/distro/defaultsetup.conf b/meta/conf/distro/defaultsetup.conf index 20e61232e9..9b1ee20aaa 100644 --- a/meta/conf/distro/defaultsetup.conf +++ b/meta/conf/distro/defaultsetup.conf @@ -23,3 +23,6 @@ PACKAGE_CLASSES ?= "package_ipk" INHERIT_BLACKLIST = "blacklist" INHERIT_DISTRO ?= "debian devshell sstate license remove-libtool" INHERIT += "${PACKAGE_CLASSES} ${USER_CLASSES} ${INHERIT_DISTRO} ${INHERIT_BLACKLIST}" + +INIT_MANAGER ??= "none" +require conf/distro/include/init-manager-${INIT_MANAGER}.inc diff --git a/meta/conf/distro/include/init-manager-mdev-busybox.inc b/meta/conf/distro/include/init-manager-mdev-busybox.inc new file mode 100644 index 0000000000..4e3be14a82 --- /dev/null +++ b/meta/conf/distro/include/init-manager-mdev-busybox.inc @@ -0,0 +1,7 @@ +# enable mdev/busybox for init +DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " systemd sysvinit" +VIRTUAL-RUNTIME_dev_manager ??= "busybox-mdev" +VIRTUAL-RUNTIME_init_manager ??= "busybox" +VIRTUAL-RUNTIME_initscripts ??= "initscripts" +VIRTUAL-RUNTIME_keymaps ??= "keymaps" +VIRTUAL-RUNTIME_login_manager ??= "busybox" diff --git a/meta/conf/distro/include/init-manager-none.inc b/meta/conf/distro/include/init-manager-none.inc new file mode 100644 index 0000000000..bbedf898f7 --- /dev/null +++ b/meta/conf/distro/include/init-manager-none.inc @@ -0,0 +1,3 @@ +VIRTUAL-RUNTIME_init_manager ??= "sysvinit" +VIRTUAL-RUNTIME_initscripts ??= "initscripts" +VIRTUAL-RUNTIME_login_manager ??= "busybox" diff --git a/meta/conf/distro/include/init-manager-systemd.inc b/meta/conf/distro/include/init-manager-systemd.inc new file mode 100644 index 0000000000..1558b85250 --- /dev/null +++ b/meta/conf/distro/include/init-manager-systemd.inc @@ -0,0 +1,6 @@ +# Use systemd for system initialization +DISTRO_FEATURES_append = " systemd" +DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " sysvinit" +VIRTUAL-RUNTIME_init_manager ??= "systemd" +VIRTUAL-RUNTIME_initscripts ??= "systemd-compat-units" +VIRTUAL-RUNTIME_login_manager ??= "shadow-base" diff --git a/meta/conf/distro/include/init-manager-sysvinit.inc b/meta/conf/distro/include/init-manager-sysvinit.inc new file mode 100644 index 0000000000..6b662d60bb --- /dev/null +++ b/meta/conf/distro/include/init-manager-sysvinit.inc @@ -0,0 +1,6 @@ +# Use sysvinit for system initialization +DISTRO_FEATURES_append = " sysvinit" +DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " systemd" +VIRTUAL-RUNTIME_init_manager ??= "sysvinit" +VIRTUAL-RUNTIME_initscripts ??= "initscripts" +VIRTUAL-RUNTIME_login_manager ??= "busybox" diff --git a/meta/recipes-core/packagegroups/packagegroup-core-boot.bb b/meta/recipes-core/packagegroups/packagegroup-core-boot.bb index 8dc445dc8f..3a2f50febb 100644 --- a/meta/recipes-core/packagegroups/packagegroup-core-boot.bb +++ b/meta/recipes-core/packagegroups/packagegroup-core-boot.bb @@ -18,9 +18,6 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= "" # Distro can override the following VIRTUAL-RUNTIME providers: VIRTUAL-RUNTIME_dev_manager ?= "udev" -VIRTUAL-RUNTIME_login_manager ?= "busybox" -VIRTUAL-RUNTIME_init_manager ?= "sysvinit" -VIRTUAL-RUNTIME_initscripts ?= "initscripts" VIRTUAL-RUNTIME_keymaps ?= "keymaps" EFI_PROVIDER ??= "grub-efi" diff --git a/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb b/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb index d38f545e06..2d96d1ba38 100644 --- a/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb +++ b/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb @@ -111,9 +111,6 @@ RDEPENDS_packagegroup-core-full-cmdline-dev-utils = "\ patch \ " -VIRTUAL-RUNTIME_initscripts ?= "initscripts" -VIRTUAL-RUNTIME_init_manager ?= "sysvinit" -VIRTUAL-RUNTIME_login_manager ?= "busybox" VIRTUAL-RUNTIME_syslog ?= "sysklogd" RDEPENDS_packagegroup-core-full-cmdline-initscripts = "\ ${VIRTUAL-RUNTIME_initscripts} \ -- cgit v1.2.3-54-g00ecf