> -----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
