✅
Jetson AGX Orin に JetPack をインストールして初期設定をする
はじめに
基本的には公式ドキュメントを見れば初期設定方法はわかるので、本記事はあくまでも「私の場合はこうしている」という参考程度に公開します。
sudo をパスワード不要にする
セキュリティ上の懸念が無い利用環境では sudo のパスワードを不要にする。
$ sudo visudo
- %sudo ALL=(ALL:ALL) ALL
+ %sudo ALL=(ALL:ALL) NOPASSWD: ALL
デスクトップ環境を無効化
多くの用途ではデスクトップ環境は不要なので、余計なリソースを開放するために無効にする。
$ sudo init 3
$ sudo systemctl set-default multi-user.target
無線 LAN と Bluetooth を無効にする
使わなければ、お好みで。
sudo rfkill block all
パワーモードを最大値にする
デフォルトでは 30W に制限されているため、最大(60W)にする。
$ sudo nvpmodel -m 0
指示に従って再起動する。
MAXN
モードになっていることを確認する。
$ sudo nvpmodel -q
NV Power Mode: MAXN
JetPack をインストールする
nvidia-jetpack-runtime
のみをインストールをすることも可能だが、nvidia-jetpack-dev
も含む nvidia-jetpack
をインストールしておけば色々遊べる。
$ sudo apt update
$ sudo apt dist-upgrade
$ sudo reboot
$ sudo apt install nvidia-jetpack
好きなテキストエディタをインストールする
ノーコメント
$ sudo apt install nano emacs-nox
システムモニターをインストールする
定番の jtop
をインストールする。
Grafana + Prometheus などを使ったメトリクスについては別の記事に書く予定。
$ sudo apt install pip
$ sudo pip install jetson-stats
$ sudo jtop
サブ SSD をマウントする
私の場合は、Jetson Linux をインストールするメインの SSD はキャリアボード裏面の M.2 スロットに 、AI 学習モデルや Docker イメージを保存するサブの SSD を PCIe スロットに M.2 変換ボードを介して搭載している。
SSD をフォーマットする。UUID の確認をする。
$ sudo mkfs.ext4 /dev/nvme0n1
$ lsblk -f
nvme0n1 ext4 1.0 ********-****-****-****-************
fstab に UUID を記載して自動マウントする。
/etc/fstab
+ UUID=********-****-****-****-************ /ssd ext4 defaults 0 2
$ sudo mkdir /ssd
$ sudo mount -a
Docker をインストールする
JetPack 6.x は Docker がプリインストールされていないため自分でインストールする。(5.x ではプリインストールされていた。)
$ sudo apt install -y nvidia-container curl
$ curl https://get.docker.com | sh
$ sudo systemctl --now enable docker
$ sudo nvidia-ctk runtime configure --runtime=docker
Docker を一旦停止し、ディレクトリをサブ SSD に移す。
$ sudo systemctl stop docker
$ sudo mkdir /ssd/docker
$ sudo rsync -axPS /var/lib/docker/ /ssd/docker/
$ sudo mv /var/lib/docker /var/lib/docker.old
/etc/docker/daemon.json
{
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
},
"default-runtime": "nvidia",
"data-root": "/ssd/docker"
}
Docker を再稼働する。
$ sudo systemctl daemon-reload && sudo systemctl restart docker
Discussion