この記事は
Akerun - Qiita Advent Calendar 2025 - Qiita
の 20 日目の記事です。
daikw - Qiita です。 Physical と Photosynth (弊社) はなんとなくスペルが似ていますね。
最近サンタさんが Jetson AGX Thor を届けてくれたので、初期設定・動作確認時にやや戸惑ったポイントを書いておきます。
まとめ
- Jetson AGX Thor の初期設定は USB インストールメディアを使うと便利かも
- これで Physical AI に入門しよう!
前提
Jetson AGX Thor はつよつよエッジコンピュータです。つよめの CPU と GPU が載っています。快適です。
USB-C ポートが三箇所(5a, 5b, 8)にあって、用途が少しずつ違います。

JetPack のインストール
最初に Thor に JetPack を入れます。
Quick Start Guide — Jetson AGX Thor Developer Kit - User Guide が丁寧に書かれているので、これに従えば良さそうです。
マクニカの記事も安心できる情報がありました。 5a, 5b どっちの USB-C 端子を電源に利用してもいいらしいです: Jetson AGX Thor 開発者キット入門:最短セットアップからAI推論の動作確認まで - 半導体事業 - マクニカ
ただ、僕の場合、ディスプレイがどうしても映らなくて困りました。
ディスプレイが映らないので、シリアルコンソールから操作する必要がありますが、工場出荷状態の最初のシリア ルコンソール(デバッグポートの方)は、全くインタラクティブな感じがしません。

操作にやや怖気付きながらも、 BSP Installation — Jetson AGX Thor Developer Kit - User Guide に従って用意した USB メディア経由の BSP インストールを試みます。

完了後に再起動すると、デバッグポートから確認できるシリアルデバイスが4つああり、そのうち2つが接続できます。どれがどれだかわからないので全部接続して確かめます。
✦2 ❯ ll /dev/tty.* | grep usbmodem crw-rw-rw- 1 root wheel 0x900002a Dec 19 17:17 /dev/tty.usbmodemTOPOA735A12B2 crw-rw-rw- 1 root wheel 0x9000028 Dec 19 17:17 /dev/tty.usbmodemTOPOA735A12B4 crw-rw-rw- 1 root wheel 0x9000026 Dec 19 17:16 /dev/tty.usbmodemTOPOA735A12B6 crw-rw-rw- 1 root wheel 0x9000024 Dec 19 17:16 /dev/tty.usbmodemTOPOA735A12B8
しばらく待つと、それらのポートからの出力に、以下のように指示がきました。うまく起動できているようです。
[ 15.501295] Please complete NVIDIA OOBE on the serial port provided by Jetson's USB device mode connection. e.g. /dev/ttyACMx where x can 0, 1, 2 etc.

この状態で、普通の USB-C ポート(5a or 5bの電源に使ってない方)に接続して見えたシリアルデバイスに接続すると、 Debconf らしき画面が見えます。

パスワードやリージョンなどの設定を進めると、ログインできました。

シリアルコンソールでは鍵の設置だけ操作して(curl https://github.com/daikw.keys > .ssh/authorized_keys )、あとは手元の Mac から操作できる状態になりました。
環境を確認します。
daikw@jetson-thor01:~$ cat /etc/nv_tegra_release # R38 (release), REVISION: 2.2, GCID: 42205042, BOARD: generic, EABI: aarch64, DATE: Thu Sep 25 22:47:11 UTC 2025 # KERNEL_VARIANT: oot TARGET_USERSPACE_LIB_DIR=nvidia TARGET_USERSPACE_LIB_DIR_PATH=usr/lib/aarch64-linux-gnu/nvidia INSTALL_TYPE= daikw@jetson-thor01:~$ nvidia-smi Fri Dec 19 00:34:59 2025 +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 580.00 Driver Version: 580.00 CUDA Version: 13.0 | +-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+========================+======================| | 0 NVIDIA Thor Off | 00000000:01:00.0 Off | N/A | | N/A N/A N/A N/A / N/A | Not Supported | 0% Default | | | | Disabled | +-----------------------------------------+------------------------+----------------------+ +-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | 0 N/A N/A 10633 G /usr/lib/xorg/Xorg 0MiB | | 0 N/A N/A 10714 G /usr/bin/gnome-shell 0MiB | +-----------------------------------------------------------------------------------------+
問題なさそうです。
SDK Manager に振り回されることもなく、特に迷わずにここまで来れたので、インストールメディアとデバッグポートによる初期設定はとても便利でした。
適当なコンテナの起動
Docker Setup — Jetson AGX Thor Developer Kit - User Guide に記載のある jetson-containers を試してみます。
dusty-nv/jetson-containers: Machine Learning Containers for NVIDIA Jetson and JetPack-L4T に従ってインストールします。
# add to docker group sudo usermod -aG docker $USER newgrp docker # install the container tools git clone https://github.com/dusty-nv/jetson-containers bash jetson-containers/install.sh
適当に pytorch を試してみると、 jupyter が起動しました。便利ですね。
jetson-containers run $(autotag pytorch) ... [I 2025-12-19 23:23:34.441 ServerApp] Serving notebooks from local directory: / [I 2025-12-19 23:23:34.441 ServerApp] Jupyter Server 2.15.0 is running at: [I 2025-12-19 23:23:34.441 ServerApp] http://jetson-thor01:8888/lab [I 2025-12-19 23:23:34.441 ServerApp] http://127.0.0.1:8888/lab [I 2025-12-19 23:23:34.441 ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [W 2025-12-19 23:23:34.444 ServerApp] No web browser found: Error('could not locate runnable browser'). [I 2025-12-19 23:23:34.455 ServerApp] Skipped non-installed server(s): bash-language-server, dockerfile-language-server-nodejs, javascript-typescript-langserver, jedi-language-server, julia-language-server, pyright, python-language-server, python-lsp-server, r-languageserver, sql-language-server, texlab, typescript-language-server, unified-language-server, vscode-css-languageserver-bin, vscode-html-languageserver-bin, vscode-json-languageserver-bin, yaml-language-server JupyterLab server is now started JupyterLab URL: http://192.168.128.123:8888 JupyterLab logs: /data/logs/jupyter.log Copy the URL with the token above for the initial login or to reset your password.
autotag で互換性のあるコンテナを自動で指定できるのが素敵なポイントだと理解しました。
追記
tensorrt などを含む他のコンテナを試そうとしましたが、 r38 対応のコンテナがほとんどなくて自分でビルドする必要がありました。
しかし、 jetson-containers が依存している PyPI がずっと落ちていて、ずっとビルドエラー(タイムアウト)になります。同じような報告を数件見かけました。