El módulo "ashmem" no se carga con el inicio seguro activado (pero "binder" se carga con el inicio seguro activado)

Aug 17 2020

Resumen

Estoy ejecutando Ubuntu 20.04.1 con el kernel predeterminado 5.4.0-42-generic (instalado desde Main) en un sistema UEFI. Quiero cargar dos módulos del kernel (" ashmem " y " binder ") con Secure Boot habilitado. Al menos para mí, "binder" se carga bien con Secure Boot habilitado, pero "ashmem" no se carga con Secure Boot habilitado. Ambos módulos se cargan con el arranque seguro desactivado.

Detalles

Paquetes de kernel (instalados desde Main)

  • linux-headers-5.4.0-42

  • linux-headers-5.4.0-42-genérico

  • linux-image-5.4.0-42-genérico

  • linux-módulos-5.4.0-42-genérico

  • linux-módulos-extra-5.4.0-42-genérico

Arranque seguro deshabilitado

Con Secure Boot deshabilitado, puedo cargar el módulo "ashmem" usando lo siguiente:

sudo modprobe ashmem_linux

Además, con Secure Boot deshabilitado, puedo cargar el módulo "binder" usando lo siguiente:

sudo modprobe binder_linux

Entonces, todo está bien con el arranque seguro desactivado .

Arranque seguro habilitado

Con Secure Boot habilitado, puedo no cargar el "ashmem" módulo utilizando la siguiente:

sudo modprobe ashmem_linux

Al intentar hacerlo, obtengo lo siguiente:

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

Sin embargo, incluso con Secure Boot habilitado, todavía puedo cargar el módulo "binder" sin ningún problema usando lo siguiente:

sudo modprobe binder_linux

Entonces, estoy desconcertado por qué "binder" se carga con Secure Boot habilitado, pero "ashmem" no se carga con Secure Boot habilitado.

Y por lo que vale, no he tenido ningún otro problema con el arranque seguro.

Preguntas

  1. ¿Hay alguna forma de forzar la carga de "ashmem" con el Arranque seguro habilitado?

  2. ¿La imposibilidad de cargar "ashmem" con el Arranque seguro habilitado es una característica o un error?

  3. Y si se trata de un error, ¿en qué lugar de Launchpad sería el mejor lugar para informar del error?

Apéndice

A lo anterior, agregaré que habilité el Arranque seguro (e inscribí MOK) durante la instalación limpia inicial de Ubuntu 20.04. Aun así, siguiendo la excelente sugerencia dehttps://askubuntu.com/users/15811/rinzwind, Ejecuté lo siguiente después de la instalación inicial:

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

Y después de ejecutar lo anterior, volví a ejecutar:

sudo modprobe ashmem_linux

sudo modprobe binder_linux

lsmod | grep -e ashmem_linux -e binder_linux

¡ÉXITO! ¡Se cargaron "ashmem" y "binder"! Graciashttps://askubuntu.com/users/15811/rinzwind!!

Y lo que es más, https://anbox.io/comienza para mí ahora con Secure Boot habilitado, que era mi objetivo final. :)

Dado que tanto "ashmem" como "binder" ahora se cargan para mí con el Arranque seguro habilitado, estoy marcando esta pregunta como RESPUESTA. Sin embargo, noté otro error con respecto al módulo "binder". Para los interesados, publiqué una pregunta relacionada con ese error.https://askubuntu.com/questions/1267990/ls-1-dev-ashmem-binder-yields-anticipated-result-for-dev-ashmem-but-an-err.

Respuestas

5 Rinzwind Aug 17 2020 at 07:40

Necesitas firmar el módulo. Parece que se puede hacer 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