systemd 262 Ships a Statically Linked Container Binary, Linux 6.17 Coredump Sockets, and OpenSSL 4 Support
systemd 262 lets the init system build as a single static binary for tiny containers and adds Linux 6.17 kernel coredump-socket support plus OpenSSL 4.
Overview
The systemd project released version 262 on September 22, 2026, according to the official GitHub release. The update lets the Linux init system be compiled as a single statically linked binary for minimal containers, adds support for the kernel coredump socket protocol introduced in Linux 6.17, and brings OpenSSL 4 compatibility. LWN.net covered the release the following day, summarizing it as bringing “the ability to build systemd as a single statically linked binary for small containers, support for the kernel coredump socket protocol introduced with Linux 6.17, addition of OpenSSL 4 support, and many other changes.”
What We Know
- A single static binary for tiny containers. According to the GitHub release notes, “systemd can now be built as a single statically linked PID 1/executor binary suitable for very small containers by configuring Meson with —default-library=static —prefer-static -Dbuild-static=true -Dsystemd-multicall-binary=true.” The notes add that “such builds do not use dlopen() to load optional libraries at runtime and use simplified passwd/group file lookup instead of NSS.”
- Kernel coredump socket support. The release notes state that “systemd-coredump now supports the kernel coredump socket protocol available since Linux 6.17,” and that “on supported kernels, systemd-coredumpd.service listens on /run/systemd/coredumpd/kernel, and systemd-coredump-register.service registers the socket through kernel.core_pattern,” while “older kernels continue to use the per-coredump [email protected] path,” per the GitHub release.
- OpenSSL 4 support. The release notes list “Support for OpenSSL 4 has been added” among the changes, according to the GitHub release.
- Fallback unit files baked into the manager. The manager “now embeds a basic set of unit files (basic.target, sysinit.target, multi-user.target, reboot.target, shutdown.target, systemd-poweroff.service, etc.) and will use them if files cannot be loaded from disk,” which the notes say “allows a container to be started with systemd as PID1 without installing any unit files,” according to the GitHub release.
- New service and slice controls. Service units gained
RestartRandomizedDelaySec=, described as adding “a uniformly distributed extra delay to automatic restarts on top of RestartSec= and optional exponential backoff” to “spread out synchronized failure/restart storms,” while slice units gainedActivatingConcurrencyMax=to “limit how many units in a slice hierarchy may be in the activating state at the same time,” per the GitHub release. - Batched unit job transactions. The manager gained the D-Bus method
EnqueueUnitJobMany()to “queue start/stop/restart/reload jobs for multiple units in one transaction, so ordering dependencies between named units are honored independent of command-line order,” according to the GitHub release. - TPM credential hardening. TPM-sealed credentials are “now pinned to the TPM’s SRK,” which the notes say “prevents MITM interposer attacks from stealing the decrypted credentials by ensuring that communication with the TPM is protected by a private key only known to the same TPM the credential was sealed to,” per the GitHub release.
- Breaking changes flagged for existing deployments. The release notes warn that DNS-SD services registered through systemd-resolved’s D-Bus API “are now unregistered automatically when the client that registered them disconnects from the bus,” fixing a bug where “such services used to stay registered until systemd-resolved exited.” Separately, services using
Type=notify-reload“are now required to catch or block ReloadSignal= when they send READY=1,” or “the service will fail to start with a protocol error,” according to the GitHub release. - udevd control moves fully to Varlink. “The legacy socket for controlling systemd-udevd has been removed, and udevadm now unconditionally uses Varlink IPC,” per the GitHub release.
- More changes flagged for v263. The notes announce that “the experimental ‘systemd-sysupdated’ D-Bus API is going to be removed in the next release (v263),” with clients expected to “directly talk to systemd-sysupdate … via Varlink IPC” instead, according to the GitHub release.
This follows systemd 261’s final release in June, which added a software-TPM fallback and promoted systemd-sysupdate out of experimental status.
What We Don’t Know
The release notes list many additional changes across systemd-boot, systemd-resolved, systemd-journald, cryptsetup, repart, and nspawn that go beyond the highlights above; how quickly downstream distributions will package version 262, and whether any of them will enable the new static-binary build mode by default, has not yet been reported.