Razer Blade15にUbuntu22.04をホストインストールする
前回Razer BladeにUbuntu20.04をホストインストールしたが、今回はUbuntu22.04を
クリーンインストールしてみたので、そのときのメモを残しておく。
まずは、Ubuntu22.04のISOダウンロードしてEtcherでUSBメモリに書き込む。
USBメモリから起動して、OEMインストールする。OEM名、パスワードを設定する。
パスワード設定
OEMユーザで最初自動ログインされるので、ここでパスワード入力とか緩くするなどしておいた。
(個人的にデフォルトだと都合が悪かったから。困ってないならやる必要なし)
> sudo vi /etc/security/pwquality.conf
minlen = 6 #最小長さ
minclass = 1 #使用する文字種類
今回は普段使うユーザ名をubuntu
とした。パスワードはいつものを設定。
そのあとはとりあえず、サスペンドなどの設定を行った。
日本語ロケールでセットアップしたところ、ディレクトリ名が日本語になる。
これはこれで都合悪いので、英語表記に変更。
LANG=C xdg-user-dirs-gtk-update
キーボード設定で日本語(Mozc)
を追加すると日本語入力できるようになる。
SSHサーバーインストール
openssh-serverがインストールされてなかったので、インストール。
インストールする場合、openssh-clientを削除してから改めてインストールしたほうが良い(依存関係のエラーが出る可能性がある)
> sudo apt-get remove –purge openssh-client
> sudo apt-get install openssh-server
サスペンド設定
いろいろ勝手にサスペンドされると困るので以下の対応をした。
- 閉じてもサスペンドしないようにする
- 電源ボタン押したらサスペンド
というようにしている。長時間計算させるときなど閉じてもスリープさせないほうが都合がいいのかもしれない。
【Ubuntu】蓋を閉じてもノートPCをスリープにしない方法
https://nisshingeppo.com/ai/ubuntu-nonsleep/
> sudo vi /etc/systemd/logind.conf
HandleLidSwitch=ignore
> sudo reboot
NVIDIA関連
以下の流れでドライバのインストールを実施した。
- カーネルドライバnouveauをロードさせないように設定する。
- UEFI Secure BootをOFF
- インストールしたいCUDAバージョンのrunfileを取得して、ついでにNVIDIAドライバもインストールする。
実は、ドライバのインストールはいろいろハマっていて、
結局のところNVIDIAドライバのインストールは
CUDAライブラリのインストーラーに任せるのが一番成功率高い。
apt install
とか公式サイトからDLしたドライバ単体インストールなどやったが、最終的にnvidia-smi
がエラーになったりしていた。
- nouveauをロードさせないようにブラックリストに登録して再起動する。
> sudo vi /etc/modprobe.d/blacklist.conf
blacklist nouveau
> sudo update-initramfs -u
> sudo reboot
-
BIOSの設定でセキュアブートの設定をOFFにして再起動
-
CUDAライブラリをインストールする。
今回はCUDA v11.8をインストール。ここでのポイントは、Driver v520.61を一緒にインストールすること。
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
> sudo init 3 # GUIを停止しないとエラーになる
> chmod +x cuda_11.8.0_520.61.05_linux.run
> ./cuda_11.8.0_520.61.05_linux.run
CUDA Installer
- [X] Driver
[X] 520.61.05
+ [X] CUDA Toolkit 11.8
[ ] CUDA Demo Suite 11.8
[ ] CUDA Documentation 11.8
- [ ] Kernel Objects
[ ] nvidia-fs
Options
Install
環境変数を設定
> vi ~/.bashrc
export PATH=/usr/local/cuda-11.8/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64
cuDNNインストール(CUDA v11.8用)
NVIDIAのサイトにログインしてcuDNNのアーカイブを取得する。
> wget https://developer.nvidia.com/downloads/compute/cudnn/secure/8.8.1/local_installers/11.8/cudnn-linux-x86_64-8.8.1.3_cuda11-archive.tar.xz/
> tar xvf cudnn-11.2-linux-x64-v8.1.1.33.tgz
> cd cudnn-linux-x86_64-8.8.1.3_cuda11-archive/
> sudo cp include/* /usr/local/cuda/include/
> sudo cp lib/* /usr/local/cuda/lib64/
無事インストールできたか確認
> nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
> nvidia-smi -q
==============NVSMI LOG==============
Timestamp : Sat Apr 15 15:53:33 2023
Driver Version : 520.61.05
CUDA Version : 11.8
Attached GPUs : 1
GPU 00000000:01:00.0
Product Name : NVIDIA GeForce RTX 2060
Product Brand : GeForce
Product Architecture : Turing
DockerとNVIDIA toolkitインストール
Docker内でもGPUを使いたいので、Dockerだけでなく、NVIDIA toolkitも公式のやり方でインストールする。
Dockerインストール方法は以下
> sudo gpasswd -a $USER docker
ユーザ ubuntu をグループ docker に追加
> docker -v
Docker version 23.0.3, build 3e7cbfd
NVIDIA Container Toolkitの設定を以下の手順でやる。
セットアップできたら、CUDAのDockerコンテナを起動して、コンテナ内でnvidia-smi
を実行できればとりあえずOK。
nvidia-smi -L
でGPU名だけ表示している。
> sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi -L
GPU 0: NVIDIA GeForce RTX 2060 (UUID: GPU-24ea6b18-f524-f10d-9c53-4579dbeb33f6)
リモートデスクトップ設定
Ubuntu22.04からリモートデスクトップでログインできる。ただし、リモート側でログインした状態じゃないとログインできない。
ただし、Win11のリモートデスクトップから接続すると、パイプ("|")が入力できない。(SSHログインしてターミナルからは入力できる) Win側のバグなのか、UbuntuのRDPバグどちらかだと思われる。
リモートデスクトップで接続してエディタでコード書いたりする場合、パイプが入力できないのは致命的。
どうにかしてほしい。。
Visual Studio Codeのリモートアドオンでコーディングするのが無難かもしれないし、コーディングしない場合はとりあえず使える。
あとは、エディタなど必要なアプリをインストールしてとりあえず完了とした。
Discussion