この記事ではJetson Orin NanoをNVMeストレージから起動させる方法について解説します。GUIを使用するSDKマネージャを使用せずにCLIでセットアップする方法について解説します。
ホストはUbuntu22.04を使用します。Jetson Orin NanoにはJetson Linux 36.2をインストールします。パッケージは以下のURLからダウンロードします。https://developer.nvidia.com/embedded/jetson-linux-archive
パッケージのダウンロード
https://developer.nvidia.com/embedded/jetson-linux-r362 のページから Driver Package (BSP) と Sample Root Filesystem をぞれぞれダウンロードします。https://developer.nvidia.com/embedded/jetson-linux-r362 は https://developer.nvidia.com/embedded/jetson-linux-archive からリンクされています。
wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v2.0/release/jetson_linux_r36.2.0_aarch64.tbz2
wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v2.0/release/tegra_linux_sample-root-filesystem_r36.2.0_aarch64.tbz2
Code language: JavaScript (javascript)
パッケージのセットアップ
ダウンロードしたパッケージを解凍します。tegra_linux_sample-root-filesystem..
の解凍には sudo
が必要な点に注意します。
tar xf jetson_linux_r36.2.0_aarch64.tbz2
sudo tar xf tegra_linux_sample-root-filesystem_r36.2.0_aarch64.tbz2 -C Linux_for_Tegra/rootfs/
次にJetson Orin Nanoに書き込むイメージを作成します。
cd Linux_for_Tegra
sudo apt install -y qemu-user-static
sudo ./apply_binaries.sh
Code language: Bash (bash)
sudo apt install -y sshpass abootimg nfs-kernel-server
公式なドキュメントは https://docs.nvidia.com/jetson/archives/r36.2/DeveloperGuide/SD/FlashingSupport.html を参考にしてください。また Jetson Nano の記事 も参考になります。
なお https://docs.nvidia.com/jetson/archives/r36.2/DeveloperGuide/IN/QuickStart.html#to-flash-the-jetson-developer-kit-operating-software のドキュメントには、 sudo ./tools/l4t_flash_prerequisites.sh
を実施するようにありますが、必要なパッケージをインストールしているだけだと思いますのでこの記事では、上記コマンドで代替えします。
recovery mode
https://developer.nvidia.com/embedded/learn/jetson-orin-nano-devkit-user-guide/howto.html を参考に、Jetson Orin NanoをRecovery Modeにします。Recovery ModeはJ14のPin 9とPin 10をジャンパーで接続し電源を入れます。なお、ジャンパーはJetson Orin Nano Developer Kitには付属していませんので各自準備してください。
https://developer.nvidia.com/embedded/downloads#?search=Jetson%20Orin%20Nano%20Developer%20Kit%20Carrier%20Board%20Specification から Jetson Orin Nano Developer Kit Carrier Board Specification ドキュメントをダウンロードすることが可能です。以下では Jetson Orin Nano Developer Kit Carrier Board Specification ドキュメントから抜粋したJ14の仕様を貼り付けします。
以下は、Pin9とPin10の位置です。Pin9とPin10をジャンパーで接続し電源を入れることでRecovery Modeに遷移します。
NVMe Setup
以下の画像を参考に、NVMeを差し込み付属のネジで固定します。
書き込み
ホストとJetson Orin NanoをUSBで接続し以下のコマンドを実行しJetson Orin NanoがRecovery Modeになっていることを確認します。
$ lsusb |grep -i nvidia
Bus 003 Device 006: ID 0955:7523 NVIDIA Corp. APX
NVIDIAデバイスが上記lsusb
コマンドで確認できたら以下のコマンドでイメージを内部フラッシュストレージとNVMeに書き込みます。
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 \
-c tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/generic/cfg/flash_t234_qspi.xml" \
--showlogs --network usb0 jetson-orin-nano-devkit internal
Code language: JavaScript (javascript)
約10分程度かかります。書き込み終了後以下のような起動画面が出るはずです。指示に従いセットアップを終了させます。
セットアップが終わったらシャットダウンしジャンパーを忘れずに外しておきます。
以上です!