JetsonNanoでSuspend有効化

前回は、JetsonNanoでSuspendを有効化するのに必要な環境を構築した。具体的には、仮想環境にUbunt18.04をインストールした。
今回は、その続き。

※これからの操作は、以前に構築した環境に上書きするため、データのバックアップを取っておく、もしくは、新しいmicroSDカードで行ってください。各種損失について自己責任でお願いします。

下記フォーラムによるとL4TとRoot Filesystemが必要なようだ。

https://forums.developer.nvidia.com/t/how-to-suspend-on-jetson-nano/79048/7

必要なファイルのダウンロード

以下の操作は、すべてUbuntu18.04上で実施する。
まずは、フォーラムの情報のように必要なファイルをダウンロードする。
下記HPよりダウンロードする。

https://forums.developer.nvidia.com/t/how-to-suspend-on-jetson-nano/79048/7

L4TとRoot Filesystemの解凍

L4Tのダウンロードが完了したら、ファイルの解凍を行う。
ターミナルで、L4Tのファイルがあるところまで移動し、以下のコマンドを実行。

『sudo tar xpf Tegra210_Linux_R32.5.0_aarch64.tbz2』

解凍が完了すると以下のようになる。

次に、Root Filesystemを解凍する。まず、ターミナルで先ほど解凍してできた『Linux_for_Tegra』フォルダ内の『rootfs』へ移動する。
移動したら、下記のコマンドを実行し、解凍する。

『sudo tar xpf ../../Tegra_Linux_Sample-Root-Filesystem_R32.5.0_aarch64.tbz2』

すると、『rootfs』フォルダ内に解凍される。この操作は、少し時間がかかるため、完了するまで待つ。

ファイル編集

JetsonNanoでSuspendを有効化するために、一つファイルを編集する必要がある。書き換えるファイルは、『Linux_for_Tegra』フォルダ内の『jetson-nano-qspi-sd.conf』。
似たような名前のファイルがあるので、慎重に選択する。
ダブルクリックするとテキストエディタが起動するので、そこで編集を行う。

一番下の行に、『ODMDATA=0x94800;』を記入する。
記入出来たら、保存して閉じる。

フラッシュするファイルの準備は以上で完了。
次に、JetsonNanoとUbuntu18.04をインストールしたPCをUSBケーブルで接続し、JetsonNanoをリカバリーモードで起動する。

リカバリーモードで起動

リカバリモードで起動するためには、以下が必要。

  1. microSDカードがJetsonNanoのカードスロットにささっていること
  2. 2.1mmプラグのDC5V電源
  1. ジャンパピン x 2個
  2. microUSB to USBケーブル

それでは、以下の手順で、リカバリーモードで起動する。

①J40の3, 4ピンにジャンパピンを接続

②J48にジャンパピンを接続する。これにより2.1mmプラグの5V電源からの電源供給が可能になる。

③microUSBを使用し、Ubuntu18.04をインストールしたPCとJetsonNanoを接続する。

④J25に2.1mmプラグを差し込み、通電させる。
これによりJetsonNanoはリカバリーモードで起動する。
通電されると、microUSB付近のLEDが点灯する。

⑤Ubuntu18.04にてターミナルを起動し、『lsusb』コマンドを打ち込む。以下のように『Nvidia Corp』と表示されていれば、リカバリーモードでの起動並びにJetsonNanoとの接続は成功。

フラッシュする

『lsusb』でJetsonNanoとPCの接続が完了したら、ターミナル上で先ほど、解凍して出来上がった『Linux_for_Tegra』フォルダに移動し、『sudo ./apply_binaries.sh』コマンドを実行する。

処理が始まるので、終わるまで待つ。

※ERRORが出力され、『sudo apt-get install qemu-user-static』をたたけと表示される場合があるので、その際は、素直に上記コマンドをたたいてインストール。

『Success!』が表示されたら、続けて以下のコマンドをたたく。
これにより、いよいよJetsonNanoをフラッシュする。これも時間がかかるので、少々待つ。

『sudo ./flash.sh jetson-nano-qspi-sd mmcblk0p1』

処理が終わり、最後に『flashed successfully.』と表示されれば、無事、フラッシュは完了。
完了したら、J40の3, 4ピンにつけていたジャンパピンを外してください。これがついたままだと再度電源投入時にリカバリーモードに入ってしまいます。

起動すると初期設定(言語の選択やタイムゾーンの選択)画面になるため、必要事項を入力し、起動。
すると、Suspendが有効になっているため、ターミナルから『sudo systemctl suspend』を打ち込むことでSuspendモードに入ることが確認できる。

Suspendモードからの起動時間は5秒弱なので、これなら自動車に搭載しても問題なさそう。

次回以降では、当初の目的のエクストレイルの前方を監視する仕組みを作っていこうと思います。

それでは。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です