Colección de citas famosas - Colección de consignas - Solución al error al cargar el controlador debido al bloqueo del kernel

Solución al error al cargar el controlador debido al bloqueo del kernel

Dado que el kernel de Linux ha actualizado la función de bloqueo, los módulos del kernel cuyas firmas no se pueden verificar informarán durante la instalación:

insmod: ERROR: no se pudo insertar el módulo xxxxxxxx.ko: operación no permitido

dmesg | grep Secureboot

dmesg | grep lock

imprimirá el bloqueo correspondiente y activará la información de visualización

generará la clave y el certificado cambian de nombre: signing_key.x509 y signing_key.priv y se colocan en el directorio raíz del código fuente del kernel de Linux.

Después de reiniciar el sistema usando el kernel recién compilado, use el siguiente comando para ver el certificado de firma válido:

dmesg | grep MODSIGN

Información similar a la Se mostrará lo siguiente:

[ 2.450021] MODSIGN: Certificado cargado 'GenFic: Clave de firma del kernel: b923a5f44eae25bbad52c8bf2742e7b7e6fb0c0e'

Puede compilar el módulo junto con el kernel, o puede compilarlo por separado más adelante. El módulo compilado por separado debe utilizarse el siguiente comando para firmar el módulo:

/usr/src/linux-headers-5.3.0-51-generic/scripts/sign-file sha512 /home. /yangyuqi/ko_sign_key/private_key.priv / home/yangyuqi/ko_sign_key/public_key.der xxxxxxxx.ko

Puede utilizar el siguiente comando para comprobar si la firma se ha añadido al módulo:

hexdump -C hello.ko | tail

Puede utilizar el siguiente comando para eliminar la firma:

strip --strip-debug hello.ko