O bug do kernel # 1571691 tinha a resposta :
sudo apt-get install mokutil; sudo mokutil --disable-validation
O kernel mais recente do Ubuntu 16.04 (4.4.0-21) não carrega mais o módulo nvidia (e vboxdrv).
$ sudo modprobe -v nvidia
insmod /lib/modules/4.4.0-21-generic/updates/dkms/nvidia_361.ko
modprobe: ERROR: could not insert 'nvidia_361': Required key not available
Com o 4.4.0-18 ainda funciona. O que mudou? Como eu corrijo o problema?
O bug do kernel # 1571691 tinha a resposta :
sudo apt-get install mokutil; sudo mokutil --disable-validation
Existe uma maneira de deixar a inicialização segura e usar módulos proprietários do kernel, como NVidia ou VirtualBox. Primeiro, baixe o aplicativo xca:
sudo apt install xca
Em seguida, crie um novo banco de dados e gere uma nova chave. Em seguida, gere o certificado da CA dessa chave privada. Exportar a chave privada para o formato PEM e o certificado público da CA para o formato DER. Importar o certificado da CA para o banco de dados MOK:
sudo mokutil --import CAcert.cer
O programa pede a senha do banco de dados MOK. Após a reinicialização, o MOKManager será executado antes do GRUB. Selecione Enroll keys
, selecione o certificado que você adicionou antes e insira a senha para confirmação. Depois disso, o seu certificado de CA é adicionado ao banco de dados MOK. Reinicie.
Em seguida, localize o programa de arquivo de sinais no diretório de scripts de cabeçalhos do kernel. Para mim está em:
/usr/src/linux-headers-4.4.0-22-lowlatency/scripts/sign-file
Agora assine todos os módulos do kernel em /lib/modules/4.4.0-22-lowlatency/updates/dkms/
. Por exemplo:
/usr/src/linux-headers-4.4.0-22-lowlatency/scripts/sign-file sha256 CA.pem CAcert.cer /lib/modules/4.4.0-22-lowlatency/updates/dkms/nvidia_361.ko
Depois disso, você poderá carregar o módulo sem o erro Required key not available
.
Depois de instalar o novo kernel ou a nova versão dos kernels de módulo do diretório dkms, você deve repetir o procedimento de assinatura.
Links para ler para esclarecer:
link