Skip to main content

A203 Carrier Board に JetPack OS をフラッシュする(NVIDIA Jetson Nano & NVIDIA Jetson Xavier NX 対応)

このwikiでは、NVIDIA Jetson Nano モジュールと NVIDIA Jetson Xavier モジュールの両方をサポートする A203 Carrier Board に Jetpack OS をフラッシュする方法を説明します。ここでは、システムをフラッシュする2つの方法を紹介します。A203 Carrier Board は公式の NVIDIA Jetson Carrier Board とは異なるため、対応するドライバーもインストールする必要があります。

image

はじめに

NVIDIA SDK manager と Linux ターミナルを使用してシステムをフラッシュするか、Linux ターミナルのみを使用して簡単に実行できます。Linux の知識ベースをお持ちの方には、Linux ターミナルのみの使用を強くお勧めします。

まず、いくつかの準備が必要です:

ソフトウェアの準備

  • NVIDIA アカウント
  • Ubuntu 18.04 OS(またはそれ以上)を搭載した Linux ホストコンピュータ

!!!note このチュートリアルでは、Ubuntu 18.04 LTS ベースのシステムを使用してインストールを完了します。

ハードウェアの準備(強制リカバリモード)

インストール手順に進む前に、ボードが強制リカバリモードになっていることを確認する必要があります。ボードには異なるタイプがありますので、違いに注意してください。

ステップ 1. まず、ボードの電源を切断する必要があります。

ステップ 2. リカバリモードに入るには、ジャンパーを使用して FC RECGND を接続する必要があります。

A203 Carrier BoardsA203 V2 Carrier Boards
PinDescriptionPinDescriptionPinDescriptionPinDescription
1GND5PWR_BTN-1SYS_RST8LATCH_SET
2GND6RECOVERY2GND9GND
3GND7RST3RECOVERY7UART2_RXD
4GND8PWR_BTN+4GND11CAN_L
5PWR_BTN-12GND
6GND13CAN_H
7LATCH_SET_BUT14GND

ステップ 3. キャリアボードとLinuxホストPCをMicro USBケーブルで接続します

ステップ 4. DCパワーアダプターでボードに電源を供給します。

ステップ 5. LinuxホストPCの画面で、マウスを右クリックしてターミナルを開き、lsusbコマンドを入力します。返される内容にNVidia Corp.が含まれている場合、A203キャリアボードが強制リカバリモードになっており、後続の操作を進めることができます。

IDはキャリアボード上のモジュールによって異なり、以下の情報が表示されます:

  • Jetson Nanoの場合:0955:7f21 NVidia Corp
  • Jetson Xavier NXの場合:0955:7e19 NVidia Corp
  • Jetson TX2 NXの場合:0955:7c18 NVidia Corp

NVIDIA SDK Managerを使用したJetPack OSのフラッシュ

次に、NVIDIA SDK Managerを使用してシステムをインストールするチュートリアルを説明します。NVIDIA SDK Managerは、開発者ソフトウェアをバンドルし、NVIDIA SDKのエンドツーエンド開発環境セットアップソリューションを提供するオールインワンツールです。

ステップ 1. LinuxホストPCにNVIDIA SDK Managerをインストール

LinuxホストPCでブラウザを開き、NVIDIA公式ウェブサイトからNVIDIA SDK Managerをダウンロードする必要があります。

ステップ 2. NVIDIA SDK Managerを開いてログイン

LinuxホストPCの画面で、マウスを右クリックしてターミナルを開きます。次に、以下のコマンドを入力してSDK Managerを起動します:

sdkmanager

NVIDIA SDK Managerを初めて使用する場合、事前に登録したNVIDIAアカウントでログインするよう促すウェブページがポップアップします。

ステップ 3. ターゲットデバイスを選択

ログイン後、インストールの最初のステップである最初の画面に移動します。ボードをすでに接続しているため、ハードウェアデバイスを選択するウィンドウがポップアップします。

この例ではNVIDIA Jetson Nano 4GBモジュールを搭載しているため、最初のものを選択できます。

最初の画面では、さらに多くの選択肢があります:

  • Product CategoryパネルでJetsonを選択する必要があります。
  • Hardware Configurationパネルでは、Host Machineを選択しないことをお勧めします。これにより、現在のUbuntuホスト用のNVIDIAコンポーネントのインストールに時間がかかります。必要な場合は選択できます。
  • Target Operating Systemパネルでは、異なるオペレーティングシステムJetPackバージョンを選択できます。ただし、JetPackのバージョンに注意してください。異なるモジュールは異なるタイプのJetPackをサポートする場合があります。ここでは「JetPack 4.6.1」をお勧めします。
  • Additional SDKsでは、eMMCのストレージ容量が16GBしかないため、ここでDeepStreamをインストールするとメモリ不足になります。

