Seeed K.K.の松岡です。
わたしが入手したreComputer J1010にプレインストールされているOS、Jetson Linuxのバージョンは32.6.1でした。現在、Jetson Nanoに対応した最新バージョンは32.7.2。ちょこっと古いです。
いろいろとアプリを作った後に入れ替えるのは大変なので、最新バージョンをクリーンインストールしておこうと思います。
Ubuntu x64のホストPCが必要
reComputer J1010のeMMCにJetson Linuxをクリーンインストールするには、L4T Driver PackageとSample Root FilesystemをホストPCにダウンロードしておき、ホストPCからUSBケーブル経由でreComputer J1010のeMMCに書き込みます。
このホストPCは、Ubuntu x64 16.04もしくは18.04しかサポートされていません。
32.7.1 Release Notesから抜粋:
... マジデスカ😔
用意するしかないので、その辺に転がってたノートPC(2010年製)を128GB SSDに換装して、Ubuntu 18.04.6をインストールしました。
本ブログの作業後、複数のJetson Linuxイメージやバックアップイメージを保管し始めたところ、ディスク不足発生。再度、500GB SSDに換装しました。
OSバージョンを選ぶ
Jetson Linuxのバージョンと対応モジュールは、developer.nvidia.comのL4T Archiveページで確認できます。
Jetson Linuxの最新バージョンは34.1.1のようですが、Jetson Nanoには対応していないようです。
Jetson Nanoに対応した最新バージョンは、Previous Jetson Linux Versionsにある32.7.2でした。
上図の赤丸部分をクリックすると、32.7.2のRelease Pageが表示されます。ここから、ファイルやドキュメントを参照することができます。
ダウンロード
Release Pageにファイルやドキュメントのリンクがたくさんありますが、OSクリーンインストールに必要なファイルは、L4T Driver PackageとSample Root Filesystemです。Jetson AGX Xavier, Xavier NX等とJetson Nano, TX1で別ファイルなので、注意してクリック、ダウンロードしましょう。
コマンドでダウンロードしてもOKです。
cd ~/Downloads wget https://developer.nvidia.com/embedded/l4t/r32_release_v7.2/t210/jetson-210_linux_r32.7.2_aarch64.tbz2 wget https://developer.nvidia.com/embedded/l4t/r32_release_v7.2/t210/tegra_linux_sample-root-filesystem_r32.7.2_aarch64.tbz2
ダウンロードしたファイルは圧縮されている(tbz2)ので、tarコマンドで解凍します。
Sample Root FilesystemはL4T Driver Packageを解凍した後に、Linux_for_Tegra/rootfsディレクトリへ解凍しなければいけません。また、準備事項としてapply_binaries.shの実行が必要なので実行します。
$ mkdir ~/l4t.32.7.2 $ cd ~/l4t.32.7.2 $ tar xf ~/Downloads/Jetson-210_Linux_R32.7.2_aarch64.tbz2 $ cd Linux_for_Tegra/rootfs $ sudo tar xpf ~/Downloads/Tegra_Linux_Sample-Root-Filesystem_R32.7.2_aarch64.tbz2 $ cd .. $ sudo ./apply_binaries.sh
apply_binaries.shでパッケージ不足のエラーが発生するときがありました。 そのときは、「これを実行せよ」と親切にメッセージ表示されていたので、そのコマンドを実行後に再度apply_binaries.shを実行すると、エラーが解消されました。
例:
QEMU binary is not available, looking for QEMU from host system
ERROR qemu not found! To install - please run: "sudo apt-get install qemu-user-static"
インストール
ホストPCの準備が整ったので、reComputer J1010のeMMCにクリーンインストールしましょう。
reComputer J1010のButton Header(J14)のPin9(GND)とPin10(FC REC)をジャンパーピンなどでショートしておきます。
そして、USB Type-C Power Connectorに電源供給して、USB Type-C DeviceをホストPCとUSBケーブルで接続します。
lsusbコマンドを実行してNVidia Corp.のデバイスが表示されていれば正常です。
$ lsusb ... Bus 002 Device 003: ID 0955:7f21 NVidia Corp. ...
L4T Driver Packageに同封されているflash.shを実行すると、reComputer J1010のeMMCにOSがクリーンインストールされます。
$ sudo ./flash.sh jetson-nano-devkit-emmc mmcblk0p1
待つこと10分。
reComputer J1010が自動的に再起動して、HDMIに接続しておいたディスプレイにJetson LinuxのConfiguration画面が表示されれば成功です。
キーボードとマウスを接続して、ポチポチしてセットアップしましょう。
セットアップが完了した後に、念のためapt upgradeしてディスク残量を確認したところ、8GB程度でした。
$ sudo apt update $ sudo apt upgrade $ df -k / Filesystem 1K-blocks Used Available Use% Mounted on /dev/mmcblk0p1 14384136 5204828 8428924 39% /
追加インストール
クリーンインストールが完了しましたが、加えて2つ追加インストールしておきます。
Jetson statsをインストール
1つは、Jetson statsです。
Jetsonの諸々情報を簡単に確認できる便利ツールです。
$ sudo apt install python3-pip $ sudo -H pip3 install jetson-stats
Jetson statsに含まれているjetson_releaseを実行すると、ライブラリがいくつか、というかほとんど入っていないのが分かりました。
$ jetson_release - NVIDIA Jetson Nano * Jetpack 4.6.2 [L4T 32.7.2] * NV Power Mode: MAXN - Type: 0 * jetson_stats.service: activating - Libraries: * CUDA: NOT_INSTALLED * cuDNN: NOT_INSTALLED * TensorRT: NOT_INSTALLED * Visionworks: NOT_INSTALLED * OpenCV: NOT_INSTALLED compiled CUDA: NO * VPI: NOT_INSTALLED * Vulkan: 1.2.70
JetPackをインストール
ライブラリを個別にインストールすることも可能ですが、ここではライブラリをまとめてインストールできるnvidia-jetpackを追加します。
$ apt depends nvidia-jetpack nvidia-jetpack Depends: nvidia-cuda (= 4.6.2-b5) Depends: nvidia-opencv (= 4.6.2-b5) Depends: nvidia-cudnn8 (= 4.6.2-b5) Depends: nvidia-tensorrt (= 4.6.2-b5) Depends: nvidia-visionworks (= 4.6.2-b5) Depends: nvidia-container (= 4.6.2-b5) Depends: nvidia-vpi (= 4.6.2-b5) Depends: nvidia-l4t-jetson-multimedia-api (>> 32.7-0) Depends: nvidia-l4t-jetson-multimedia-api (<< 32.8-0)
$ sudo apt install nvidia-jetpack ... /usr/bin/mandb: can't write to /var/cache/man/17558: No space left on device /usr/bin/mandb: can't create index cache /var/cache/man/17558: No space left on device
最後の、mandbでエラーが発生しました。ディスク残量が足りないようです。
$ df -k / Filesystem 1K-blocks Used Available Use% Mounted on /dev/mmcblk0p1 14384136 11489004 2144748 85% /
$ jetson_release - NVIDIA Jetson Nano * Jetpack 4.6.2 [L4T 32.7.2] * NV Power Mode: MAXN - Type: 0 * jetson_stats.service: active - Libraries: * CUDA: 10.2.300 * cuDNN: 8.2.1.32 * TensorRT: 8.2.1.8 * Visionworks: 1.6.0.501 * OpenCV: 4.1.1 compiled CUDA: NO * VPI: ii libnvvpi1 1.2.3 arm64 NVIDIA Vision Programming Interface library * Vulkan: 1.2.70
まとめ
- reComputer J1010へOSクリーンインストールするのに、Ubuntu x64が必要。
- JetPackライブラリは含まれていないので必要に応じて追加インストール。
- 内蔵16GB eMMCでいろいろと入れるのは厳しい。
変更履歴
日付 | 変更者 | 変更内容 |
---|---|---|
2022/6/2 | 松岡 | 作成 |