[OE-core] State of systemd from an integrator point of view

Holger Hans Peter Freyther holger at moiji-mobile.com
Mon Feb 18 10:24:02 UTC 2013


Hi,

this is my second attempt to use systemd with Poky for our sysmoBTS
product (mostly to replace some respawn shell scripts and not to use
the daemontools). I aborted the first trial because of journald and
now that systemd is being merged into OE-Core I started again and I
would like to share some of my issues.


* systemd as a watchdog. For our BTS I have a init script for the
watchdog package and a configuration file in our BSP layer. For systemd
I want the watchdog functionality provided by systemd itself. So I
have a system.conf in my BSP layer an this line in my machine config:

MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "\
	...
	${@['watchdog', ''][d.getVar('DISTRO_FEATURES_INITMAN', True) == 'systemd']} \
	kernel-module-rtfifo "

IMAGE_FSTYPES ?= "tar.bz2 cpio.gz ubifs ubi jffs2"

MACHINE_EXTRA_RDEPENDS = "\
	...
	${@['watchdog', ''][d.getVar('DISTRO_FEATURES_INITMAN', True) == 'systemd']} \
	"

this is obviously not a piece of beauty.. and it would be nicer if
systemd itself could build a watchdog package or such...


* systemd and svsv start scripts. I am using the busybox ifplugd to
configure the network on plug/un-plug of the cable. My start script ended
with .sh in the name. systemd recognized the script but failed to start
it. Renaming it to not end with .sh fixed the issue for me. This is more
like a systemd bug than OE but I wonder if we could change update-rc.d
bbclass to check the for the .sh in the start script and then complain
about it?


* systemd's journald is not suitable for small devices. I think the default
should be to disable the journald and do not disable the busybox log
application in the systemd-compat units package. journald is dominated by
memory allocations and reading procfs over and over again.


regards
	holger





More information about the Openembedded-core mailing list