NVIDIA Jetson TX1 初期起動に失敗し、強制リカバリーで復旧

先日、NVIDIA Jetson TX1 を購入しました。
さっそく、起動してSSH接続してあれこれやってみよう、と始めたんですが、あれこれやるところまで辿りつけないパプニングがありました。

予定では、

  1. NVIDIA Jetson TX1 に、ACアダプタ・LANケーブル・キーボード(USB)・ディスプレイ(HDMI)をさして準備完了
  2. 電源オンでさっくり起動
  3. IP 設定したら、SSH であっさり接続

となるはずが、SSH どころか起動から躓くという悲劇…。

悲劇の始まり、ディスプレイを認識しない

Jetson TX1 は HDMI 端子ですが、用意したディスプレイ は DVI 端子です。
Amazonベーシック HDMI – DVI ケーブルでディスプレイを繋いだのですが、起動すると途中で何かが起こるようでIPの取得さえしません。

ディスプレイを一度抜いて再度挿してみたり、ディスプレイを抜いて起動後に挿してみたり、といろいろやってみたんですが、どうにもディスプレイを認識できないようです。何が起こっているのかさえ知る術がなく諦めました。

更なる悲劇、SSHが切断される

ディスプレイを繋がないで起動するとIPを取得します。

IPを取得するってことはSSH接続がいけるだろうと試みてました。
しかし SSH2_MSG_KEXINIT sent. connection reset ... などと言われ切断されてしまう事態。これも色々やったんですが、どうにも切断せずにいられないようなので諦めました。

悲劇の渦、強制リカバリーに突入

開封したばかりなのに、強制リカバリー処置を行うこととなりました。

結論をいうと、現時点の最新版 JetPack for L4T 2.1 (2016/03/02) で強制リカバリーを行ったところ、ディスプレイは認識されなかったけど、SSHは接続できるようになりました。ログ等を調べればディスプレイの問題も解るんだろうけど、SSHで接続できれば問題ないのでそこは解決せず終了しました。
ウソでした。現時点の最新版 JetPack for L4T 2.1 (2016/03/02) で強制リカバリーを行ったところ、SSH も ディスプレイ も無事解決しました。

この強制リカバリーでとことん悲劇に見舞われることになるのですが、とんでもなく長くなるので成功ルートだけ説明します。

では強制リカバリーの手順をば。

まずは、VirtualBox に Ubuntu ホストを準備

Jetson TX1 のイメージは手持ちの Ubuntu ホストで作成して、Ubuntu ホストから TX1 にUSB接続して転送します。

手持ちに Ubuntu マシンなんてありませんから、仮想マシンを立ち上げます。
Docker で Ubuntu を起動した私はここでも悲劇に会いました。そこは置いておいて、VirtualBox で行きます。最初からそうしたら良かったんです、はい。

VirtualBox をインストール

https://www.virtualbox.org/

現時点の最新バージョンは 5.0 です。自分の PC 用のパッケージをダウンロードしましょう。

JetsonVirtualBox1

ダウンロードファイルを実行したらインストールされます。

VirtualBox Extension Pack をインストール

USBを接続するためには Extension Pack が必要です。
これを入れないと、USBを挿しても認識されず後に悲劇に会います。

JetsonVirtualBox2

インストール手順は下記のサイトの通りです。ありがとうございます。
VIRTUALBOX エクステンションパックのインストール

VirtualBox で Ubuntu 14.04 を起動

現時点の最新版 JetPack for L4T 2.1 (2016/03/02) を入れるには Ubuntu 14.04 です。
新しい Ubuntu 16 が出ていますがダメです。それを使っては悲劇に会います。

作成手順は下記のサイトの通りです。ありがとうございます。
VirtualBoxにUbuntu 14.04 LTSをインストールする(準備編)
VirtualBoxにUbuntu 14.04 LTSをインストールする(インストール編)

ただし! 仮想マシンの新規作成で、ハードディスクのサイズは 30GB 以上に設定します。
参考にさせていただいたサイトでは 20GB に設定されていますが、そのまま入力すると容量が足りなくてやっぱり悲劇に会います。

