2 votes

Comment puis-je activer le cpu, la mémoire et l'io dans cgroupv2 (tentative d'exécution de Docker sur Android) ?

J'essaie d'exécuter Docker sur Android, en utilisant un Pixel 3a XL rooté, fonctionnant avec la rom stock mais flashé un noyau personnalisé. Je dois activer les contrôleurs cpu, cpuset, memory, io et pid dans cgroupv2. Après les avoir activés dans menuconfig et flashé le noyau, le script utilisé pour vérifier ne montre que pid disponible sous les contrôleurs cgroupv2.

Que dois-je faire à part activer ces options dans la menuconfig du noyau ? N'ai-je pas activé toutes les options nécessaires ? Toute aide serait grandement appréciée !

Dans l'état actuel, lorsque je lance docker, j'obtiens un avertissement pour chaque élément, par exemple "WARN : Unable to find cpu controller". et une erreur de configuration du cgroup pour le processus procHooks : bpf_prog_query(BPF_CGROUP_DEVICE)

Si je comprends bien, ces options peuvent être montées avec cgroupv1 et c'est pourquoi elles n'apparaissent pas ?

J'utilise ce guide : https://gist.github.com/FreddieOliveira/efe850df7ff3951cb62d74bd770dce27

et ce sont les options que j'ai activées dans mon noyau en utilisant menuconfig : https://wiki.gentoo.org/wiki/Docker

A partir de la configuration que j'ai flashée dans mon noyau :
CONFIG_CGROUPS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_CGROUP_CPUACCT=y

Je flash le noyau en flashant le Image.lz4-dtb qui est créé après la construction du noyau.

Voici une photo après avoir exécuté le script pour vérifier si les options du noyau sont toutes activées. J'essaie de les faire passer de manquantes à disponibles/activées.

enter image description here

3voto

Paul P Points 51

La solution était de courir : sudo mount -t tmpfs cgroup_root /sys/fs/cgroup qui a créé des répertoires pour chacune des ressources cgroup et a permis à Docker de fonctionner.

La section 2.1 est utile : https://Android.googlesource.com/kernel/common/+/Android-trusty-3.10/Documentation/cgroups/cgroups.txt

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X