Il modulo "ashmem" non viene caricato con l'avvio protetto attivato (ma "binder" viene caricato con l'avvio protetto attivato)

Aug 17 2020

Sommario

Sto eseguendo Ubuntu 20.04.1 con kernel predefinito 5.4.0-42-generico (installato da Main) su un sistema UEFI. Voglio caricare due moduli del kernel (" ashmem " e " binder ") con Secure Boot abilitato. Almeno per me, "binder" si carica bene con Secure Boot abilitato, ma "ashmem" non si carica con Secure Boot abilitato. Entrambi i moduli vengono caricati con l'avvio protetto disabilitato.

Dettagli

Pacchetti del kernel (installati da 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

Avvio protetto disabilitato

Con Secure Boot disabilitato, posso caricare il modulo "ashmem" utilizzando quanto segue:

sudo modprobe ashmem_linux

Inoltre, con Secure Boot disabilitato, posso caricare il modulo "binder" utilizzando quanto segue:

sudo modprobe binder_linux

Quindi, tutto va bene con Secure Boot disabilitato .

Avvio protetto abilitato

Con Secure Boot abilitata, non posso non caricare il "ashmem" modulo utilizzando la seguente:

sudo modprobe ashmem_linux

Dopo aver tentato di farlo, ottengo quanto segue:

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

Tuttavia, anche con Secure Boot abilitato, posso comunque caricare il modulo "binder" senza alcun problema utilizzando quanto segue:

sudo modprobe binder_linux

Quindi, sono perplesso perché "binder" viene caricato con Secure Boot abilitato, ma "ashmem" non viene caricato con Secure Boot abilitato.

E per quel che vale, non ho avuto altri problemi con Secure Boot.

Domande

  1. C'è un modo per forzare il caricamento di "ashmem" con Secure Boot abilitato?

  2. L'impossibilità di caricare "ashmem" con Secure Boot abilitato è una funzionalità o un bug?

  3. E se si tratta di un bug, dove sarebbe il posto migliore per segnalare il bug su Launchpad?

Addendum

A quanto sopra, aggiungerò che avevo abilitato Secure Boot (e registrato MOK) durante l' installazione pulita iniziale di Ubuntu 20.04. Anche così, seguendo l' ottimo suggerimento fornito dahttps://askubuntu.com/users/15811/rinzwind, Ho eseguito quanto segue dopo l'installazione iniziale:

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

E dopo aver eseguito quanto sopra, ho rieseguito:

sudo modprobe ashmem_linux

sudo modprobe binder_linux

lsmod | grep -e ashmem_linux -e binder_linux

SUCCESSO! Sia "ashmem" che "binder" caricati! Graziehttps://askubuntu.com/users/15811/rinzwind!!

Cosa c'è di più, https://anbox.io/inizia per me ora con Secure Boot abilitato, che era il mio obiettivo finale. :)

Dato che sia "ashmem" che "binder" ora vengono caricati con l'avvio protetto abilitato, contrassegno questa domanda come RISPOSTA. Tuttavia, ho notato un altro errore relativo al modulo "raccoglitore". Per chi fosse interessato, ho postato una domanda relativa a quell'errorehttps://askubuntu.com/questions/1267990/ls-1-dev-ashmem-binder-yields-anticipated-result-for-dev-ashmem-but-an-err.

Risposte

5 Rinzwind Aug 17 2020 at 07:40

Devi firmare il modulo. Sembra che possa essere fatto con:

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