ls -1 / dev / {ashmem, binder} donne le résultat attendu pour / dev / ashmem, mais une erreur pour / dev / binder

Aug 18 2020

Contexte

Dans un autre article , j'ai signalé que:

Je suis en Ubuntu 20.04.1 par défaut noyau 5.4.0-42-générique (installé à partir principal) sur un système UEFI. Je veux charger deux modules de noyau (" ashmem " et " binder ") avec Secure Boot activé. Au moins pour moi, "binder" se charge bien avec Secure Boot activé, mais "ashmem" ne se charge pas avec Secure Boot activé. Les deux modules se chargent avec le démarrage sécurisé désactivé.

À ce qui précède, j'ajouterai que j'avais activé Secure Boot (et inscrit MOK) lors de la nouvelle installation initiale d'Ubuntu 20.04. Malgré tout, suite à l' excellente suggestion fournie par Rinzwind , j'ai exécuté ce qui suit après l'installation initiale:

sudo kmodsign sha512 /var/lib/shim-signed/mok/MOK.priv /var/lib/shim-signed/mok/MOK.der /lib/modules/`uname -r`/kernel/drivers/staging/android/ashmem_linux.ko

Et après avoir exécuté ce qui précède, j'ai relancé:

sudo modprobe ashmem_linux

sudo modprobe binder_linux

lsmod | grep -e ashmem_linux -e binder_linux

SUCCÈS! «Ashmem» et «binder» chargés! Merci Rinzwind !!

De plus, Anbox démarre pour moi maintenant avec Secure Boot activé, ce qui était mon objectif final. :)

Message d'erreur

Bien que «ashmem» et «binder» se chargent maintenant, et bien qu'Anbox démarre maintenant (et semble fonctionner correctement) pour moi maintenant avec Secure Boot activé, j'ai toujours exécuté ce qui suit:

ls -1 /dev/{ashmem,binder}

Et j'ai obtenu ce qui suit:

ls: cannot access '/dev/binder': No such file or directory
/dev/ashmem

Maintenant, je suis toujours curieux de savoir pourquoi j'obtiens l'erreur ci-dessus ("impossible d'accéder à '/ dev / binder': No such file or directory") en ce qui concerne le module "binder", et si je devrais être concerné.

Des questions

  1. Doit-on créer / dev / binder lors du chargement du module «binder»? (Et l'erreur doit-elle me concerner?)
  2. Si / dev / binder doit être créé lors du chargement du module «binder», comment puis-je forcer / dev / binder à être créé?
  3. Et si / dev / binder doit être créé lors du chargement du module «binder» (c'est-à-dire si j'ai découvert un bogue), où dois-je signaler l'erreur sur Launchpad?

Pour réitérer, selon lsmod, les deux «ashmem» et «liant» se chargent. En outre, Anbox semble fonctionner correctement pour moi maintenant avec Secure Boot activé. Je poste ici pour (a) satisfaire ma propre curiosité, (b) documenter ceci pour d'autres, et (c) déterminer si un rapport de bogue doit être déposé concernant le classeur (et où le déposer, si cela est justifié).

Réponses

4 GizmoChicken Aug 18 2020 at 08:42

En examinant de plus près la page d'installation d'Anbox , j'ai remarqué ce qui suit:

Dans Ubuntu 19.10, le pilote de classeur ne crée pas / dev / binder lorsqu'il est chargé. C'est intentionnel. Au lieu de cela, il prend en charge binderfs ( voir https://brauner.github.io/2019/01/09/android-binderfs.html ) qui est à la place depuis PR anbox / anbox # 1309

Bien que ce qui précède ne fasse pas spécifiquement référence à la situation pour Ubuntu 20.04, je suppose que la même chose s'applique à lui. Dans cet esprit, voici des réponses proposées à mes propres questions:

  1. Non, / dev / binder ne doit pas être créé lors du chargement du module «binder». (Et le message d'erreur ne devrait pas me concerner.)
  2. Il n'y a aucun besoin (et probablement aucun moyen) de forcer la création de / dev / binder.
  3. Il n'est pas nécessaire de signaler cette erreur sur Launchpad (ou ailleurs).

Si quelqu'un souhaite fournir une (meilleure) réponse alternative, n'hésitez pas à le faire. Je laisserai cette question ouverte pendant quelques jours, mais la marquerai comme RÉPONSE si je ne vois pas de réponses / commentaires supplémentaires dans les prochains jours. :)