Today has been a boring day. The weather has kept me indoors (not that I’m complaining). With that, I decided to finally scratch my systemd itch: to install it on Gentoo and see, very briefly, what the fuss is all about.
Now, I notice that a lot of people are extremely opinionated about software. Many hate systemd based on the fact that it’s a new init system that breaks away from UNIX tradition, and attacks the problem in a completely new way. Systemd also consolidates a number of ‘needs’ into the one software solution, replacing the infamous ConsoleKit and your system logger with its own home-grown alternatives; just to name two.
A lot of people tend to hate Lennart Poettering, and this hate tends to carry onto his software (or is it the other way around?). People have their reasons, and that’s fine, but I don’t get politically involved. What I really wanted to check out with systemd were its oft-touted ‘aggressive parallelisation capabilities’ which should decrease the boot time significantly. Building on this, systemd — for a couple of years now — has been promoted as the way forward for init systems: fast, modular, and standard.
In the Gentoo world we use OpenRC: a great little gem that uses the traditional sysvinit and extends it with a great numbers of features. I personally really like OpenRC for its simplicity and speed. But is it faster than systemd?
Well, these timings aren’t scientific. But systemd booted my system (after the kernel had finished booting) in about 11 or 12 seconds. With parallel booting enabled, OpenRC did it in 9-10 seconds. Heck, even if they booted my system in the same (or in a comparable) amount of time I would consider that significant. Because after all of the news about systemd being The Next Big Thing, OpenRC has for a long time been able to do a lot of what is important in systemd. It’s roaring fast, it’s easy to configure and it doesn’t suffer from the startlingly common case of ‘feature creep’.
This has changed my perspective on the init system that I use for Gentoo. I don’t care what it is. Both systemd and OpenRC are fast, and I’ll go with whatever the developers think is best in this situation.
Now, to address some potential critics: am I a Poettering basher? I wouldn’t say so. I even use PulseAudio by choice. But for Gentoo, I’m not interested in systemd when we already have something brilliant in its place.
That concludes my completely unscientific, loosely-structured discussion about systemd on Gentoo. Feel free to comment about my poor professionalism below.