Jetson Xavier NX(開発キット) がある日突然起動しなくなりました。Jetson は他機種でも、JetPack のいろいろなバージョンを試すのにSDカードを頻繁に書き換えて起動させているとこういう現象に遭遇するそうです。
調べてみると、NX をホストPCと接続しリカバリーモードで起動後、SDK Manager でOS の書き込みやドライバー、SDK コンポーネントのインストールをすると回復するそうなのでやってみました。
事前準備
① NVIDIA のDeveloper アカウントを取得しておく
② NX をリカバリーモードにする
こんな具合で、FC REC 端子とGND 端子をメスーメスのジャンパー線かジャンパーピンでつないでショートさせます。
③ 次にホストPCを準備します。
CPUはx86_64、 RAM は8GB 以上のPCです。
OS はUbuntu (バージョンは16.04以上)、仮想環境は不可です。
SDK Manager をインストールしておきます。
Download フォルダーに移動して、インストール
versionやbuild番号などはダウンロードしたもので確認
sudo apt install ./sdkmanager_[version]-[build#]_amd64.deb
④ 最後にNX をホストPC とMicroB – Type-A のUSBケーブルで接続。
NX にはディスプレイ、マウス、キーボードを準備しておきます。
SDK Manager でJetson Linux を再インストールしていると、途中でNX が起動するからです。
FAT32などでフォーマット済みのMicroSDカードをセット。
電源ケーブルを接続して、NX に通電しておきます。
リカバリーモードで書き込み(Flash)、インストール
ホストPC でターミナルを起動
① lsusbコマンドでNX がデバイスとして認識されていることを確認
② SDK Managerを起動
ディスプレイの解像度が低い場合文句を言ってきますが、気にしません。
上記で取得したNVIDIA のDeveloper アカウントでログインします。
ターゲットマシンは開発キットを選択
JetPack は最新(例:5.0.2)以外に4.6.xも選べます。
特別な事情が無い限りは最新バージョン(例:5.0.2)を使います。
最も古いバージョンは4.6.2のようです。
ダウンロードしながらセットアップします。
ユーザーネームやパスワードなどをセットして書き込み開始
ERRORが出た場合
FLASH時にこんな感じでエラーが出た場合、Automaticではなく、開発キットのManual Setup を選んでFlashします。
Username とPassword をセットしてFlash
OS (Jetson Linux) が書き込まれ、程よいところで実機のXavier NX が起動します。
NX起動後、SDK Component をインストールします。
CUDA やコンテナのランタイムなどがインストールされます。
途中頻繁に”接続失敗 ネットワーク接続を有効にできません”というメッセージが出ますが、無視して問題ありません。
インストールが終了したらFINISH
USBケーブルやジャンパー線あるいはジャンパーピンを抜いて、NX を再起動。
これで、他のバージョンのJetPack をEtcherなどで焼いて、いろいろ起動することができるようになりました。
注;
リカバリーに使ったのと異なるバージョンのイメージ は起動できないようです。
つまり例えば、5.0.2でリカバリーしたJetson は4.6.3のSDカードでは起動しません。
今回インストールされたOS はUbuntu 20.04.5 LTS でした。
Leave a Reply