Features/systemd

From FedoraProject

Jump to: navigation, search

Contents

systemd System and Session Manager

Summary

systemd is a replacement for SysVinit and Upstart that acts as a system and session manager.

Owner

Current status

Detailed Description

Benefit to Fedora

Fedora <= 14 uses Upstart in SysV compatibility mode. systemd is a overall better design as detailed in http://0pointer.de/blog/projects/systemd.html. We hope to reap the benefits of it by leading in distribution integration and including it by default.

Note that in the long run systemd will provide quicker boot up, but completing that will take more work, since some additional changes to our early boot-up need to take place such as splitting up rc.sysinit. However the focus of systemd is primarily doing things right, and not exclusively on speed.

Scope

Requires building packages for systemd (DONE: https://bugzilla.redhat.com/show_bug.cgi?id=598299 ), and taking advantage of it in a dozen or so desktop daemons that will benefit from systemd the most at present and make it default for Fedora 14.

Test Plan

  1. Boot the system, make sure all services come up.
  2. Shutdown and ensure that everything is shut down properly.
  3. Check the various admin tools such as systemctl, systemd-cgls, systemadm, ps and so on.
  4. Verify that all services are properly put in seperate control groups (systemd-cgls is your friend)
  5. Verify that "systemctl list-units" shows that all units are in a reasonable state after bootup. (i.e. no red color in the output!)
  6. Play around with "systemd.unit=emergency.target", "systemd.unit=rescue.target", "systemd.unit=multi-user.target" and suchlike on the kernel command like and switching between the targets via "systemctl isolate".
  7. Try the following kernel command line options:
    1. systemd.unit=emergency.target (which gives you something very similar to passing init=/bin/sh but with the option to boot the full system from there)
    2. systemd.unit=rescue.target (similar, but is mostly equivalent to booting into single user mode on sysv)
    3. systemd.unit=multi-user.target (to boot only non-graphical stuff)
    4. systemd.unit=graphical.target (to boot the normal graphical stuff, the default)

User Experience

The user should notice a slightly faster bootup, particularly on SSD.

The administrative features of the init system are considerably extended. (for more details see the aforementioned blog post, in particular the "A short list of other features:" part.

Native systemd service configuration files are much easier to understand and configure compared to sysvinit scripts

Dependencies

Contingency Plan

Documentation

Release Notes

Fedora 15 has replaced Upstart with systemd. systemd uses services files located in /lib/systemd/system for services, and /etc/systemd/system for configuration. A dozen desktop daemons [list them] have been initially converted to use systemd service files and small number of programs have been patched to take advantage of it. systemd is compatible with legacy SysV init scripts and rest of the migration will happen incrementally over time.

we need to include Systemd howtos such as