On Tue, Jan 20, 2015 at 2:58 PM, Marc Stürmer <m...@marc-stuermer.de> wrote:
> Zitat von Tom H <tomh0...@gmail.com>:
>
>> Lennart claims that the embedded world loves systemd. I suspect that,
>> as in other corners of the Linux world, there are lovers and haters of
>> systemd.
>
>
> Embedded systems also quite often means low on resources, CPU power, memory,
> space.
>
> If you are using hard space constrained systems, the sheer size of systemd
> in the file system can be a valid reason not to use it at all.
>
> So it does depend on the type of embedded system you are looking at.
>

True.  I've actually started comparing the direction systemd is moving
in with busybox.  The latter is of course already popular in embedded
environments for the reasons you state.

If you really want something super-minimal busybox is probably more of
what you're looking for.  On the other hand, if you want something
more functional but still generally integrated then systemd might be
the right solution.

RAM use for systemd (plus its deps) seems to be on the order of maybe
2MB or so depending on what features you have resident (journal/etc).
Most systemd utilities do not run continuously.  Some of the shared
memory use for systemd deps may be consumed already depending on what
else is running on the system.  Many systemd components would not
necessarily need to be installed on-disk for an embedded system.  For
example, command-line utilities used by administrators to control
their system might not need to be installed for systemd to still
function (you don't need to manually change the runlevel of an
embedded device, start/stop modules, etc - and all these tasks can be
controlled over dbus without using the binaries on disk so your
embedded application can still manage things).  I'm not sure how
systemd works with glibc alternatives, etc.

If you can dispense with a shell entirely by moving to systemd then
there could actually be some savings on that end, and performance will
certainly be better.

This page seems to be a fairly neutral/factual exploration of this issue:
https://people.debian.org/~stapelberg/docs/systemd-dependencies.html

This isn't really intended as a "systemd is the right tool for every
embedded solution" or "systemd is a horrible tool for embedded"
argument.  It just is a tool and in the embedded world you should
weigh its pros/cons as with anything else.  Most likely an embedded
environment is going to be highly-tailored in any case, so you'll be
wanting to seriously consider your options for every component.  If
your embedded device is more like a phone with (relatively larger)
gobs of RAM then systemd may be advantageous simply for its ubiquity.

-- 
Rich

Reply via email to