Bug 6142 - we need general documentation on Systemd vs SysV related issues
Summary: we need general documentation on Systemd vs SysV related issues
Status: RESOLVED FIXED
Alias: None
Product: General Docs
Classification: Documentation
Component: docs-general (show other bugs)
Version: 3.3
Hardware: All Multiple
: Medium enhancement
Target Milestone: 4.3 M1
Assignee: Michael Opdenacker
QA Contact:
URL:
Whiteboard: June 05, 2019: Proposed doc solution.
Depends on:
Blocks:
 
Reported: 2014-04-09 20:24 UTC by Scott Rifenbark
Modified: 2023-04-28 15:03 UTC (History)
7 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: Yes (doc changes required)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Scott Rifenbark 2014-04-09 20:24:55 UTC
I am creating this bug because the bug 4969 was too large in scope to deal with prior to the 1.6 YP release.  This new bug will track the effort to document the Systemd vs. SysV related issues. 

Scott
Comment 1 Scott Rifenbark 2014-05-22 08:54:20 UTC
Hi, 

I need some information on this.  Can someone provide me with a set of issues we need to document?  bug 4969 has a few listed in the thread (service for hwclock, modutils-initscripts, and init-ifupdown).  

Thanks, 
Scott
Comment 2 Scott Rifenbark 2014-06-03 09:21:33 UTC
Setting target to 1.7 M3.  Still need information from someone (not sure who) to proceed on this bug.

Scott
Comment 3 Richard Purdie 2014-06-04 15:41:47 UTC
Ross, can you help Scott with this please?
Comment 4 Scott Rifenbark 2014-07-22 08:29:54 UTC
Changing to NEEDINFO.  

Scott
Comment 5 Scott Rifenbark 2016-04-14 15:48:22 UTC
Still no input for this issue.  I am moving it to 2.2.
Comment 6 Scott Rifenbark 2018-12-27 23:25:16 UTC
We are up to 2.7 (Warrior) now and this bug seems to be getting no attention.  Wondering if it is still applicable.

Scott
Comment 7 Mark Morton 2019-01-24 21:07:47 UTC
I have some information on comparisons between sysvinit and systemd that I can put together from my existing doc sources, and also configuration information from local.conf for what to comment out to use sysvinit 9with systemd as default), for example:
---------
# comment the following lines to use 'sysvinit' as the init manager
VIRTUAL-RUNTIME_init_manager = "systemd"
DISTRO_FEATURES_append = " systemd"
DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit"
KERNEL_FEATURES_append = " cfg/systemd.scc"
---------

I also additionally have examples for each for starting/stopping services. 

What I need for additional information is related to specific Yocto usage, such as supported distro or image recipes, limitations, or caveats (could be kernel/bsp-related, or something similar) and anything else our users might need to know concerning a service manager.
Comment 8 Scott Rifenbark 2019-01-24 21:19:27 UTC
Great stuff to get this bug moving forward again.

Scott
Comment 9 Stephen K Jolley 2019-01-25 16:59:00 UTC
It appears this is moving forward, dropping NEEDINFO.
Comment 10 Scott Rifenbark 2019-01-25 18:26:17 UTC
Actually, I think Mark still needs some INFO if I am not wrong.  See the last part of Comment 7.

Scott
Comment 11 Mark Morton 2019-01-25 18:55:21 UTC
Scott is correct. I do have info to get started, but am missing (what I think) is important information, considering there's no place else for people to find Yocto-specific services manager info, and aside from the general configuration info, the rest is generic across all Linux platforms.
Comment 12 Randy MacLeod 2019-01-25 19:14:48 UTC
I added Kai since he is going to enable systemd as the default init for the poky example distro ( https://bugzilla.yoctoproject.org/show_bug.cgi?id=13031 ). 

Anyway, here are my thoughts wrt your questions:

> supported distro or image recipes, 
oe-core and of course poky support both sysvinit and systemd
Hopefully we get poky switch over to default to systemd in 2.7 and if not 2.8.

Other distros set their own policies about support.

> limitations, or caveats (could be kernel/bsp-related, or something similar) 

Hmm, this could start a flame war! :)
The two systems have a significantly different approaches. 
Here's a dated but reasonable comparison:
  https://www.tecmint.com/systemd-replaces-init-in-linux/
Google can help to find many more.

I'm not aware of any comparisons that focus on low memory/cpu power systems that some YP users would be targetting but certainly for systems with memory constraints, sysvinit will leave more memory available for the user's application. You should try to avoid picking sides!  


> and anything else our users might need to know concerning a service manager.

In my opinion, unless you have severe requirements such as cpu, memory constraints, the features that systemd offers and the fact that it's the default init system on most non-embedded and many embedded targets means that it should be the default in Yocto. We intend to switch poky over and in my opinion oe-core should follow in a release or two.

I expect that we'll continue to support sysvinit  for many many years for the < ~20% of Yocto userbase that want/need a simpler, lighter-weight init system.
Comment 13 Randy MacLeod 2019-02-02 17:02:46 UTC
Re-assign to Mark Morton who is the docs guys. Kai is CCed and on holiday next week.
Comment 14 Scott Rifenbark 2019-06-05 15:51:29 UTC
I am thinking of significantly adding to the "Selecting an Initialization Manager" section (https://yoctoproject.org/docs/2.8/dev-manual/dev-manual.html#selecting-an-initialization-manager), which is in the dev-manual, to address comparisons and general information about both systemd and SysV.  Right now, this section stated SysV as the Yocto default.  Has that changed (see Comment 7) below?  

This new section would satisfy the doc part of this bug I believe.  However, there are a lot a "systemd" references throughout the YP doc set that I would need to individually look and and probably reference into a new section.

An additional new small section could be added to the YP Overview and Concepts manual that introduces these two init managers.  In the concepts manual, I could do the comparison discussion there.  If so, the section for "Selecting an Initialization Manager" could reference to the overview manual's section for the conceptual information.  This would leave the section in the dev-manual reserved for how to actually select and use the init manager.

Does this sound like a good strategy?

Scott
Comment 15 Michael Opdenacker 2023-04-28 15:03:41 UTC
We now have more details about systemd vs sysvinit vs BusyBox init:
https://git.yoctoproject.org/yocto-docs/commit/?id=fd99f2753b50b7ad6133b787b90331fcb3a35152

This closes this bug.