News: 1763634673

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Systemd 259 release candidate flexes musl support – with long list of caveats

(2025/11/20)


Along with new functionality, systemd is broadening its distro support even further, which will surely delight members of the wider Linux community.

[1]Systemd v259-rc1 is the first preview release of what will be the next version of the most widely used system and service manager in the Linux world. It is also, of course, the most controversial, and some of the changes in this version further widen systemd's scope – which we suspect will provoke some push-back, but probably won't slow down its adoption or growth.

For some readers, the last entry in the NEWS file could be seen as the most significant part:

Incomplete support for musl libc is now available

It does, however, come with significant functional restrictions:

Note that systemd compiled with musl has various limitations: since NSS or equivalent functionality is not available, nss-systemd, nss-resolve, DynamicUser=, systemd-homed, systemd-userdbd, the foreign UID ID, unprivileged systemd-nspawn, systemd-nsresourced, and so on will not work. […] Caveat emptor.

What this means is that it's now possible to compile and run systemd on Linux distributions that are not based on the GNU version of the C standard library, [2]glibc . In addition to glibc, there is now preliminary support for the main alternative libc of the Linux world, [3]musl , as used in a number of lightweight distros such as [4]Alpine Linux , [5]Adélie Linux , and [6]Void Linux , which, despite The Register's [7]coverage of its maintainer problems in 2018, is still trundling along happily.

The reason that the functional restrictions might not matter too much is that the driving force behind this change is that [8]postmarketOS , a project to offer a FOSS lifeline to smartphones no longer supported by their vendors, which we [9]looked at a few years ago , announced last year that it was [10]switching to systemd to better support the fondleslab versions of GNOME and KDE Plasma. PostmarketOS is based on Alpine Linux, and Alpine is built around musl, so the postmarketOS developers [11]submitted some code to allow systemd to compile against musl instead of glibc. Earlier this week, Red Hat's [12]Zbigniew Jędrzejewski-Szmek merged it, [13]commenting :

I'll go ahead and merge this. It all does seem fairly fragile, so I'm a bit worried that maintenance will be a problem.

We suspect that these guarded reservations are why the 259-rc1 NEWS file carefully says:

This support for musl is provided without a promise of continued support in future releases. We'll make the decision based on the amount of work required to maintain the compatibility layer in systemd, how many musl-specific bugs are reported, and feedback on the desirability of this effort provided by users and distributions.

To which [14]Achill Gilgenast , an Alpine and Postmarket developer, [15]replied :

FWIW We, speaking as postmarketOS, are very motivated to help with the maintainance

sic

.

(Folks new to this internet lark may not know but "FWIW" means "for what it's worth.")

There are a bunch of other functional changes, as those watching the progress of systemd over the years might expect. Its out-of-memory killer, systemd-oomd , has been revised in several areas, and it now reports more tracking information, which should help with debugging. A few years back, this module [16]acquired a reputation for being [17]overly aggressive , so more instrumentation is good.

[18]

Multiple parts of the code have improved support for the [19]Varlink inter-process communication protocol , which [20]LWN examined some years ago. Varlink usage is one of the parts at the end of lead developer Lennart Poettering's " [21]Fourteen years of systemd " FOSDEM talk, which he had to skip for reasons of time, but it seems to be happening.

[22]MX Linux 25 reaches beta testing – complete with systemd

[23]Linux's love-to-hate projects drop fresh versions: systemd 258 and GNOME 49

[24]MX Linux 25 loses systemd toggling power as Debian 13 looms

[25]First release candidate of systemd 258 is here

The built-in [26]user-space device management and [27]GUID partition management modules have been improved in multiple areas, including re-reading partitions on the fly and naming LUKS encrypted partitions separately from unencrypted ones. (As we mentioned in the [28]bootnote to our systemd 252 story , incorporating the formerly independent [29]udev subsystem in 2012 allowed the systemd developers to increase its version number by 139. Really, this version will be the 120th release.)

The tool now supports configurable log levels, and the [30]systemd journal is now automatically persistent by default. The [31]run0 command , systemd's replacement for sudo , which we [32]introduced with systemd 256 and was [33]enhanced in 258 , now can temporarily "empower" an unprivileged user and can invoke commands in a specified root directory.

[34]

Some of the other changes concern the [35]systemd-boot alternative bootloader, which has only been adopted by a few distros that The Reg FOSS desk has seen so far – notably including Pop!_OS, with [36]disastrous results for our test laptop in 2021. Most distros still use GRUB, which keeps the Linux kernel and initramfs in the Linux file system – typically in a /boot folder. Systemd-boot is different: it only works on UEFI, and it stores these files directly in the [37]EFI System Partition . This, obviously, takes more space – and what nuked our testbed machine was trying to enlarge the ESP. As the [38]Arch wiki documents , systemd-bootd also supports a second, supplementary partition called the XBOOTLDR partition, just for these files, in case the machine's ESP isn't big enough. This version of systemd tightens up the requirements of the XBOOTLDR partition: this must be formatted in a simple file system readable by the computer's firmware, not just by the Linux kernel. In other words, some variant of good old FAT.

