A. Wilcox, the original creator of Adélie Linux, has ported systemd to musl, the glibc alternative.
I have completed an initial new port of systemd to musl. This patch set does not share much in common with the existing OpenEmbedded patchset. I wanted to make a fully updated patch series targeting more current releases of systemd and musl, taking advantage of the latest features and updates in both. I also took a focus on writing patches that could be sent for consideration of inclusion upstream.
The final result is a system that appears to be surprisingly reliable considering the newness of the port, and very fast to boot.
↫ A. Wilcox
I absolutely adore Adélie Linux as a project, even if I don’t run it myself, since they have a very practical approach to software. Systemd is popular for a reason – it’s fast and capable – and it only makes sense for Adélie to offer it as a potential option, even when using musl. Choice is a core value of the open source and Linux world, and that includes the choice to use systemd, even for a distribution that has traditionally used something else.
The port is already quite capable, and Wilcox managed to replace OpenRC on her system with systemd in-place, and it booted up just fine, and it also happened to boot in about a third of the time OpenRC did. It’s not ready for prime time yet, though, and most services are not yet packaged for systemd, an effort for which Adélie Linux intends to rely on upstream and cooperation with systemd experts from Gentoo and Fedora. They’re also working together with systemd, musl, and others to make any switching a user might want to do as easy as possible.
A beta or anything like that is still a ways off, but it’s an impressive amount of progress already.
Is this at all related to postmarketOS going systemd, and doing this port too?
https://gitlab.com/postmarketOS/systemd
https://postmarketos.org/blog/2024/08/16/paying-for-development/
Wow, thanks for this also!
This is wonderful news, thanks Tom!
I’ve been very eager to try musl compatible distros such as Adélie, Alpine and Void, but the lack of systemd is what has mostly held me back.
I also always assumed these distros were somewhat anti systemd, perhaps for simplicity sake, and naively never anticipated there were actually technical hurdles involved, but it makes a lot of sense now…
I’m a very happy Arch Linux user, expect for it being x86-64 only (with Archlinux ARM being an unaffiliated port), and those distros seem to fit the bill nicely for a multi arch alternative…
Thanks so much!
It makes lots of sense for them to stick with OpenRC:
1) its the much better solution
2) the only “advantage” of SystemD lies in its connection to Gnome which simply does not matter for distributions aiming for the fastest and smallest VM/Docker image
If you really need/want SystemD, then MUSL will become an issue for you too because you are going to want software which is not MUSL compatible (easily).
In my opinion, marrying MUSL with SYSTEMD is a lose-lose situation.
Andreas Reichel,
I believe in the original unix philosophy where simple tools with low coupling should be preferred over heavily coupled monolithic solutions . The unix philosophy helps promote meritocracy. I’m all for init system innovation, but I don’t like the coupling and there’s really no denying that systemd’s growing tentacles are harming alternative projects. I think all these distros are feeling a similar pressure.to fold into the systemd monopoly. Even when you have a good alternative, it can still fail to gain support and loose in the popularity game, for better or worse.
@Alfman, spot on as usual but there is one more thing:
Although SystemD is really doing its job on my Arch installations, to me it just does not feel good.
OpenRC always felt right and sane. It just made sense. I always found what I needed and everything seemed logical to me.
SystemD always felt alien and left me struggling. Its hard to explain. Like when having a talent for basket ball and suddenly are forced to play soccer. It works some how, but its just not the same thing.
For Void Linux at least, they originally did offer systemd but dropped it early on because it didn’t work with musl, and they are truly dedicated to keeping a musl release going. As far as I understand it, the Void developers aren’t explicitly against systemd (unlike most of their users) so given this new project, they might be open to offering it in Void in the future. As long as there remains a choice between runit and systemd, I’m perfectly fine with it being adopted by Void. I don’t have anything against systemd itself, though I admit I’m critical of its developers and their past dismissive attitude towards bug reports. I just prefer runit because I don’t need anything more complicated than that.
> Wilcox managed to replace OpenRC on her system with systemd in-place, and it booted up just fine,
Why the hell would anyone be doing this?
To me OpenRC is a USP and I was very very sad when Arch adopted SystemD. To be fair, SystemD “just works”, but whenever I try to change something (even when its just a simple boot service), the cursing and swearing starts.
While I applaud effort to get musl&systemd cooperate, I expect a lot of friction when trying to merge the patchsets. Systemd is resistant to add workarounds for stuff which should be provided by libc. Musl tries to stay slim and simple, so they veto any complicated stuff (for example locales).
I doubt there will be a middle ground where those two projects meet.