カーネルモジュールの署名

カーネルモジュールの署名

だからDebian Buster 10システムにインストールしました。仮想ボックス一部のカーネルモジュールを手動でロードするエラーが発生しました。

sudo ./vboxconfig 
[sudo] password for user:
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: You must sign these kernel modules before using VirtualBox:
 vboxdrv vboxnetflt vboxnetadp
See the documenatation for your Linux distribution..
vboxdrv.sh: Building VirtualBox kernel modules

したがって、仮想ボックスのインストールを完了するには、vboxdrv、vboxnetflt、およびvboxnetadpカーネルモジュールをロードするのに役立つ必要がありますが、これがどのように実行されるのかわかりません。セキュアブートが有効なUEFIシステムを使用しています。

答え1

モジュール署名には3つのステップが含まれます。

最初の2つのステップは一度だけ実行します。最後のステップはモジュールをビルドするたびに再実行する必要があります。

MOK生成:

openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -days 36500 -subj "/CN=My Name/" -nodes

My Name適切なものと交換してください。 (次のガイドラインでは、このプログラムをルートのホームディレクトリからrootとして実行すると想定しています。/root

登録するには:

mokutil --import MOK.der

これにより、次回の起動時にのみ使用される一時パスワードであるパスワードの入力を求められます。 UEFI MOK 管理ツールを起動するには、システムを再起動します。スクリーンショットを含む便利なガイド指示に従ってキーを登録してください。

これにより再起動し、キーがロードされたことを確認できます。

dmesg | grep cert

キーを使用してモジュールに署名するには、モジュールが含まれているディレクトリに変更して次の手順を実行します。

/usr/lib/linux-kbuild-4.19/scripts/sign-file sha256 /root/MOK.priv /root/MOK.der vboxdrv.ko

vboxdrv.ko「4.19」を適切に変更してください。

関連情報