調べると 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 のキーペアを自分で作るか、あるいはツールの中で作ってくれるか、選択できる。
今回は作ってもらって、
すると、こんなパスで公開鍵ができているはずなので、これをメモっておく。
/usr/share/nvidia/nvidia-modsign-crt-XXXXXXXX.der
XXXXXXXX
のところはhex8桁の値が入ってるはず。
あとはインストール画面に従って最後まで終わらせる。
公開鍵の登録
先程メモったファイルに対して、こう。
$ sudo mokutil --import /usr/share/nvidia/nvidia-modsign-crt-XXXXXXXX.der
登録時にパスワードの設定が必要。
enrollする
公開鍵の登録まで済んだら、おもむろにリブート。
モニタを繋げておく必要あり。
$ sudo reboot
OS起動画面になる前に、公開鍵をenrollする画面が出るはずなので、
ここで先程のパスワードを入力して、登録。
一度成功すれば大丈夫。
確認
$ nvidia-smi
でエラーが出なければOK。
以上です。