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