Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

調べると 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。

以上です。

arc279
フリーランスだけどわりとどこ行っても「いい感じにする」のに定評があるおっさん
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした