SDB:systemd

Jump to: navigation, search

Systemd is the default and only init system since openSUSE 12.3.

Documentation

The complete openSUSE systemd documentation can be found in the openSUSE Reference Guide.

Common Problems

Services not starting as expected

Even though chkconfig cron shows that cron should be enabled, it seems not to be started after boot. systemctl start cron.service starts it just fine. See Bug #660493.

systemctl enable cron.service helps here.

Loop mounts not working without manually loading the "loop" module

See Bug #661715. With SysV init, the loop module was unconditionally loaded by /etc/init.d/boot.localfs which is not used anymore. If you want to autoload it anyway, do echo loop > /etc/modules-load.d/loop.conf.

Getting debug from systemd

To get debug from systemd, you can either:

  • remove quiet from kernel command line
  • increase systemd verbosity by adding debug to kernel command line. You can also add systemd.sysv_console=1 (0: disabled, 1: enabled) to display legacy SysV initscripts output on console.
  • modify /etc/systemd/system.conf (check man systemd.conf) to increase verbosity like this:
LogLevel=debug
LogTarget=syslog-or-kmsg
SysVConsole=yes

serial console isn't working

By default, systemd starts a minimal set of getty to let the system accessible.

When specifying on kernel command line which serial console should be used, only the last one in the list (which define the "active" console), will get a getty started:

  • console=tty0 console=ttyS0 will start a console on both tty0 (ie physical console) and serial console
  • console=ttyS0 console=tty0 will only start a console on tty0

To force starting console on serial port, use:

ln -s /usr/lib/systemd/system/serial-getty@.service /etc/systemd/system/getty.target.wants/serial-getty@ttyS0.service