はじめに
Jetson Orin Nano Developer Kit 8GBのOSイメージをNVMe SSDにインストールする手順をメモとして残します。
対象モデル
Jetson Orin Nano Developer Kit (P3766)
1024 core Ampere architecture GPU
6 core ARM Cortes-A78AE v8.2 64-bit CPU
8GB Memory
2 camera connector
M.2 2280 PCIe NVMe Gen 3x4 SSD 256GB
準備
詳細な手順はJetson Orin Nano Developer Kit User Guide - Software SetupのOptional Flow with Host Linux PCに紹介がありますが、ステップを要約します。
- NVIDIA Developer Programのアカウントを用意する (SDK Managerのダウンロードとその後の作業に必要となります)
- x86_64のUbuntu Linuxマシンを用意する
- NVIDIA SDK Managerをインストールする
- NVIDIA SDK Managerを起動し、ログインする
サポートマトリクスを確認
NVIDIA SDK ManagerのSystem RequirementsにLinuxマシンのハードウェア要件やOS要件などが記載されています。
JetPackをインストールするためにはバージョンのサポート条件が記載された表を確認しておく必要があります。NVIDIA SDK Managerは様々なLinuxをサポートしておりますが、JetsonにJetPackをインストールするには、Ubuntuが必須なようです。
具体的に記載すると記事を書いた時点では、JetPack 5.1.2をセットアップするには、Ubuntu 18.04か20.04のx86_64 Linuxマシンが必要となっています。他のOSはサポートされていませんし、Ubuntu 22.04ですとJetPack 6.xの対応となるようです。
NVIDIA SDK Managerをダウンロード
x86_64のLinuxマシン(Jetsonでありません)にてJetson Download Centerにアクセスし、FilterにSDKと入力すると、NVIDA SDK Managerが表示されますのでDownload SDK Managerのリンクからダウンロードします。この際、NVIDIA Developer Programのログインが必要となります。
NVIDIA SDK Managerをインストール
ダウンロードしたファイルが保存されているディレクトリに移動し、次のコマンドを実行します。
sudo apt install ./sdkmanager_*-*_amd64.deb
NVIDIA SDK Managerを起動
コマンドラインにてsdkmanagerを実行します。作業を行う前にNVIDIA SDK Managerのバージョンが最新になっていることを確認します。最新でない場合は、最新にする必要があるようです。私の場合、ダウンロードしたファイルをインストールするだけでは最新ではなかったのでログインに失敗しました。NVIDIA SDK Manager右上のドット3つのアイコンからCheck for updateを選択し、最新のバージョンであることを確認して下さい。
ここまでが準備作業となります。
ハードウェアセットアップ
NVMe SSDをインストール
M.2 Slot (Type 2280)がPCIe 3.0 x4、M.2 Slot (Type 2230)がPCIe 3.0 x2となります。いずれかにNVMe SSDをインストールします。
強制リカバリモードの設定
別途手配したジャンパピンを使って、Jetsonモジュールの下にある12ピンのFC RECピンとGNDピンをショートさせ、強制リカバリモードの設定にします。
ホストマシンとJetson Orin Nanoを接続
ホストLinuxマシンとJetson Orin NanoのUSB-CポートをUSB 3.0ケーブルを使って接続します。USB 3.0ケーブルであれば、両方がUSB-Cである必要はないようです。
ホストLinuxマシンとJetson Orin Nanoの接続には、USB 3.0ケーブル(USB-Aの場合コネクタ内部が青くなっているもの)を使う必要があります。
SDK Managerの設定
Install Jetson Software with SDK Managerを参照しながら、各種設定を行います。ダウンロードとインストールは、合計すると30分以上は時間がかかったように思います。気長に対応しましょう。
途中に何度な設定を行う箇所が表示されます。先に案内したドキュメントを参照しながら適宜設定を行なって下さい。ユーザ名、パスワード、インストール先などの設定が途中で表示されます。
STEP 01の設定の際に、Target Hardwareが表示されない場合は、ケーブルが適切ではないなどの可能性があります。
SDK VERSIONが適切に表示されない場合は、ホストLinuxのOSとそのバージョン、および対象のJetPackバージョンがサポートされていない可能性があります。
ホストLinuxマシンに容量が足りないとSTEP 03に進むことができません。ストレージの残容量が60GB程度では足りないようでした。
Jetson Orin Nanoにログイン
インストールが完了すると作業終了となります。Jetson Orin Nanoにログインし、一旦シャットダウンします。その後、ジャンパピンを外して利用します。
動作確認
pythonのバージョンを確認してみました。
python3 --version
Python 3.8.10
PyTorchも確認しましたが、インストールされていないことが分かりました。コンテナ環境でセットアップするため、ホストOS側にインストールする必要はない、ということです。
python3
Python 3.8.10 (default, May 26 2023, 14:05:08)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'torch'
>>> exit()
ファイルシステムを確認すると下記のようになっています。
df -h .
Filesystem Size Used Avail Use% Mounted on
/dev/nvme0n1p1 233G 15G 206G 7% /