From 7d3ae178fbaa59bf052fe947577a3a78b7f1dc8a Mon Sep 17 00:00:00 2001 From: Mike Yuan Date: Tue, 15 Oct 2024 18:33:49 +0200 Subject: [PATCH 1/2] NEWS: rearrange incompatible changes, separate from Future Removals --- NEWS | 78 ++++++++++++++++++++++++++++++------------------------------ 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/NEWS b/NEWS index 51b067b239..47cd6ad45d 100644 --- a/NEWS +++ b/NEWS @@ -16,47 +16,9 @@ CHANGES WITH 257 in spe: LoadCredentialEncrypted= service setting. Previously it could only read raw binary data. - Announcements of Future Feature Removals and Incompatible Changes: - - * To work around limitations of X11's keyboard handling systemd's - keyboard mapping hardware database (hwdb.d/60-keyboard.hwdb) so far - mapped the microphone mute and touchpad on/off/toggle keys to the - function keys F20, F21, F22, F23 instead of their correct key - codes. This key code mangling will be removed in the next systemd - release v258. To maintain compatibility with X11 applications that - rely on the old function key code mappings, this mangling has now - been moved to the relevant X11 keyboard driver modules instead. Thus, - in order to ensure these keys continue to work as before make sure to - update the xf86-input-evdev and xf86-input-libinput packages to the - newest version before updating systemd to v258. - * Support for automatic flushing of the nscd user/group database caches has been dropped. - * Support for cgroup v1 ('legacy' and 'hybrid' hierarchies) is now - considered obsolete and systemd by default will refuse to boot under - it. To forcibly reenable cgroup v1 support, - SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 must be set on kernel command - line. The meson option 'default-hierarchy=' is also deprecated, i.e. - only cgroup v2 ('unified' hierarchy) can be selected as build-time - default. - - * Support for System V service scripts is deprecated and will be - removed in a future release. Please make sure to update your software - *now* to include a native systemd unit file instead of a legacy - System V script to retain compatibility with future systemd releases. - - * Support for the SystemdOptions EFI variable is deprecated. - 'bootctl systemd-efi-options' will emit a warning when used. It seems - that this feature is little-used and it is better to use alternative - approaches like credentials and confexts. The plan is to drop support - altogether at a later point, but this might be revisited based on - user feedback. - - * systemd-run's switch --expand-environment= which currently is disabled - by default when combined with --scope, will be changed in a future - release to be enabled by default. - * The FileDescriptorName= setting for socket units is now honored by Accept=yes sockets too, where it was previously silently ignored and "connection" was used unconditionally. @@ -78,8 +40,46 @@ CHANGES WITH 257 in spe: filesystem. $SYSTEMD_NSPAWN_UNIFIED_HIERARCHY=0 can be used to override this behavior. + Announcements of Future Feature Removals: + * D-Bus method org.freedesktop.systemd1.StartAuxiliaryScope() becomes - deprecated (reach out if you have use cases). + deprecated because accounting data and such cannot be reasonably + migrated between cgroups. It might be fully removed in a future release + (reach out if you have use cases). + + * Support for cgroup v1 ('legacy' and 'hybrid' hierarchies) is now + considered obsolete and systemd by default will refuse to boot under + it. To forcibly reenable cgroup v1 support, + SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 must be set on kernel command + line. The complete removal of cgroup v1 is scheduled for v258. + + * Support for System V service scripts is deprecated and will be + removed in v258. Please make sure to update your software + *now* to include a native systemd unit file instead of a legacy + System V script to retain compatibility with future systemd releases. + + * To work around limitations of X11's keyboard handling systemd's + keyboard mapping hardware database (hwdb.d/60-keyboard.hwdb) so far + mapped the microphone mute and touchpad on/off/toggle keys to the + function keys F20, F21, F22, F23 instead of their correct key + codes. This key code mangling will be removed in the next systemd + release v258. To maintain compatibility with X11 applications that + rely on the old function key code mappings, this mangling has now + been moved to the relevant X11 keyboard driver modules instead. Thus, + in order to ensure these keys continue to work as before make sure to + update the xf86-input-evdev and xf86-input-libinput packages to the + newest version before updating systemd to v258. + + * Support for the SystemdOptions EFI variable is deprecated. + 'bootctl systemd-efi-options' will emit a warning when used. It seems + that this feature is little-used and it is better to use alternative + approaches like credentials and confexts. The plan is to drop support + altogether at a later point, but this might be revisited based on + user feedback. + + * systemd-run's switch --expand-environment= which currently is disabled + by default when combined with --scope, will be changed in a future + release to be enabled by default. libsystemd: From 102efcd3120831b6823e9ad8b0ba4628e981b3f4 Mon Sep 17 00:00:00 2001 From: Mike Yuan Date: Tue, 15 Oct 2024 18:36:51 +0200 Subject: [PATCH 2/2] Bump kernel recommended baseline to v5.4 --- NEWS | 6 ++++++ README | 8 ++++---- src/basic/constants.h | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/NEWS b/NEWS index 47cd6ad45d..321750b7e1 100644 --- a/NEWS +++ b/NEWS @@ -47,6 +47,12 @@ CHANGES WITH 257 in spe: migrated between cgroups. It might be fully removed in a future release (reach out if you have use cases). + * The recommended kernel baseline version has been bumped to v5.4 + (released in 2019). Expect limited testing on older kernel versions, + where "old-kernel" taint flag would also be set. Support for them + will be phased out in a future release in 2025, i.e. we expect to bump + the minimum baseline to v5.4 then too. + * Support for cgroup v1 ('legacy' and 'hybrid' hierarchies) is now considered obsolete and systemd by default will refuse to boot under it. To forcibly reenable cgroup v1 support, diff --git a/README b/README index 7c7bbaf070..9b84bf7e7a 100644 --- a/README +++ b/README @@ -39,16 +39,16 @@ REQUIREMENTS: ≥ 4.17 for cgroup-bpf socket address hooks ≥ 4.20 for PSI (used by systemd-oomd) ≥ 5.3 for bounded loops in BPF program - ≥ 5.4 for signed Verity images - ≥ 5.7 for BPF links and the BPF LSM hook + ≥ 5.4 for pidfd and signed Verity images + ≥ 5.7 for CLONE_INTO_CGROUP, BPF links and the BPF LSM hook ⛔ Kernel versions below 3.15 ("minimum baseline") are not supported at all, and are missing required functionality (e.g. CLOCK_BOOTTIME support for timerfd_create()). - ⚠️ Kernel versions below 4.15 ("recommended baseline") have significant + ⚠️ Kernel versions below 5.4 ("recommended baseline") have significant gaps in functionality and are not recommended for use with this version - of systemd (e.g. lack sufficiently comprehensive and working cgroupv2 + of systemd (e.g. lack race-free process tracking by pidfd and new mount API support). Taint flag 'old-kernel' will be set. systemd will most likely still function, but upstream support and testing are limited. diff --git a/src/basic/constants.h b/src/basic/constants.h index e70817c51f..5aaf8f535c 100644 --- a/src/basic/constants.h +++ b/src/basic/constants.h @@ -85,4 +85,4 @@ /* Path where systemd-oomd listens for varlink connections from user managers to report changes in ManagedOOM settings. */ #define VARLINK_ADDR_PATH_MANAGED_OOM_USER "/run/systemd/oom/io.systemd.ManagedOOM" -#define KERNEL_BASELINE_VERSION "4.15" +#define KERNEL_BASELINE_VERSION "5.4"