Continueをクリックして次のステップに進みます。

ステップ 4. 必要なコンポーネントを確認

Details and Licenseから、ホストコンポーネントとターゲットコンポーネントのパネルを展開して、システムにインストールされるコンポーネントを確認できます。

システムのインストールのみが必要な場合は、SDKコンポーネントのチェックを外すことができます。

!!!Tip インストールするコンポーネントを選択する際は、使用される容量に注意してください。内蔵eMMCのサイズは16GBのみです。実際のニーズに応じて、この容量を賢く配分して使用してください。

実際のテストの結果、SDKコンポーネントの完全セットをインストールした後、eMMC容量は約500MBしか残りません。

容量不足の問題を解決する方法を確認したい場合は、トラブルシューティングを参照してください。

SDK Managerがすべてのファイルをデフォルトパス以外の場所にダウンロードする場合は、画面下部にあるDownload & Install Optionsに移動し、使用したいパスを選択します。

A203キャリアボードはフラッシュドライブが必要なため、まず**Download now. Install later.**ボックスにチェックを入れて、システムをダウンロードしてもインストールしないようにしてください。

Continueを選択して次のステップに進みます。

この時点で、システムは選択したパスへのダウンロードを開始するため、この時間を利用してドライバーを準備できます。

ステップ 5. 適切なドライバーを選択

次に、ボード上の各コンポーネントが動作することを確認するためにドライバーもインストールする必要があります。まず、キャリアボードとモジュールに応じて、Ubuntuホストでドライバーファイルを選択する必要があります。


キャリアボード Jetsonモジュール JetPackバージョン L4Tバージョン ダウンロードアドレス
A203/ A203V2Jetson Nano eMMC4.632.6.1ダウンロード
A203/ A203V2Jetson Xavier NX eMMC4.632.6.1ダウンロード
A203/ A203V2Jetson Xavier NX SD4.632.6.1ダウンロード
A203/ A203V2Jetson TX2NX eMMC4.632.6.1ダウンロード
A203/ A203V2Jetson Xavier NX eMMC5.0.235.1.0ダウンロード
A203/ A203V2Jetson Xavier NX eMMC5.1.435.6.0ダウンロード

!!!Note ダウンロードしたファイルには、A203用の2つのJetPack 5.0.2ドライバが含まれています。どちらも正常に動作しますが、一方はIMX-219カメラをサポートし、もう一方はIMX-477カメラをサポートしています。

ステップ6. システムフォルダでドライバを解凍する

!!!Attention このステップを進める前に、SDK Managerがシステムのダウンロードを完了していることを確認してください!

Linux ホストPCでは、公式イメージの一部のファイルをダウンロードしたドライバパッケージファイルで置き換える必要があります。ここではSDK Managerを使用しているため、公式イメージの位置(パス)は以下の通りです:

/home/<username>/nvidia/nvidia_sdk/JetPack_<version num>_Linux_<board name>_TARGETS/Linux_for_Tegra

ファイルの置き換え

!!!Attention ファイルを置き換える前に、kernelフォルダ内で置き換えられる.dtbファイルのバックアップを作成し、別のパスに一時的に保存することを選択できます。これにより、いつでも公式ダウンロードを復元できます。

ファイルを公式のものにドラッグできます:

または、以下のコマンドを実行してファイルを置き換えることができます:

cp -a -f ${Drive package kernel path} ${Officially unpacked Linux_for_Tegra path}

!!!Note ${} は環境変数の使用です。 ${Drive package kernel path} はカーネルイメージフォルダへのフルパスを示します ${Officially unpacked Linux_for_Tegra path} は公式に提供されたL4T zipパッケージを展開した後のLinux_for_Tegraフォルダへのフルパスを示します。

ステップ7. システムのインストール

先ほどシステムのインストールを後で行うことを選択したため、この時点で先ほどのステップ3から4を再度実行する必要があります。これにより、ドライバファイルがすでに置き換えられたA203にシステムがインストールされます。

インストールが開始される前に、SDK Managerがsudoパスワードの入力を求めます。

SDK ManagerはJetsonターゲットをForce Recovery Modeにするための2つのオプションをサポートしています。Jetson-202 Carrier Boardをforce recovery modeにする操作を理解しており、前のステップですでにforce recovery modeになっているため、Manual setup: set the target to Force Recovery Mode via manual operationsを選択します。