Support for System V style init scripts continues to be deprecated, although total removal has been postponed until systemd 260.

[39]

As we [40]pointed out last time , systemd 258 development overran a little and it arrived slightly late. With this RC arriving just four months later, it looks like the team has caught up somewhat, and it's likely systemd 259 will be in the next releases of both Ubuntu and Fedora in the northern hemisphere's spring. ®

Get our [41]Tech Resources



[1] https://github.com/systemd/systemd/blob/v259-rc1/NEWS

[2] https://www.gnu.org/software/libc/

[3] https://musl.libc.org/

[4] https://www.theregister.com/2024/12/17/alpine_linux_321/

[5] https://www.theregister.com/2024/12/20/adelie_linux_1_beta_6/

[6] https://voidlinux.org/

[7] https://www.theregister.com/2018/05/16/contributing_to_keep_small_linux_alive/

[8] https://postmarketos.org/

[9] https://www.theregister.com/2022/06/15/postmarketos_2206/

[10] https://www.theregister.com/2024/03/11/postmarketos_goes_systemd/

[11] https://github.com/systemd/systemd/pull/38825

[12] https://www.redhat.com/en/authors/zbigniew-jedrzejewski-szmek

[13] https://github.com/systemd/systemd/pull/38825#pullrequestreview-3468153460

[14] https://codeberg.org/achill

[15] https://github.com/systemd/systemd/pull/38825#issuecomment-3541053618

[16] https://github.com/systemd/systemd/issues/25376

[17] https://www.reddit.com/r/Fedora/comments/w2hl0k/systemdoomd_is_insanely_aggressive/

[18] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2aR70x-Z6himzF9fUjESuuAAAAIw&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0

[19] https://varlink.org/

[20] https://lwn.net/Articles/742675/

[21] https://www.theregister.com/2025/02/06/14_years_of_systemd/

[22] https://www.theregister.com/2025/09/23/mx_linux_25_reaches_beta/

[23] https://www.theregister.com/2025/09/23/systemd_258_gnome_49/

[24] https://www.theregister.com/2025/08/06/debian_13_mx_25/

[25] https://www.theregister.com/2025/07/25/systemd_258_first_rc_here/

[26] https://www.freedesktop.org/software/systemd/man/latest/udev.html

[27] https://www.freedesktop.org/software/systemd/man/latest/systemd-repart.html

[28] https://www.theregister.com/2022/11/03/version_252_systemd/

[29] https://wiki.archlinux.org/title/Udev

[30] https://wiki.archlinux.org/title/Systemd/Journal

[31] https://www.freedesktop.org/software/systemd/man/258/run0.html

[32] https://www.theregister.com/2024/06/13/version_256_systemd/

[33] https://www.theregister.com/2025/07/25/systemd_258_first_rc_here/

[34] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44aR70x-Z6himzF9fUjESuuAAAAIw&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[35] https://systemd.io/BOOT/

[36] https://www.theregister.com/2021/12/16/pop_os_2110_new_system76/

[37] https://en.wikipedia.org/wiki/EFI_system_partition

[38] https://wiki.archlinux.org/title/Systemd-boot

[39] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44aR70x-Z6himzF9fUjESuuAAAAIw&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[40] https://www.theregister.com/2025/07/25/systemd_258_first_rc_here/

[41] https://whitepapers.theregister.com/



Caveat emptor?

jake

As a bit of a Latin fan, I just have to ask ... Who in the hell is stupid enough to pay for the systemd-cancer?

Re: Caveat emptor?

Paul Herber

It's one community versus another. I'm sure both sides have bona fide reasons for their stance, but will there ever be consensus? No while someone has an ego.

No change there then...

theOtherJT

Note that systemd compiled with musl has various limitations: since NSS or equivalent functionality is not available, nss-systemd, nss-resolve, DynamicUser=, systemd-homed, systemd-userdbd, the foreign UID ID, unprivileged systemd-nspawn, systemd-nsresourced, and so on will not work.

Half that shit doesn't work properly now .

It BASICally Sucks

Older versions of MS-DOS came with bundled programming languages including
GW-BASIC and QBasic. Windows XP continues the Microsoft tradition of
ruining budding programmers with horrible programming tools by including
XPBasic, an interpreted language in which all of the customary BASIC
keywords have been replaced with advertising slogans.

Nike has paid a handsome amount to Microsoft for "keyword rights". Instead
of saying PRINT "HELLO WORLD", XPBasic programmers must now type JUST DO
IT "HELLO WORLD". Other common XPBasic statements include WHERE DO YOU
WANT TO GOTO 20 TODAY? and DIM ARRAY(1 TO 20) AS INTEGER BROUGHT TO YOU BY
VERIZON WIRELESS.

-- from Humorix's review of Windows XP (eXceptionally Pathetic)