メインコンテンツまでスキップ

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

リカバリモードに入るには:

  1. Thor の電源を切ります。
  2. ホスト PC と Thor のフラッシュポートの間に USB Type-C ケーブルを接続します。
  3. 強制リカバリボタン (12) を押し続けます。
  4. 強制リカバリボタン (12) を押し続けながら、電源ボタン (11) を押してボードの電源を入れます。
  5. ボードがリカバリモードに入ったらボタンを離します。

ホスト 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-j601
  • BOARDID=3834
  • BOARDSKU=0008
  • FAB=400
  • BOARDREV=G.5
  • CHIP_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 を更新
    • デフォルトユーザーを作成
  • flash

    • l4t_initrd_flash.sh を呼び出し
    • ターゲットボードが USB リカバリモードである必要があります

重要な注意点

  • buildroot ではなく通常ユーザーとして実行してください。
  • flashsudo -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_URL
  • ROOTFS_NAME
  • TOOLCHAIN_NAME
  • DEFAULT_USER
  • DEFAULT_PASSWORD
  • DEFAULT_HOSTNAME
  • FLASH_TARGET
  • RUN_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
  • フラッシュの一時ファイルとログ

クリーンアップモード

  • incremental

    • source/kernel_out を保持
    • 通常の開発には最適な選択肢
  • rebuild

    • source/kernel_out も削除
    • 次のビルドは完全なリビルドになります
  • distclean

    • rootfs/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 エラーが解消しない場合は、完全な起動ログを収集し、サポートに連絡してください。

リソース

テクニカルサポートと製品ディスカッション

当社製品をお選びいただき、ありがとうございます。当社は、お客様の製品体験を可能な限りスムーズにするために、さまざまなサポートを提供しています。異なる好みやニーズに対応するために、いくつかのコミュニケーションチャネルを用意しています。

Loading Comments...