9
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

reComputer J4012セットアップ(Jetson Linuxインストール編)

Last updated at Posted at 2023-04-03

はじめに

先日、Jetson Orin NXモジュールを搭載したreComputer J4012(https://www.seeedstudio.com/reComputer-J4012-p-5586.html)を購入しました。先日、この記事執筆時点で最新のJetPack 5.1.1がリリースされたため、この記事ではreComputer J4012にJetson Linuxをインストールする方法を紹介します。

動作確認環境

  • reComputer J4012(Jetson Orin NX 16GB)
  • JetPack 5.1.1

1. Jetson Orin NX実機

1.1 Force Recovery Mode起動

https://wiki.seeedstudio.com/reComputer_J4012_Flash_Jetpack/#enter-force-recovery-modeを参考にして、Force Recovery Modeで起動します(Force Recovery Modeとは母艦PCからJetsonが外付けストレージとして見えるようなモードのことです)。

  • reComputer J4012のFC REC、GNDのピンをジャンプワイヤ(メス−メス)で接続します
  • USB Type-C、Type-Aケーブルを用意し、USB Type-CをreComputer J4012、Type-Aを母艦PCに接続します
  • reComputer J4012の電源を投入します

母艦PCでlsusbコマンドを実行して以下のメッセージが表示されればreComputer J4012がForce Recovery Modeで起動できていることがわかります。

ID 0955:7323 NVIDIA Corp. APX

Force Recovery Modeで起動したらジャンプワイヤを外しておきます。

2. 母艦PC

2.1 パッケージインストール

Jetsonセットアップに必要なパッケージをインストールします。

sudo apt-get install qemu-user-static sshpass abootimg nfs-kernel-server libxml2-utils

2.2 Jetson Linuxインストール

https://wiki.seeedstudio.com/reComputer_J4012_Flash_Jetpack/#flash-to-jetsonの手順を参考にしてJetson Linuxをインストールします。まずはじめにhttps://developer.nvidia.com/embedded/jetson-linuxから以下のファイルをダウンロードします。

今回、Jetson Linux 35.3.1を用いたのでhttps://developer.nvidia.com/embedded/jetson-linux-r3531からダウンロードしました。

  • Driver Package (BSP):Jetson_Linux_R35.3.1_aarch64.tbz2
  • Sample Root Filesystem:Tegra_Linux_Sample-Root-Filesystem_R35.3.1_aarch64.tbz2

その後、以下のコマンドを実行してreComputer J4012にJetson Linuxをインストールします。

tar xf Jetson_Linux_R35.3.1_aarch64.tbz2
sudo tar xpf Tegra_Linux_Sample-Root-Filesystem_R35.3.1_aarch64.tbz2 -C Linux_for_Tegra/rootfs/
cd Linux_for_Tegra/
sudo ./apply_binaries.sh
sudo ./tools/l4t_flash_prerequisites.sh
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 \
  -c tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml" \
  --showlogs --network usb0 p3509-a02+p3767-0000 internal

3. Jetson Orin NX実機

3.1 初期設定

初回起動時にアカウント作成、言語設定、キーボード設定、ネットワーク設定などを行います。最後にChromiumインストールを行うか聞かれるためインストールする場合はネットワーク設定をしておくとよいでしょう。

3.2 jetson_statsインストール

後述するjetson_releaseを実行するためにhttps://github.com/rbonghi/jetson_statsを参考にしてjetson_statsパッケージをインストールします。

sudo apt install python3-pip
sudo pip3 install -U jetson-stats

3.3 nvidia-jetpackインストール

https://lab.seeed.co.jp/entry/2022/06/06/120000を参考にしてnvidia-jetpackをインストールします。インストール前の状態を確認するためにjetson_releaseコマンドを実行します。この結果から、この時点だとCUDA、cuDNN、TensorRTなどがインストールされていないことがわかります。

$ jetson_release
Software part of jetson-stats 4.2.1 - (c) 2023, Raffaello Bonghi
Model: NVIDIA Orin NX Developer Kit - Jetpack 5.1.1 [L4T 35.3.1]
NV Power Mode[2]: 15W
Serial Number: [XXX Show with: jetson_release -s XXX]
Hardware:
 - P-Number: p3767-0000
 - Module: NVIDIA Jetson Orin NX (16GB ram)
Platform:
 - Distribution: Ubuntu 20.04 focal
 - Release: 5.10.104-tegra
jtop:
 - Version: 4.2.1
 - Service: Active
Libraries:
 - CUDA: Not installed
 - cuDNN: Not installed
 - TensorRT: Not installed
 - VPI: Not installed
 - Vulkan: 1.3.204
 - OpenCV: 4.2.0 - with CUDA: NO

以下のコマンドを実行してnvidia-jetpackをインストールします。

sudo apt install nvidia-jetpack

インストール後の状態を確認するためにjetson_releaseコマンドを実行します。この結果からCUDA、cuDNN、TensorRTなどがインストールされていることがわかります。

$ jetson_release
Software part of jetson-stats 4.2.1 - (c) 2023, Raffaello Bonghi
Model: NVIDIA Orin NX Developer Kit - Jetpack 5.1.1 [L4T 35.3.1]
NV Power Mode[2]: 15W
Serial Number: [XXX Show with: jetson_release -s XXX]
Hardware:
 - P-Number: p3767-0000
 - Module: NVIDIA Jetson Orin NX (16GB ram)
Platform:
 - Distribution: Ubuntu 20.04 focal
 - Release: 5.10.104-tegra
jtop:
 - Version: 4.2.1
 - Service: Active
Libraries:
 - CUDA: 11.4.315
 - cuDNN: 8.6.0.166
 - TensorRT: 5.1.1
 - VPI: 2.2.6
 - Vulkan: 1.3.204
 - OpenCV: 4.5.4 - with CUDA: NO

3.4 ユーザー設定

3.4.1 Docker

以下のコマンドを実行して、dockerグループに追加します。コマンド実行後に再ログインすると反映されます。

sudo gpasswd -a $USER docker

3.4.2 CUDAパス

$HOME/.bashrcに以下の記述を追記してターミナルを開き直します。

export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"

反映後、nvccコマンドが実行できたらCUDAパスが設定できています。

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Sun_Oct_23_22:16:07_PDT_2022
Cuda compilation tools, release 11.4, V11.4.315
Build cuda_11.4.r11.4/compiler.31964100_0

Appendix

nvidia-jetpackをインストールすることでインストールされるパッケージ

nvidia-jetpackをインストールすることでインストールされるパッケージを以下に示します。

$ apt depends nvidia-jetpack-runtime 
nvidia-jetpack-runtime
  Depends: nvidia-l4t-jetson-multimedia-api (>> 35.3-0)
  Depends: nvidia-l4t-jetson-multimedia-api (<< 35.4-0)
  Depends: nvidia-cuda (= 5.1.1-b52)
  Depends: nvidia-tensorrt (= 5.1.1-b52)
  Depends: nvidia-cudnn8 (= 5.1.1-b52)
  Depends: nvidia-cupva (= 5.1.1-b52)
  Depends: nvidia-opencv (= 5.1.1-b52)
  Depends: nvidia-container (= 5.1.1-b52)
  Depends: nvidia-vpi (= 5.1.1-b52)
$ apt depends nvidia-jetpack-dev
nvidia-jetpack-dev
  Depends: nvidia-l4t-jetson-multimedia-api (>> 35.3-0)
  Depends: nvidia-l4t-jetson-multimedia-api (<< 35.4-0)
  Depends: nvidia-jetpack-runtime (= 5.1.1-b52)
  Depends: nvidia-nsight-sys (= 5.1.1-b52)
  Depends: nvidia-tensorrt-dev (= 5.1.1-b52)
  Depends: nvidia-cuda-dev (= 5.1.1-b52)
  Depends: nvidia-vpi-dev (= 5.1.1-b52)
  Depends: nvidia-opencv-dev (= 5.1.1-b52)
  Depends: nvidia-cudnn8-dev (= 5.1.1-b52)

NVIDIA SDK Manager

reComputer J4012のセットアップにNVIDIA SDK Managerを使うことを試みてみましたが、「Could not detect a board」という表示が出ており、reComputer J4012を認識することができませんでした。少なくとも執筆時点で最新のNVIDIA SDK Manager v1.9.2(GUI版)ではreComputer J4012をセットアップすることができないようです。

Screenshot from 2023-04-02 22-52-03.png

9
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?