LoginSignup
27
30

More than 5 years have passed since last update.

UEFI のセキュアブート機にNVIDIAのドライバを入れる話

Posted at

調べると Ubuntu とか Mac ばっかり出て来るので CentOS 7 に入れてみた話。

CUDAのインストールとかは他の環境と同じ手順で入るので、
セキュアブートを突破するところに絞ってメモ。

環境

$ uname -a
Linux alienware1 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)

セキュアブートかどうか確認

$ dmesg | grep Secure
[    0.000000] Secure boot enabled
[    1.492249] sdhci: Secure Digital Host Controller Interface driver

以下、セキュアブートだった場合の話。
違ったら普通にインストールできると思う。試せてないからわかんないけど。

NVIDIA のドライバを入れるとき

詳細はここ。
http://us.download.nvidia.com/XFree86/Linux-x86/361.45.11/README/installdriver.html

kernel-devel とか gcc がたぶん必要なので適宜 yum で入れる。

以下手順@2017/3/7現在

NVIDIAのサイトからLinux用のドライバを落としてきて

$ sudo sh NVIDIA-Linux-x86_64-375.39.run

とかやると、ターミナル上でインストール画面が立ち上がる。

kernel のソースのパスが見付からなくて失敗したら、
--kernel-source-path /usr/src/kernels/3.10.0-514.6.2.el7.x86_64/
みたいなオプションで教えてやるとよい。

DKMS は入れなくてもよいのでは(本題じゃないので調べてない

セキュアブートの鍵

セキュアブートが有効になってると、署名なしのモジュールは起動時に読み込めないので、
X.509 のキーペアを自分で作るか、あるいはツールの中で作ってくれるか、選択できる。

スクリーンショット 2017-03-07 16.50.28.png

今回は作ってもらって、

スクリーンショット 2017-03-07 16.50.39.png

署名付きの private key は破棄。
スクリーンショット 2017-03-07 16.50.53.png

すると、こんなパスで公開鍵ができているはずなので、これをメモっておく。

/usr/share/nvidia/nvidia-modsign-crt-XXXXXXXX.der
XXXXXXXX のところはhex8桁の値が入ってるはず。

スクリーンショット 2017-03-07 16.51.03.png

あとはインストール画面に従って最後まで終わらせる。

公開鍵の登録

細かい話はこちら。
https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-signing-kernel-modules-for-secure-boot.html

先程メモったファイルに対して、こう。

$ sudo mokutil --import /usr/share/nvidia/nvidia-modsign-crt-XXXXXXXX.der

登録時にパスワードの設定が必要。

enrollする

公開鍵の登録まで済んだら、おもむろにリブート。
モニタを繋げておく必要あり。

$ sudo reboot

OS起動画面になる前に、公開鍵をenrollする画面が出るはずなので、
ここで先程のパスワードを入力して、登録。

一度成功すれば大丈夫。

確認

$ nvidia-smi

でエラーが出なければOK。

以上です。

27
30
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
30