Intégrations externes indisponibles sur SBC ARM sans support CONFIG_CFS_BANDWIDTH (Khadas, potentiellement Raspberry Pi)

Bonjour,

Je remonte un problème bloquant pour toute intégration externe sur mon Khadas VIM1S (Ubuntu 24.04, kernel Amlogic 7.0.0+).

Symptôme — impossible de démarrer une intégration externe (testé avec Shelly), erreur dans les logs :

Cannot restart container XXX: ... error setting cgroup config for procHooks process: 
openat2 /sys/fs/cgroup/.../cpu.max: no such file or directory

Cause isolée, reproductible hors Gladys :

bash

docker run --rm hello-world              # OK
docker run --rm --cpus="1.0" hello-world # échoue avec la même erreur

Confirmation kernel :

bash

cat /boot/config-$(uname -r) | grep CFS_BANDWIDTH
→ CONFIG_CFS_BANDWIDTH is not set

Ce flag de compilation kernel fournit cpu.max (quota CPU cgroup v2). Sans lui, aucune limite --cpus ne peut être posée sur un conteneur — donc dès que les intégrations externes appliquent cette limite à la création, ça échoue systématiquement, sans contournement possible côté config système (testé : cgroup driver systemd et cgroupfs, délégation cgroup vérifiée correcte à tous les niveaux).

Portée potentielle : ce n’est pas isolé à mon matériel. Le Raspberry Pi a eu historiquement le même souci (ticket raspberrypi/linux#3387, toujours ouvert).

Suggestion : rendre la limite CPU optionnelle, ou basculer sur --cpu-shares (pondération, ne nécessite pas cpu.max) plutôt qu’un quota strict — voire détecter l’absence de cpu.max et créer le conteneur sans limite plutôt que d’échouer.

Je reste dispo pour tester sur ce matériel si besoin. Merci

Bienvenue sur le forum @Didier_Hilary !

Est-ce que ton problème ne ressemble pas à celui que nous avons eu sur les Synology ?

Si c’est le cas, on transformera ton post en une demande de fonctionnalités pour la prise en compte d’autres machines.