ダウンロードの前に、NVIDIA でユーザ登録

https://developer.nvidia.com/

JetPack for L4T をダウンロードするためには、NVIDIA でユーザ登録しないといけません。
自分の PC で NVIDIA のユーザ登録を済ませておきます。

JetsonRegister1

Autonomous Machines with NVIDIA JetPack™ に登録します。

JetsonRegister2

Ubuntu ホストで JetPack for L4T をダウンロード

JetPack for L4T をダウンロード

VirtualBox の Ubuntu ホストで Firefox を起動して、下記URLを入力して、JetPack for L4T をダウンロードします。

https://developer.nvidia.com/embedded/downloads

JetsonRecovery1

ダウンロードファイルのパスを確認

実行ファイルのパスに日本語が含まれているとエラーになります。
私は Ubuntu Desktop 日本語 Remix を入れたのですが、これだとダウンロードファイルのパスが /home/username/ダウンロード/JetPack-L4T-2.1-linux-x64.run となります。

日本語を含むパスになっている場合は、適当なところにフォルダを作ってダウンロードファイルを移動しておいてください。

Ubuntu ホストから JetPack for L4T をインストール

やっと、やっと、リカバリーに到達しました。ここまで来たらもう大丈夫なはずです。

Download and Install JetPack L4T

手順は公式サイトに載っている通りです。手順を自分の PC で表示しておいて、進めていきましょう。

JetPack for L4T のイメージを作成

公式サイトの 1 〜 8 の手順は、Ubuntu ホストでイメージを作成する流れです。
ここまでは、Ubuntu ホストだけで行います。

JetPack for L4T のイメージを転送

公式サイトの 9 移行の手順は、Ubuntu ホストで作成したイメージを、Jetson TX1 に転送する流れです。

JetsonRecovery2

ここで、上記のメッセージが表示されます。
Jetson TX1 に USB を接続してリカバリーモードで起動するように促されます。

  1. ACアダブターを挿していたら一度抜きます。

  2. 付属の USB – MicroUSB ケーブルを接続します。
    JetsonRecovery3

  3. ACアダブターを挿します。

  4. 下記手順でボタンを押していきます。
    JetsonRecovery4

    • POWER ボタンを押して離します。
    • FORCE RECOVERY ボタンを押しっぱなしにします。
    • その状態で、RESET ボタンを押して離します。
    • 2つ数えて、押しっぱなしにしていた FORCE RECOVERY ボタンを離します。
  5. これでリカバリーモードになりました。
    Enter を押すとファイルコピーが始まります。

JetsonRecovery5

コピーが終わると(多分、再起動された後だと思うんですが見逃しました)、上記のIPアドレス入力が表示されます。
Ubuntu ホストから Jetson TX1 へ SSH 接続をしようとしているので準備します。

  1. Jetson TX1 に LAN ケーブルを挿します。

  2. LANケーブルが繋がると、自動でIPを取得するので、その IP を調べます。
    私は LanScan アプリで調べています。

  3. 調べた IP を入力します。User Name、Password はどちらも “ubuntu” です。
    この後また、なんだかんだとコピーが始まります。

ようやっと、リカバリー終了

Installation Complete が表示されたら終了です。

自分の PC から、Jetson TX1 へ SSH で接続できるようになりました。
ディスプレイを接続すると相変わらず起動できませんでしたが、とにもかくにもこれで SSH で接続してあれやこれやと始められます。

以上、もう長かった〜〜〜。

(後日談)
SSH で繋げるし別にいいか、と放置していたのですが、後日改めてディスプレイを接続すると認識されるではないですか!
インストール後に結構待って繋いだら映った、と言っている人がいるので単に時間がかかるだけだったのかもしれないです。私もそれなりに待ったと思うんですけど…。
ともあれ、リカバリで問題は解決していた、ということです。

まーや
About まーや (34 Articles)
画像変換サービスPictureFitterを担当しています。 ネコ大好きのアンドロイダーです。
Contact: Twitter

Leave a comment

Your email address will not be published.

*



Top