From 46df1b0e96ab30d3e2f58b08e0578625fc0af1f7 Mon Sep 17 00:00:00 2001 From: Antonin Godard Date: Fri, 31 Jan 2025 10:53:34 +0100 Subject: ref-manual/faq: add q&a on systemd as default Originally written by Richard Purdie, but formatted in rst syntax and slight rephrasing. Cc: Richard Purdie Reviewed-by: Quentin Schulz (From yocto-docs rev: 57bbeec169f4d5ed2780cb008b6ff8a6a4b881e9) Signed-off-by: Antonin Godard (cherry picked from commit 110690bee14f7263a5a34145e91e4450ec3bf4e6) Signed-off-by: Antonin Godard Signed-off-by: Steve Sakoman --- documentation/ref-manual/faq.rst | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/documentation/ref-manual/faq.rst b/documentation/ref-manual/faq.rst index 9e3418e10d..7dd37c7a5c 100644 --- a/documentation/ref-manual/faq.rst +++ b/documentation/ref-manual/faq.rst @@ -45,6 +45,28 @@ See :yocto_wiki:`Products that use the Yocto Project Wiki. Don't hesitate to contribute to this page if you know other such products. +Why isn't systemd the default init system for OpenEmbedded-Core/Yocto Project or in Poky? +----------------------------------------------------------------------------------------- + +`systemd `__ is a desktop Linux init system with a specific +focus that is not entirely aligned with a customisable "embedded" build +system/environment. + +It understandably mandates certain layouts and configurations which may +or may not align with what the objectives and direction :term:`OpenEmbedded-Core +(OE-Core)` or Yocto Project want to take. It doesn't support all of our targets. +For example `musl `__ support in systemd is +problematic. + +If it were our default, we would have to align with all their choices +and this doesn't make sense. It is therefore a configuration option and +available to anyone where the design goals align. But we are clear it +is not the only way to handle init. + +Our automated testing includes it through the ``poky-altcfg`` :term:`DISTRO` and +we don't really need it to be the default: it is tested, it works, and people +can choose to use it. + Building environment ==================== -- cgit v1.2.3-54-g00ecf