Hello all,

I've been working on a systemd version update from 259 to 260, and one
of the new issues is that systemd-systemctl-native no longer runs on
RHEL 8 derivatives. A closer look shows that:

[akanavin@rocky8-vk-1 260.2]$
./image/home/akanavin/build/tmp/work/x86_64-linux/systemd-systemctl-native/260.2/recipe-sysroot-native/usr/bin/systemctl
Failed to acquire PID reference on ourselves: Function not implemented

And indeed, RHEL 8 ships kernel 4.18, while the needed function
pidfd_open was added in 5.3.

This prompted me to look into whether systemd has formal kernel
requirements, and it actually does. Particularly NEWS for 260
contains:

        * The Linux kernel version requirements have been updated too:
          baseline 5.4 → 5.10, recommended baseline 5.7 → 5.14, 6.6 for full
          functionality. Code for compatibility with versions older than the
          baseline has been removed.

and README contains a more expanded explanation of what is used from
which kernel, and why some things are soft-fallback, and others
hard-fail:

https://github.com/systemd/systemd/blob/v260-stable/README#L31

So. This is a good thing, and a less good thing (for some). On one
hand, I am glad that systemd aggressively takes new kernel features
into use. They're all too often unused and unknown. This also
naturally kills off ancient evil (or, some say, incompetently
developed) vendor kernels, as they no longer can be used with new
systemd releases, a kind of painful poetic justice I'd like to see
more of.

On the other hand, this leaves the question of what to do with
rhel/centos/rocky/alma 8. That distro was released in May 2019, was
transitioned to extended support in May 2024, and will cease to be
supported in May 2029. I'm not sure who, and why is asking for Yocto
Project to support RHEL for the full ten years, but now there's a
choice: drop RHEL 8 from the supported list and CI testing, or get
stuck on systemd 259. Theoretically we could also go back to our
custom re-implementation of systemctl, but I would really rather not.

A related, lesser issue is that systemd has glibc requirements too,
version 260 raised that from 2.31 to 2.34, and indeed Debian 11 is no
longer able to build systemd-systemctl-native. I believe this is
easier to mitigate, through buildtools and uninative, which together
insulate native pieces from host glibc pretty well.

Cheers,
Alex
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#2405): 
https://lists.openembedded.org/g/openembedded-architecture/message/2405
Mute This Topic: https://lists.openembedded.org/mt/119870359/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-architecture/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to