Systemd[1]: Failed to create /init.scope control group: Function not implemented

(a note from our latest newsletter, thanks @khem for tracking this down)

One impactful change of the latest Yoe/Yocto releases is that OLDEST_KERNEL is now set to 5.15 by default, therefore the BSPs which are using older than 5.15 kernel needs to make a note of this. Since this impacts glibc and kernel interface, it’s important that this is set to at least the version of the kernel the BSP is using. e.g. if a machine is using 5.4 kernel, it might enable additional sycalls on glibc which may fail during runtime as they may not be available in 5.4 kernel .e.g. systemd on ARM64 machines fails

[    7.157399] systemd[1]: Failed to create /init.scope control group: Function not implemented
[    7.167850] systemd[1]: Failed to allocate manager object: Function not implemented
[!!!!!!] Failed to allocate manager object.

To fix this in Yoe based projects, the project specific config.conf can be
used to set it

diff --git a/sources/meta-yoe/conf/projects/coral-dev/config.conf b/sources/meta-yoe/conf/projects/coral-dev/config.conf
index e729bf9..bac850a 100644
--- a/sources/meta-yoe/conf/projects/coral-dev/config.conf
+++ b/sources/meta-yoe/conf/projects/coral-dev/config.conf
@@ -37,6 +37,9 @@ DEFAULTTUNE:virtclass-multilib-lib32 = "armv7athf-neon"
 # Use GNU objcopy for kernel with clang
 OBJCOPY:pn-linux-fslc-lts:toolchain-clang = "${HOST_PREFIX}objcopy"

+# OE has moved to demand 5.15 minimum kernel but we are at 5.4 for coral-dev
+OLDEST_KERNEL = "5.4"
+
 # Use gcc for coral u-boot
 TOOLCHAIN:pn-u-boot-coral = "gcc"
1 Like