OEM設定を事前設定するかどうかも選択できます。

  • Pre-Config: SDK Managerは事前定義された設定でターゲットをフラッシュし、フラッシュ後にSystem Configuration Wizardを完了する必要がありません。
  • Runtime: ターゲットにデフォルト設定は設定されず、フラッシュ後に手動でSystem Configuration Wizardを完了する必要があります。

ここでは、デフォルトのPre-Configを選択します。

その後、下部で新しいJetsonシステムの名前とパスワードを入力してください。これらを覚えておいてください。

準備ができたら、Flashをクリックして続行します。

ディスプレイにソフトウェアのダウンロードとインストールの進行状況が表示されます。インストールが完了するまで辛抱強くお待ちください。

(オプション)ステップ7. SDKコンポーネントのインストール

前のステップ4でコンポーネントのインストールをチェックした場合、このステップを実行する必要があります。

しばらくすると、NVIDIA SDK Managerに新しいウィンドウがポップアップし、IPアドレス経由でデバイスに接続する必要があることを示すプロンプトが表示されます。これは、システムがすでにインストールされ、コンポーネントのインストールが進行されることを意味します。

この場合、ジャンパーを抜いてボードを再起動できます。次に、HDMI経由でボードをモニターに接続し、ステップ4で入力したパスワードを入力して、メインインターフェースにログインする必要があります。

この時点で、ボードをLinuxホストPCと同じLANに接続し、ifconfigコマンドを使用してJetsonのIPアドレスを確認する必要があります。

LinuxホストPCに戻り、先ほど取得したIPアドレスを入力します。NVIDIA SDK ManagerはJetsonデバイスへの接続を試行し、次のSDKコンポーネントのインストールを完了します。

以下のウィンドウが表示されると、インストールが完了しています。しかし、まだドライバをインストールする必要があるため、ボードをForce Recovery Modeのままにしておく必要があります。

フラッシュ後、ボードを完全に適用できます。

コマンドラインによるJetPack OSのフラッシュ

BSP(NVIDIA Linux Driver Package)をカスタマイズする自由度のおかげで、コマンドラインによるJetPack OSのフラッシュは、Linuxの知識ベースを持つユーザーにとって非常に簡単になります。

ステップ1. 適切なNVIDIA Linux Driver Packageをダウンロード

Linux ホストPCで、ブラウザを開いてJetson Linux Archiveにアクセスする必要があります。まず、Jetson Linuxのバージョンがサポートされているかどうかを確認する必要があります。

適切なバージョンが見つかったら、クリックしてダウンロードページに移動します。「L4T Driver Package (BSP)」と「Sample Root Filesystem」を見つけてクリックし、ドライバーファイルをダウンロードします。ファイル名はTegra_Linux_Sample-Root-Filesystem_Rxx.x.x_aarch64.tbz2Jetson-210_Linux_Rxx.x.x_aarch64.tbz2のようになります。

例として、NVIDIA L4T 32.7.1バージョンを選択します。これはJetPack4.6.1の一部として含まれており、Jetson Nanoモジュールをサポートしているためです。ファイル名は以下の通りです:

  • Tegra_Linux_Sample-Root-Filesystem_R32.7.2_aarch64.tbz2
  • Jetson-210_Linux_R32.7.2_aarch64.tbz2

ステップ2. パッケージファイルの解凍とコマンドラインによるRootfsの組み立て

Linux ホストPCで、フォルダを見つけて、先ほどダウンロードしたパッケージファイルを保存します。次に、そのフォルダでコマンドラインウィンドウ(ターミナル)を開き、以下のコマンドラインを使用してファイルを解凍し、rootfsを組み立てます:

tar xf ${L4T_RELEASE_PACKAGE}
cd Linux_for_Tegra/rootfs/
sudo tar xpf ../../${SAMPLE_FS_PACKAGE}

!!!Note ${} はファイル名を入力する場所です。

NVIDIA L4T 32.7.1 の例として、ダウンロードしたファイルは /Desktop/L4T_Drivers に保存されているため、'/Desktop/L4T_Drivers' パスでコマンドラインウィンドウ(ターミナル)を開き、以下のコマンドを実行します。

tar xf Jetson-210_Linux_R32.7.1_aarch64.tbz2
cd Linux_for_Tegra/rootfs/
sudo tar xpf ../../Tegra_Linux_Sample-Root-Filesystem_R32.7.1_aarch64.tbz2

ステップ 3. 適切なドライバーを選択する

パッケージを解凍した後、ボード上の各コンポーネントが正常に動作するようにドライバーもインストールする必要があります。まず、キャリアボードとモジュールに応じて、Ubuntu ホストでドライバーファイルを選択する必要があります。


