[yocto] should systemd be considered harmful ?

Paul Eggleton paul.eggleton at linux.intel.com
Fri Aug 22 04:00:45 PDT 2014


Hi Alex,

On Wednesday 20 August 2014 18:53:10 Alex Damian wrote:
> In release 216, systemd includes a caching nameserver, and full TTY stream
> parsing. See details
> 
> http://lists.freedesktop.org/archives/systemd-devel/2014-August/022295.html
> 
> I think the ever growing number of components in systemd will create
> conflicts with the normal tools, like libresolv, used in traditional UNIX
> systems.
> 
> I think the number of components shipped with and required by systemd is
> pretty outside the scope for an init system.
> 
> I would argue that the monolithic systemd is not in line with the UNIX
> philosophy of small tools that do one thing and do it well, and that it is
> actually contra-productive to use it in embedded systems due to the large
> number of dependencies needed to get it to run, as well as the difficulty
> to debug when something goes amiss.
> 
> Can I get your opinions in the respect that systemd is a useful tool to
> have in the Yocto Project ?

One of the things that OpenEmbedded (and by extension, the Yocto Project) 
emphasises is flexibility. We support three packaging backends for example. It 
has to be this way - the systems we are targeting vary greatly in size, scope, 
and application. The OS produced by our build system may not always 
necessarily resemble a traditional Linux or even Unix system.

As far as init goes, for some devices, you can get by with sysvinit. Others 
can do with much less - e.g. a single sequential script for initialising the 
device and starting services. Others still need something more dynamic and 
robust, and those are the things systemd is designed to handle better. We need 
to cater for all of these, so we have little choice but to support systemd and 
do so properly. That does mean that the build system has to understand what 
functions systemd provides and where other software that might otherwise 
provide that functionality is not needed and thus should not be installed when 
systemd is being used.

I know a lot of people hold the view that systemd is rolling in too many 
functions that are already handled elsewhere, and it has seemed that way to me 
at times. It may be worth taking a look over this blog post if you haven't 
already though:

http://0pointer.de/blog/projects/the-biggest-myths

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the yocto mailing list