Le module «ashmem» ne se charge pas avec le démarrage sécurisé activé (mais «binder» se charge avec le démarrage sécurisé activé)

Aug 17 2020

Sommaire

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é.

Détails

Packages du noyau (installés à partir de Main)

  • linux-headers-5.4.0-42

  • linux-headers-5.4.0-42-generic

  • linux-image-5.4.0-42-generic

  • linux-modules-5.4.0-42-generic

  • linux-modules-extra-5.4.0-42-generic

Secure Boot désactivé

Avec Secure Boot désactivé, je peux charger le module "ashmem" en utilisant les éléments suivants:

sudo modprobe ashmem_linux

De plus, avec Secure Boot désactivé, je peux charger le module "binder" en utilisant les éléments suivants:

sudo modprobe binder_linux

Donc, tout va bien avec le démarrage sécurisé désactivé .

Secure Boot activé

Avec Secure Boot activé, je ne peux pas charger le module "ashmem" en utilisant les éléments suivants:

sudo modprobe ashmem_linux

En essayant de le faire, j'obtiens ce qui suit:

modprobe: ERROR: could not insert 'ashmem_linux': Operation not permitted

Cependant, même avec Secure Boot activé, je peux toujours charger le module "binder" sans aucun problème en utilisant ce qui suit:

sudo modprobe binder_linux

Donc, je ne sais pas pourquoi "binder" se charge avec Secure Boot activé, mais "ashmem" ne se charge pas avec Secure Boot activé.

Et pour ce que ça vaut, je n'ai eu aucun autre problème avec Secure Boot.

Des questions

  1. Existe-t-il un moyen de forcer "ashmem" à se charger avec Secure Boot activé?

  2. L'incapacité de charger "ashmem" avec Secure Boot activé est-elle une fonctionnalité ou un bogue?

  3. Et s'il s'agit d'un bogue, quel serait le meilleur endroit sur Launchpad pour signaler le bogue?

Addenda

À 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. Même ainsi, suite à l' excellente suggestion dehttps://askubuntu.com/users/15811/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! Mercihttps://askubuntu.com/users/15811/rinzwind!!

Quoi de plus, https://anbox.io/commence pour moi maintenant avec Secure Boot activé, ce qui était mon objectif final. :)

Étant donné que «ashmem» et «binder» se chargent maintenant pour moi avec Secure Boot activé, je marque cette question comme RÉPONSE. Cependant, j'ai remarqué une autre erreur concernant le module «classeur». Pour les personnes intéressées, j'ai posté une question liée à cette erreurhttps://askubuntu.com/questions/1267990/ls-1-dev-ashmem-binder-yields-anticipated-result-for-dev-ashmem-but-an-err.

Réponses

5 Rinzwind Aug 17 2020 at 07:40

Vous devez signer le module. On dirait que cela peut être fait avec:

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