Jetson Nano – How to Setup (2)

Jetson Nano

この記事では、ここで書ききれなかった、「Recovery ModeからimageをSD Cardに書き込む方法」について説明します。

なおホストPCはUbuntu 20.04がインストールされているものとします。

imageの準備

https://developer.nvidia.com/embedded/jetson-linux-archive からJetson Nanoに対応した最新のJetson Linuxを選択し、L4T Driver PackageとSample Root Filesystemをダウンロードし以下をホストPCで実行します。

なおダウンロードしたL4T Driver Packageをjetson-210_linux_r32.7.2_aarch64.tbz2、Sample Root Filesysmteをtegra_linux_sample-root-filesystem_r32.7.2_aarch64.tbz2として説明しています。

tar xf jetson-210_linux_r32.7.2_aarch64.tbz2
sudo tar xf tegra_linux_sample-root-filesystem_r32.7.2_aarch64.tbz2 -C Linux_for_Tegra/rootfs
cd Linux_for_Tegra
sudo ./apply_binaries.shCode language: Bash (bash)

Recovery Mode

Jetson NanoをRecovery Modeに入れるにはJetson Nano Developer Kit A02の場合、J40のPin3とPin4をジャンパーピンでショートさせ、電源を入れます。Developer Kit B01と2GBの場合、J50のPin9とPin10をジャンパーピンでショートさせ、電源をいれます。

ホストPCとJetson NanoをMicro USBケーブルで接続し、ホストPCで以下を実行しJetson NanoがRecovery Modeに入ったことを確認します。

$ lsusb | grep -i nvidia
Bus 001 Device 008: ID 0955:7f21 NVIDIA Corp. APXCode language: Bash (bash)

書き込み

以下を実行しJetson Nanoのイメージを更新します。

Jetson Nano Devoper Kit A02/B01

sudo ./flash.sh -x 0x21 jetson-nano-devkit mmcblk0p1

Jetson Nano Devoper Kit 2GB

sudo ./flash.sh -x 0x21 jetson-nano-2gb-devkit mmcblk0p1

Jetson Nano Production Mode (Carrier board B01を装着時)

sudo ./flash.sh -x 0x21 jetson-nano-emmc mmcblk0p1

「JetPack SDKからSD Card Imageをダンロードし、SD Cardに書き込む方法」との違い

こちらの記事で、SD Cardにイメージを書き込む方法を2つ紹介しました。そして今回の記事では2つ目の方法を紹介しています。

JetPack SDKからSD Card Imageを書き込むほうが今回紹介した方法より簡単なので、わざわざJetson NanoをRecovery Modeに入れて書き込む意味はあるのでしょうか?

実はJetson Nanoには内部にROM(QSPI-NOR Flash)が存在し、内部のROMへの書き込みは、こちらのRecovery Modeでの書き込みが必要です。この記事は「Recovery ModeからimageをSD Cardに書き込む方法」と説明していますが正確には、「Recovery Modeからimageを内部のROMとSD Cardに書き込む方法」となります。

通常内部のROMを書き換える必要はありませんが、Secure Bootを実現したい場合は内部のROMの書き込みが必要です。またSecure Bootを有効にする際にRecovery Modeにする必要がります。Secure Bootに関しては別の記事で紹介します。

以上です。