There have been many discussion about which init system Debian should use. I have myself tried to stay away from that particular discussion. I am not a fan of systemd, but I consider myself not technically qualified enough for evaluating the different options. But things slowly become clearer – Debian is heading for an abyss.
Case 1: the kernel cmdline and the debug keyword
It seems that if one passes debug to the kernel command line to make the kernel ship out debug messages, useful during development, systemd somehow thinks it also needs to ship out loads of messages. And indeed, so many that login is not possible anymore. See systemd bugzilla bug 76935.
Now, normally this would not be a big problem, normal developers would fix that by changing the way systemd parses the kernel command line.
In contrast, the systemd developer Kay Sievers with more or less a straw-man argument closes the bug with “not a bug”, saying that:
Generic terms are generic, not the first user owns them.
Well, wait, we are speaking about the kernel command line.
Fortunately, Linus has written a proper answer – and hopefully this ignorance is not continuing forever.
As a funny remark, one has to note that many renowned linux kernel developers seem to be very fed up with systemd, otherwise Andrew Morton would not propose (as a joke, of course) a BUG_ON if the init process is systemd.
Case 2: systemd core dumping
Much has been said about having a very complex program running in PID1. And indeed, here we have already the first instance where this gives big problems: systemd bugzilla bug 74589. systemd simply dies if there is no cgroup support in the kernel.
Now I am one of the users that regularly compile kernels by myself, and most of my kernels never had cgroups activated. What for, it is a single user laptop. Having a program that segfaults in these circumstances in PID1, this is scary.
But what is even worse, is that the maintainers, in this case the head maintainer Lennart Poettering, not even considers it worth to test or debug himself, from his comment in the bug report:
To make this work we’d need a patch, as nobody of us tests this.
Conclusion for Debian
Here are some questions I am asking myself, and have posted also on debian-devel.
Is this the upstream Debian wants to work with? Is this the attitude of developers that we consider proper and safe to include in a critical position in the system?
As I said, I don’t consider myself technically qualified to judge on the differences between init systems. But I trust the core linux developers in their judgment, and that seems strongly disfavoring systemd.
But Debian, where are you going?