É um bug enorme no Ubuntu. mokutil
e MokManager
só podem assinar seus próprios módulos se você tiver o MB que suporta o uefi. MB mais antigos no Ubuntu 16.04 que não suportam o uefi não podem assinar módulos com mokutil
e MokManager
. Você sempre receberá respostas como EFI variables are not supported on this system
ou similar.
Afirma-se que a assinatura é ativada apenas pelo kernel para o uefi MB. Me desculpe, mas isso está errado. Isto também é mostrado, e. por esses parâmetros do kernel:
CONFIG_MODULE_SIG=y
CONFIG_MODULE_SIG_ALL=y
CONFIG_MODULE_SIG_UEFI=y
CONFIG_MODULE_SIG_SHA512=y
CONFIG_MODULE_SIG_HASH="sha512"
CONFIG_EFI_SECURE_BOOT_SIG_ENFORCE=y
CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
CONFIG_CHECK_SIGNATURE=y
CONFIG_SIGNATURE=y
Como eu disse, este é o parâmetro do kernel para um MB que não seja uefi e que não faz sentido, especialmente CONFIG_MODULE_SIG_UEFI=y
.
Você tem que recompilar o kernel e desativar as opções de assinatura. Eles podem ser encontrados por grep -v ^# /boot/config-$(uname -r) | grep _SIG
. Especialmente CONFIG_MODULE_SIG
e CONFIG_MODULE_SIG_ALL
devem ser definidos como n
. No entanto, isso tem uma clara desvantagem porque você precisa colocar a atualização do kernel em espera e terá que recompilar cada novo kernel. É frustrante.