キャリアボード Jetson モジュール JetPack バージョン L4T バージョン ダウンロードアドレス
A203/ A203V2Jetson Nano eMMC4.632.6.1ダウンロード
A203/ A203V2Jetson Xavier NX eMMC4.632.6.1ダウンロード
A203/ A203V2Jetson Xavier NX SD4.632.6.1ダウンロード
A203/ A203V2Jetson TX2NX eMMC4.632.6.1ダウンロード
A203/ A203V2Jetson TX2NX eMMC4.6.632.7.6ダウンロード
A203/ A203V2Jetson Xavier NX eMMC5.1.435.6.0ダウンロード
note

ダウンロードファイルには A203 用の JetPack 5.0.2 ドライバーが 2 つ含まれています。どちらも正常に動作しますが、一方は IMX-219 カメラをサポートし、もう一方は IMX-477 カメラをサポートしています。

ステップ 4. ファイル内のドライバーを解凍する

ファイルを公式のものにドラッグできます:

または、以下のコマンドを実行してファイルを置き換えることができます:

cp -a -f ${Drive package kernel path} ${Officially unpacked Linux_for_Tegra path}

!!!Note ${} は環境変数の使用です。 ${Drive package kernel path} はカーネルイメージフォルダへのフルパスを示します ${Officially unpacked Linux_for_Tegra path} は公式に提供されたL4T zipパッケージを展開した後のLinux_for_Tegraフォルダへのフルパスを示します。

Step 5. ボードへのシステムのフラッシュ

この例ではNVIDIA Jetson Nanoモジュールを使用し、以下のコマンドを実行してシステムを直接ボードにフラッシュできます:

sudo ./apply_binaries.sh
sudo ./flash.sh ${BOARD} mmcblk0p1

!!!Note ${BOARD} は環境変数の使用であり、その情報はキャリアボード内のモジュール名である必要があります。詳細な情報についてはこちらで確認できます。

!!!Tip L4Tのフラッシュには約10分かかります。ホストコンピュータが遅い場合はそれ以上かかることがあります。

トラブルシューティング

NVIDIA SDK Managerでのインストールのトラブルシューティング

様々なインストールエラーには多くの原因があります。以下は一般的なインストール問題のチェックリストで、破損したインストールからの復旧に役立つ可能性があります。

  1. サマリーテーブルを確認して、どのコンポーネントが失敗したかを特定します。

    a. 「Error」ステータスのグループを展開します。

    b. 失敗したコンポーネントを見つけたら、Install Errorの右側にある詳細アイコンをクリックしてTerminalタブにリダイレクトされ、正確なエラーが表示されます。

  1. エラーが破損したaptリポジトリや不足している前提条件などの環境問題に関連している場合は、手動で修正してから、Retry Failed Itemsボタンをクリックしてください。
  1. インストールの再試行は他の2つの方法でも利用できます:

    a. SDK Managerを使用したeMMCへのフラッシュ -- ステップ3から、Repair/UninstallボタンでManage NVIDIA SDKsページに移動します。必要に応じて「Broken」ステータスのSDKを展開し、関連する部分(HostまたはTarget)のRepairをクリックします。

  1. SDK Managerを使用したeMMCへのフラッシュ -- ステップ3で、必要なSDKを選択して再度インストールを実行します。

  2. 最後に、関連するSDKをアンインストールして再インストールしてみてください。

コマンドラインを使用したインストールのトラブルシューティング

コマンドラインインストール方法は比較的シンプルで、強制リカバリモードが使用されるシナリオでエラーが発生しやすいことがよくあります。

コマンドラインを使用したeMMCへのフラッシュ -- ステップ2で以下に示すエラーが発生した場合、キャリアボードを強制リカバリモードにすることに成功していない可能性があります。特に注意してください。キャリアボードの電源が入った状態で強制リカバリモードに入らないでください。これは無効です。

コマンドラインを使用したeMMCへのフラッシュ -- ステップ3でシステムに入ることができず、起動表示コマンドラインで止まっている場合、強制リカバリモードを終了していない可能性があります。同様に、キャリアボードの電源が入っている間にジャンパーを抜いて強制リカバリモードを終了することは無効です。これらはすべて電源を切った状態で行う必要があります。

!!!Note より多くのストレージ容量が必要な場合は、SDカードを使用して容量を拡張するか、SDカードにシステムを書き込むことができます。推奨ソリューションSDカードにシステムをフラッシュを参照してください。

技術サポート & 製品ディスカッション

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

Loading Comments...