web-dev-qa-db-ja.com

Ubuntu 16.04カーネル4.4.0-21はnvidia / vboxdrvモジュールをロードしなくなりました(必要なキーは利用できません)

Ubuntu 16.04(4.4.0-21)の最新カーネルは、nvidia(および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

4.4.0-18でも機能します。変化したこと?問題を修正するにはどうすればよいですか?

7
user534566

カーネルバグ#1571691には 答え がありました。

Sudo apt-get install mokutil; Sudo mokutil --disable-validation
0
user534566

セキュアブートをオンのままにして、NVidiaやVirtualBoxなどの独自のカーネルモジュールを使用する方法があります。 XCAアプリの最初のダウンロード:

Sudo apt install xca

次に、新しいデータベースを作成し、新しいキーを生成します。次に、その秘密鍵からCA証明書を生成します。秘密鍵をPEM形式にエクスポートし、CA公開証明書をDER形式にエクスポートします。 CA証明書をMOKデータベースにインポートします。

Sudo mokutil --import CAcert.cer

プログラムは、MOKデータベースのパスワードを要求します。リブート後、MOKManagerはGRUBの前に実行されます。 Enroll keysを選択し、前に追加した証明書を選択し、確認のためにパスワードを入力します。その後、CA証明書がMOKデータベースに追加されます。リブート。

次に、カーネルヘッダースクリプトディレクトリでsign-fileプログラムを見つけます。私にとっては:

/usr/src/linux-headers-4.4.0-22-lowlatency/scripts/sign-file

次に、/lib/modules/4.4.0-22-lowlatency/updates/dkms/のすべてのカーネルモジュールに署名します。例えば:

/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

その後、Required key not availableエラーなしでモジュールをロードできます。

Dkmsディレクトリから新しいカーネルまたはモジュールカーネルの新しいバージョンをインストールした後、署名手順を繰り返す必要があります。

明確にするために読むべきリンク:

https://wiki.ubuntu.com/SecurityTeam/SecureBoot

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-signing-kernel-modules-for-secure-boot.html

4
QkiZ