Systemd 257 debuted last December and now finally systemd 258 is preparing to roll out… Systemd 258-rc1 was issued today as the first test release toward this next major release. It’s a big one with more than 260 changes noted in the announcement, including multiple new tools and other additions.
Systemd 258 is going to be a big one for H2’2025 Linux distributions and beyond. There is a lot of new features and improvements across the board for this Linux system and service manager. When digging through the enormous amount of changes building up for systemd 258, some of the highlights include:
– The /etc/hostname file may now include question mark characters. When question mark characters are used, they will be initialized by hexadecimal digits hashed from the machine ID. The intent here is to make it easier managing a fleet of devices that will all have valid and distinct hostnames generated in a predictable manner.
– A new “systemd-factory-reset” tool has been added that can use to request (or cancel) a factory reset request for the next reboot.
– A new “systemd-pty-forward” tool has been added that allocates a pseudo TTY/PTY and invokes a process on it. The systemd-pty-forward tool then forwards an output to the TTY it is invoked on.
– UEFI firmware images may now be embedded in Unified Kernel Images (UKIs) for “bring your own firmware” use-cases with confidential computing.
– systemd-boot’s configuration file now supports a “reboot-on-error” setting if booting a selected entry fails.
– systemd-vmspawn now supports unprivileged networking.
– A new udev property “ID_AV_LIGHTS=” that can be used to set on USB controlled A/V lights that unprivileged users will be able to access.
– Android debug USB interfaces (ADB DbC, ADB, Fastboot) are now automatically marked for unprivileged access.
– systemd mount units can now support systemd credentials, which previously were only available to service units.
– A new unit file condition of “ConditionKernelModuleLoaded=” that can be used to see if a certain kernel module is already loaded or built into the running kernel.
– Encrypted systemd service credentials are now available to user services too.
– Per-user quota is now enabled on /dev/shm/ and /tmp/ (when using tmpfs for /tmp/).
– A new job type “lenient” is added that is similar to the “fail” job mode but will fail the submitted transaction immediately if it would stop any currently running unit.
– New per-service settings of StateDirectoryQuota=/StateDirectoryAccounting=, CacheDirectoryQuota=/CacheDirectoryAccounting=, and LogsDirectoryQuota=/LogsDirectoryAccounting=.
– New user manager services of [email protected] and [email protected] along with a machines.target unit for managing them.
– Numerous sd-varlink additions.
– Support for cgroup v1 has been removed.
– Support for System V service scripts will be removed in systemd 259.
More details on the massive set of changes coming for systemd 258 via the GitHub announcement.