> -----Original Message-----
> From: [email protected] 
> <[email protected]> On Behalf Of 
> [email protected]
> Sent: den 2 juni 2019 16:55
> To: [email protected]
> Cc: [email protected]; [email protected]
> Subject: [OE-core] [meta-poky][PATCH v6 1/2] poky.conf: make systemd as 
> default init manager
> 
> From: Kai Kang <[email protected]>
> 
> Introduce a new variable POKY_INIT_MANAGER and create 4 .inc files to
> configure init manager settings. Var POKY_INIT_MANAGER accepts 4 values:
> sysvinit, systemd, systemd-compat and mdev-busybox. Set systemd by
> default for DISTRO poky.  And set mdev-busybox for DISTRO poky-tiny
> which doesn't change its init manger settings.
> 
> [YOCTO #13031]
> 
> Signed-off-by: Kai Kang <[email protected]>
> ---
>  .../conf/distro/include/init-template-mdev-busybox.inc    | 7 +++++++
>  .../conf/distro/include/init-template-systemd-compat.inc  | 7 +++++++
>  meta-poky/conf/distro/include/init-template-systemd.inc   | 5 +++++
>  meta-poky/conf/distro/include/init-template-sysvinit.inc  | 6 ++++++
>  meta-poky/conf/distro/poky-tiny.conf                      | 8 +-------
>  meta-poky/conf/distro/poky.conf                           | 6 ++++++
>  6 files changed, 32 insertions(+), 7 deletions(-)
>  create mode 100644 
> meta-poky/conf/distro/include/init-template-mdev-busybox.inc
>  create mode 100644 
> meta-poky/conf/distro/include/init-template-systemd-compat.inc
>  create mode 100644 meta-poky/conf/distro/include/init-template-systemd.inc
>  create mode 100644 meta-poky/conf/distro/include/init-template-sysvinit.inc
> 
> diff --git a/meta-poky/conf/distro/include/init-template-mdev-busybox.inc 
> b/meta-poky/conf/distro/include/init-template-mdev-busybox.inc
> new file mode 100644
> index 0000000000..b07d9de5b4
> --- /dev/null
> +++ b/meta-poky/conf/distro/include/init-template-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-poky/conf/distro/include/init-template-systemd-compat.inc 
> b/meta-poky/conf/distro/include/init-template-systemd-compat.inc
> new file mode 100644
> index 0000000000..22151f8866
> --- /dev/null
> +++ b/meta-poky/conf/distro/include/init-template-systemd-compat.inc
> @@ -0,0 +1,7 @@
> +# Don't append sysvinit to DISTRO_FEATURES here because it has been set
> +# in DISTRO_FEATURES_BACKFILL. And then this .inc file could be used by
> +# init-template-systemd.inc
> +DISTRO_FEATURES_append = " systemd"
> +VIRTUAL-RUNTIME_init_manager = "systemd"
> +VIRTUAL-RUNTIME_initscripts = "systemd-compat-units"
> +VIRTUAL-RUNTIME_login_manager = "shadow-base"
> diff --git a/meta-poky/conf/distro/include/init-template-systemd.inc 
> b/meta-poky/conf/distro/include/init-template-systemd.inc
> new file mode 100644
> index 0000000000..d04847028c
> --- /dev/null
> +++ b/meta-poky/conf/distro/include/init-template-systemd.inc
> @@ -0,0 +1,5 @@
> +# Use systemd for system initialization
> +
> +require init-template-systemd-compat.inc
> +
> +DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " sysvinit"
> diff --git a/meta-poky/conf/distro/include/init-template-sysvinit.inc 
> b/meta-poky/conf/distro/include/init-template-sysvinit.inc
> new file mode 100644
> index 0000000000..7725b30e1e
> --- /dev/null
> +++ b/meta-poky/conf/distro/include/init-template-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-poky/conf/distro/poky-tiny.conf 
> b/meta-poky/conf/distro/poky-tiny.conf
> index 1f8b6e8ff3..8ba0b9a4bb 100644
> --- a/meta-poky/conf/distro/poky-tiny.conf
> +++ b/meta-poky/conf/distro/poky-tiny.conf
> @@ -81,13 +81,7 @@ DISTRO_FEATURES_append_libc-musl = " largefile"
>  DISTRO_FEATURES_class-native = "${DISTRO_FEATURES_DEFAULT} 
> ${POKY_DEFAULT_DISTRO_FEATURES}"
>  DISTRO_FEATURES_class-nativesdk = "${DISTRO_FEATURES_DEFAULT} 
> ${POKY_DEFAULT_DISTRO_FEATURES}"
> 
> -# enable mdev/busybox for init
> -VIRTUAL-RUNTIME_dev_manager = "busybox-mdev"
> -VIRTUAL-RUNTIME_login_manager = "busybox"
> -VIRTUAL-RUNTIME_init_manager = "busybox"
> -VIRTUAL-RUNTIME_initscripts = "initscripts"
> -VIRTUAL-RUNTIME_keymaps = "keymaps"
> -DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit"
> +POKY_INIT_MANAGER ?= "mdev-busybox"
> 
>  # FIXME: Consider adding "modules" to MACHINE_FEATURES and using that in
>  # packagegroup-core-base to select modutils-initscripts or not. Similar with 
> "net" and
> diff --git a/meta-poky/conf/distro/poky.conf b/meta-poky/conf/distro/poky.conf
> index 78621e6dbf..e544f7e52c 100644
> --- a/meta-poky/conf/distro/poky.conf
> +++ b/meta-poky/conf/distro/poky.conf
> @@ -84,3 +84,9 @@ require conf/distro/include/no-static-libs.inc
>  require conf/distro/include/yocto-uninative.inc
>  require conf/distro/include/security_flags.inc
>  INHERIT += "uninative"
> +
> +# Make systemd as default init manager for poky
> +# and set sysvinit for musl consider security
> +POKY_INIT_MANAGER ??= "systemd"
> +POKY_INIT_MANAGER_libc-musl = "sysvinit"
> +require conf/distro/include/init-template-${POKY_INIT_MANAGER}.inc
> --
> 2.20.0

Nice, I like this solution. One thing though: why do you call the files 
"init-template-*.inc"? Why not "init-manager-*.inc"? They are not really 
some kind of template files.

//Peter

-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to