はじめに
ターミナルを使って、NVIDIA Jetson AGX OrinのSSDへJetson Linuxをインストールする方法を紹介する。NVIDIA SDK Managerを使わずにターミナルのみでインストールする方法を紹介する。GUI環境がない場合や、キャリアボードへのインストールなどでGUI環境が利用できない場合に有用。
動作確認環境
- ホスト: Ubuntu 22.04 x86_64
- ターゲット: Jetson AGX Orin
方法
Jetson Linuxのダウンロードと展開
ホストPCでJetson Linuxのダウンロードをする。
NVIDIA Jetson Linux 36.4.3の「Downloads and Links」-「DRIVERS」からDriver Package (BSP)
とSample-Root-Filesystem
の2つのファイルを任意のフォルダへダウンロードする。
- Driver Package (BSP): Jetson_Linux_r36.4.3_aarch64.tbz2
- Sample-Root-Filesystem: Tegra_Linux_Sample-Root-Filesystem_r36.4.3_aarch64.tbz2
ダウンロード後のファイルを任意のフォルダに展開する。NVIDIA SDK Managerのダウンロードフォルダの形式と合わせてJetPack_6.2_Linux_JETSON_AGX_ORIN_TARGETS
とする。
【参考】NVIDIA SDK Managerは、~/nvidia/nvidia_sdk/
のフォルダ以下に、
- JetPack_{Version}_Linux_JETSON_{BOARD_NAME}_TARGETS
- {VERSION}: バージョン番号(6.2など)
- {BOARD_NAME}: ボード名(AGX_ORINなど)
Jetson Linuxを展開する。
cd ~
mkdir nvidia_jetson
cd nvidia_jetson
mkdir JetPack_6.2_Linux_JETSON_AGX_ORIN_TARGETS # JetPack 6.2, AGX Orin
cd JetPack_6.2_Linux_JETSON_AGX_ORIN_TARGETS
cp ~/Downloads/Jetson_Linux_r36.4.3_aarch64.tbz2 . # Jetson Linuxをコピー
sudo tar -jxf Jetson_Linux_r36.4.3_aarch64.tbz2 # 展開
Jetson_Linux_r36.4.3_aarch64.tbz2 を展開すると、Linux_for_Tegra
フォルダが作成される。
Linux_for_Tegra
フォルダが作成されたか確認する。
ls
フォルダが存在すれば成功。
Linux_for_Tegra
Sample Root FilesystemをLinux_for_Tegra/
フォルダ直下のrootfs/
フォルダとして展開する。
cp ~/Downloads/Tegra_Linux_Sample-Root-Filesystem_r36.4.3_aarch64.tbz2 .
sudo tar -C Linux_for_Tegra/rootfs/ -xjf Tegra_Linux_Sample-Root-Filesystem_r36.4.3_aarch64.tbz2
cd Linux_for_Tegra
sudo ./apply_binaries.sh
Jetson上のSSDへの書き込み
JetsonにNVMe SSDを換装し、リカバリモードにしてホストPCとUSBケーブルで接続する。開発者キットの場合は以下を参照。
書き込みに必要なライブラリをホストPCにインストールする。
cd ~/nvidia_jetson/JetPack_6.2_Linux_JETSON_AGX_ORIN_TARGETS/Linux_for_Tegra
sudo ./tools/l4t_flash_prerequisites.sh
以下のコマンドをホストPCで実行して、Jetsonのユーザを作成する。
sudo ./tools/l4t_create_default_user.sh -u {USERNAME} -p {PASSWORD} -a -n {HOSTNAME} --accept-license
- -u : ユーザ名
- -p : パスワード
- -a : 自動ログイン
- -n : ホスト名
- --accept-license : EULAの許諾
sudo ./tools/l4t_create_default_user.sh -u nvidia -p nvidia -a -n nvidia-desktop --accept-license
以下のコマンドをホストPCで実行してJetson上のSSDへJetson Linuxを書き込む。
Jetson上のSSDを完全に初期化・上書きするのでコマンド実行前に十分確認すること。
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_nvme.xml --showlogs {JETSON_DEVICE_NAME} nvme0n1p1
- --external-device nvme0n1p1: NVMe SSDへ書き込み
- --showlogs: ログ表示を有効化
- {JETSON_DEVICE_NAME}: Jetsonデバイス名
-
~/Linux_for_Tegra
ディレクトリ内の*.conf
ファイル名(拡張子なし)を指定する - 例
- Jetson AGX Orin開発者キット:
jetson-agx-orin-devkit
- Jetson AGX Orin開発者キット(Industrial):
jetson-agx-orin-devkit-industrial.conf
- Jetson AGX Orin開発者キット:
- 利用可能な*.confファイルは
Linux_for_Tegra/
フォルダに存在するJetson AGX Orinで利用可能な.confファイルを一覧表示ls | grep jetson-agx-orin
Jetson AGX Orinで利用可能な.confファイル一覧結果例jetson-agx-orin-devkit-as-jao-32gb.conf jetson-agx-orin-devkit-as-nano4gb.conf jetson-agx-orin-devkit-as-nano8gb.conf jetson-agx-orin-devkit-as-nx-16gb.conf jetson-agx-orin-devkit-as-nx-8gb.conf jetson-agx-orin-devkit-industrial-maxn.conf jetson-agx-orin-devkit-industrial-qspi.conf jetson-agx-orin-devkit-industrial.conf jetson-agx-orin-devkit-maxn.conf jetson-agx-orin-devkit.conf
-
その他のオプションの詳細は、公式マニュアルを参照。
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_nvme.xml --showlogs jetson-agx-orin-devkit nvme0n1p1
書き込みにはしばらく時間がかかる。以下のようなメッセージが出れば成功。
[ 267]: l4t_flash_from_kernel: Successfully flash the qspi
[ 267]: l4t_flash_from_kernel: Flashing success
[ 267]: l4t_flash_from_kernel: The device size indicated in the partition layout xml is smaller than the actual size. This utility will try to fix the GPT.
[ 267]: l4t_flash_from_kernel: The device size indicated in the partition layout xml is smaller than the actual size. This utility will try to fix the GPT.
Flash is successful
Reboot device
Cleaning up...
Log is saved to Linux_for_Tegra/initrdlog/flash_1-10.2_0_20250804-120836.log
自動でJetsonが再起動されるので、Jetsonをモニタにつないでログインできれば成功。
まとめ
ターミナルを使って、NVIDIA Jetson AGX OrinのSSDへJetson Linuxをインストールする方法を紹介した。GUI環境がない場合や、キャリアボードへのインストールなどでGUI環境が利用できない場合に有用。
参考