毎度、ググっても出てこない小ネタを取り扱っております。
本記事は個人的な見解であり、筆者の所属するいかなる団体にも関係ございません。
0. Jetson NX Developer Kit でJetpackを新しくしようとしたが、ブートローダーが変わっていて、待てど暮らせどブートしなかった件
まあ、皆さんはそういうことはないと思うのですが、あまり何も考えずにJetpack4.6系のようにSSDカードにイメージを焼き付けてブートしようとしたために、3時間ほど時間を無駄にしたというお話です。
以下のURLからSDカードイメージをダウンロードして、SDカードにイメージを書き込んでブートします。
しかし、起動しなかったためSDカードイメージを3回書き直し、ブート後に1時間放置してみたりしてみました。
1. まあ、よく見ろや
Flashing Support — Jetson Linux
Developer Guide 34.1 documentation
以下を実行すればよいようです(tarの部分は微妙に間違っておりますので私のインストラクションをご確認ください)。
$ sudo flash_eraseall /dev/mtd0
$ tar -xvf Jetson_Xavier_NX_QSPI_35.1.tbz2 jetson-xavier-nx-devkit.spi.img
$ sudo flashcp jetson-xavier-nx-devkit.spi.img /dev/mtd0
2. Jetson_Xavier_NX_QSPI_35.1.gz をダウンロード
以下のURLからJetson_Xavier_NX_QSPI_35.1.gz
をダウンロードします。
Jetson上で実行しないといけないので、ブートできるJetpack4.6系をインストールしたSDカードイメージで起動します。
wget https://developer.nvidia.com/embedded/L4T/r35_Release_v1.0/QSPI-img/Jetson_Xavier_NX_QSPI_35.1.gz
3. Jetson_Xavier_NX_QSPI_35.1.gz
を展開する
ダウンロードしたファイルはgzとなっているのでgzipと思いきや、tar.bz2ファイルなので
以下のコマンドで展開します
tar -jxvf Jetson_Xavier_NX_QSPI_35.1.gz jetson-xavier-nx-devkit.spi.img
4. フラッシュROMを削除
sudo flash_eraseall /dev/mtd0
コマンドは変わっていて、sudo flash_eraseall /dev/mtd0 0 0
みたいですが、上記のコマンドでも実行できます。
フラッシュROMを書き込むまでリブートしてはいけません
4分程度で終わります。
5. フラッシュROMを書き込む
書き込み時には何も出ないのでご注意ください。2分程度で書き込み終了します
6. 最新のSDカードイメージでブートする
書き込みが終わったら、一旦シャットダウンします。