Jetson Thor 向け BSP ソースのビルドとフラッシュ方法

この Wiki では、Ubuntu ホストから NVIDIA Jetson AGX Thor Developer Kit をビルドおよびフラッシュするために BSP ソースパッケージを使用する方法を説明します。
この記事のワークフローでは、以下で提供される JetPack 7.1 BSP パッケージを使用し、以下をカバーします:
- BSP パッケージのダウンロードと展開
- Thor での USB リカバリモードへの移行
thor_build_flash.shの実行thor_cleanup.shによるワークスペースのクリーンアップ- オプションのフラッシュ後パッケージのインストール
前提条件
- NVIDIA Jetson AGX Thor Developer Kit
- Ubuntu ホスト PC
- USB Type-C データケーブル
- Thor 用の安定した電源供給
- Thor 用 BSP パッケージ
Thor をホスト PC に接続する際は、HDMI コネクタに最も近い USB Type-C フラッシュポートを使用してください。
1. BSP パッケージのダウンロードと展開
まず BSP パッケージをダウンロードします:
| JetPack バージョン | ダウンロードリンク |
|---|---|
| 7.1 | ダウンロード |
パッケージをダウンロードした後、展開して作業ディレクトリに入ります:
cd /other_data
sudo tar xpf <downloaded_package>.tar.gz
cd thor-dev/linux_for_tegra
パッケージを展開する際は sudo tar xpf を使用し、ファイルの所有権とパーミッションが正しく保持されるようにしてください。
2. Thor で USB リカバリモードに入る
まず、ホスト PC を HDMI コネクタ近くの USB Type-C フラッシュポートに接続します:

サイドボタンは以下の通りです:

画像内のボタン定義:
11: 電源ボタン12: 強制リカバリボタン13: リセットボタン14: 白色 LED
リカバリモードに入るには:
- Thor の電源を切ります。
- ホスト PC と Thor のフラッシュポートの間に USB Type-C ケーブルを接続します。
- 強制リカバリボタン (
12) を押し続けます。 - 強制リカバリボタン (
12) を押し続けながら、電源ボタン (11) を押してボードの電源を入れます。 - ボードがリカバリモードに入ったらボタンを離します。
ホスト PC で、リカバリモードを確認します:
lsusb
USB リカバリモードの Thor は通常、以下のように列挙されます:
0955:7045
参考画像:

3. ビルドとフラッシュ
まずヘルプコマンドを実行します:
cd /other_data/thor-dev/linux_for_tegra
./thor_build_flash.sh help
デフォルトのボード設定は Thor J601 向けに既に構成されています:
CONFIG=recomputer-thor-carrier-j601BOARDID=3834BOARDSKU=0008FAB=400BOARDREV=G.5CHIP_SKU=00:00:00:A0
典型的なフロー
cd /other_data/thor-dev/linux_for_tegra
./thor_build_flash.sh prepare
./thor_build_flash.sh build
sudo -E ./thor_build_flash.sh flash
また、全プロセスを一括で実行することもできます:
./thor_build_flash.sh all
初回フラッシュでは、prepare -> build -> flash という分割フローが推奨されます。これは、失敗を特定しやすくするためです。
ステージの意味
-
prepare- rootfs の tarball をダウンロード
rootfs/を展開apply_binaries.shを実行- クロスツールチェーンをダウンロードおよび展開
-
build- カーネルとツリー外モジュールをコンパイル
- カーネルイメージを
rootfs/boot/にコピー rootfs_magic.shを実行- initrd を更新
- デフォルトユーザーを作成
-
flashl4t_initrd_flash.shを呼び出し- ターゲットボードが USB リカバリモードである必要があります
重要な注意点
buildはrootではなく通常ユーザーとして実行してください。flashはsudo -Eで実行してください。- Thor の USB リカバリモードは、ホスト上で通常
0955:7045として認識されます。 - スクリプトはビルド前に不足している
nvethernetrmシンボリックリンクを自動修正します。
一般的なオーバーライド
デフォルトをオーバーライドする必要がある場合は、環境変数を使用します:
CONFIG=recomputer-thor-carrier-j601 \
DOWNLOAD_BASE_URL=http://192.168.1.77/jetson \
DEFAULT_USER=seeed \
DEFAULT_PASSWORD=seeed \
DEFAULT_HOSTNAME=jetson-test \
./thor_build_flash.sh build
便利な変数:
DOWNLOAD_BASE_URLROOTFS_NAMETOOLCHAIN_NAMEDEFAULT_USERDEFAULT_PASSWORDDEFAULT_HOSTNAMEFLASH_TARGETRUN_ROOTFS_MAGIC
4. クリーンアップ
ヘルプを表示:
./thor_cleanup.sh help
推奨される日常的なクリーンアップ
./thor_cleanup.sh incremental
これにより source/kernel_out が保持され、次のコンパイルが高速に保たれながら、以下が削除されます:
output/bootloader/system.img*bootloader/esp.img*bootloader/recovery.img*bootloader/boot*.img- フラッシュの一時ファイルとログ
クリーンアップモード
-
incrementalsource/kernel_outを保持- 通常の開発には最適な選択肢
-
rebuildsource/kernel_outも削除- 次のビルドは完全なリビルドになります
-
distcleanrootfs/とl4t-gcc/も削除- 環境をアーカイブまたは完全にリセットする場合にのみ使用
ドライラン
./thor_cleanup.sh incremental --dry-run
5. オプションのフラッシュ後パッケージ
Thor が正常に起動した後、オプションでパッケージメタデータを更新し、nvidia-jetpack メタパッケージをインストールできます:
sudo apt update
sudo apt install nvidia-jetpack
トラブルシューティング
起動時に mmap エラーが表示される
Thor が正常に起動せず、以下の画像のような mmap エラーが画面に表示される場合は、USB リカバリモードに再入し、ボードを再フラッシュしてください:

フラッシュワークスペースから以下のコマンドを実行します:
cd /other_data/thor-dev/linux_for_tegra
sudo BOARDID=$BOARDID FAB=$FAB BOARDSKU=$BOARDSKU BOARDREV=$BOARDREV CHIP_SKU=$CHIP_SKU \
./l4t_initrd_flash.sh --erase-all jetson-agx-thor-devkit internal
上記の消去・再フラッシュコマンドを実行しても mmap エラーが解消しない場合は、完全な起動ログを収集し、サポートに連絡してください。
リソース
テクニカルサポートと製品ディスカッション
当社製品をお選びいただき、ありがとうございます。当社は、お客様の製品体験を可能な限りスムーズにするために、さまざまなサポートを提供しています。異なる好みやニーズに対応するために、いくつかのコミュニケーションチャネルを用意しています。