Open16

Jetson AGX Orin をセットアップした際の試行錯誤

Yoshiharu KubotaYoshiharu Kubota

デバイス

Key Value
機種 NVIDIA Jetson AGX Orin Developper Kit
RAM 32GB(エミュレーションモードのため、認識されるのは16GB)
ストレージ eMMC flash memory 64GB
備考 Jetson Orin NX のエミュレーションモードでセットアップされている

初回起動直後の状態

Ubuntu の初回セットアップ画面が表示された後にターミナルから状態を確認

$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"

$ uname -a
Linux 5.15.122-tegra #1 SMP PREEMPT Thu Nov 30 10:30:37 PST 2023 aarch64 aarch64 aarch64 GNU/Linux

アップグレードしようとしたらエラーが発生

その後、sudo apt update してから sudo apt upgrade -y を実行したところ何故かエラーになった

$ sudo apt upgrade -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
Get more security updates through Ubuntu Pro with 'esm-apps' enabled:
  libiperf0 libjs-jquery-ui libopenexr25 python3-scipy libpostproc55
  libavcodec58 iperf3 libavutil56 libswscale5 libswresample3 libavformat58
  libavfilter7
Learn more about Ubuntu Pro at https://ubuntu.com/pro
The following packages have been kept back:
  python3-update-manager update-manager update-manager-core
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
7 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up nvidia-l4t-bootloader (36.2.0-20231218214829) ...
Warning: Cannot get compatible board name.
3701-300-0000--1--jetson-agx-orin-devkit-as-nx-16gb-
Info. Active boot storage: mmcblk3
TNSPEC 3701-500-0000-H.0-1-1-jetson-agx-orin-devkit-as-nx-16gb-
COMPATIBLE_SPEC 3701-300-0000--1--jetson-agx-orin-devkit-as-nx-16gb-
TEGRA_BOOT_STORAGE mmcblk3
TEGRA_CHIPID 0x23
TEGRA_OTA_BOOT_DEVICE /dev/mtdblock0
TEGRA_OTA_GPT_DEVICE /dev/mtdblock0
Info: Write TegraPlatformCompatSpec with 3701-300-0000--1--jetson-agx-orin-devkit-as-nx-16gb-.
INFO. Dump slots info:
Current version: 36.2.0
Capsule update status: 0
Current bootloader slot: A
Active bootloader slot: A
num_slots: 2
slot: 0,             status: normal
slot: 1,             status: normal
INFO. Dump nv_boot_control.conf:
TNSPEC 3701-500-0000-H.0-1-1-jetson-agx-orin-devkit-as-nx-16gb-
COMPATIBLE_SPEC 3701-300-0000--1--jetson-agx-orin-devkit-as-nx-16gb-
TEGRA_BOOT_STORAGE mmcblk3
TEGRA_CHIPID 0x23
TEGRA_OTA_BOOT_DEVICE /dev/mtdblock0
TEGRA_OTA_GPT_DEVICE /dev/mtdblock0
ERROR. 3701-300-0000--1--jetson-agx-orin-devkit-as-nx-16gb- does not match any known boards.
dpkg: error processing package nvidia-l4t-bootloader (--configure):
 installed nvidia-l4t-bootloader package post-installation script subprocess returned error exit status 1
Setting up nvidia-l4t-kernel (5.15.122-tegra-36.2.0-20231218214829) ...
Using the existing boot entry 'primary'
Warning: Cannot get compatible board name.
3701-300-0000--1--jetson-agx-orin-devkit-as-nx-16gb-
Info. Active boot storage: mmcblk3
TNSPEC 3701-500-0000-H.0-1-1-jetson-agx-orin-devkit-as-nx-16gb-
COMPATIBLE_SPEC 3701-300-0000--1--jetson-agx-orin-devkit-as-nx-16gb-
TEGRA_BOOT_STORAGE mmcblk3
TEGRA_CHIPID 0x23
TEGRA_OTA_BOOT_DEVICE /dev/mtdblock0
TEGRA_OTA_GPT_DEVICE /dev/mtdblock0
Info: Write TegraPlatformCompatSpec with 3701-300-0000--1--jetson-agx-orin-devkit-as-nx-16gb-.
Starting kernel post-install procedure.
Rootfs AB is not enabled.
ERROR. Procedure for A_kernel update FAILED.
Cannot install package. Exiting...
dpkg: error processing package nvidia-l4t-kernel (--configure):
 installed nvidia-l4t-kernel package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent configuration of nvidia-l4t-kernel-headers:
 nvidia-l4t-kernel-headers depends on nvidia-l4t-kernel (= 5.15.122-tegra-36.2.0-20231218214829); however:
  Package nvidia-l4t-kernel is not configured yet.

dpkg: error processing package nvidia-l4t-kernel-headers (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of nvidia-l4t-kernel-oot-modules:
 nvidia-l4t-kernel-oot-modules depends on nvidia-l4t-kernel (= 5.15.122-tegra-36.2.0-20231218214829); however:
  Package nvidia-l4t-kernel is not configured yet.

dpkg: error processing package nvidia-l4t-kernel-oot-modules (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                          No apport report written because MaxReports is rea
ched already
            dpkg: dependency problems prevent configuration of nvidia-l4t-display-kernel:
 nvidia-l4t-display-kernel depends on nvidia-l4t-kernel (= 5.15.122-tegra-36.2.0-20231218214829); however:
  Package nvidia-l4t-kernel is not configured yet.

dpkg: error processing package nvidia-l4t-display-kernel (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of nvidia-l4t-kernel-oot-headers:
 nvidia-l4t-kernel-oot-headers depends on nvidia-l4t-kernel (= 5.15.122-tegra-36.2.0-20231218214829); however:
  Package nvidia-l4t-kernel is not configured yet.

dpkg: error processing package nvidia-l4t-kernel-oot-headers (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of nvidia-l4t-kernel-dtbs:
 nvidia-l4t-kernel-dtbs depends on nvidia-l4t-kernel (= 5.15.122-tegra-36.2.0-20231218214829); however:
  Package nvidia-l4t-kernel is not configured yet.

dpkg: errorNo apport report written because MaxReports is reached already
                                                                         No apport report written because MaxReports is reached already
                                                                                                                                       No apport report writ
ten because MaxReports is reached already
                                          processing package nvidia-l4t-kernel-dtbs (--configure):
 dependency problems - leaving unconfigured
Processing triggers for nvidia-l4t-initrd (36.2.0-20231218214829) ...
nv-update-initrd: Updating /boot/initrd from /etc/nv-update-initrd/modules for kernel version 5.15.122-tegra..
Add /lib/modules/5.15.122-tegra/extra/drivers/net/ethernet/nvidia/nvethernet/nvethernet.ko
Add /lib/modules/5.15.122-tegra/extra/drivers/nvpps/nvpps.ko
Add /lib/modules/5.15.122-tegra/extra/drivers/firmware/tegra/ivc_ext.ko
Add /lib/modules/5.15.122-tegra/extra/drivers/staging/platform/tegra/gte/tegra194_gte.ko
Add /lib/modules/5.15.122-tegra/modules*
Add /lib/modules/5.15.122-tegra/kernel/drivers/nvme/host/nvme.ko
Add /lib/modules/5.15.122-tegra/kernel/drivers/nvme/host/nvme-core.ko
Add /lib/modules/5.15.122-tegra/kernel/drivers/nvme/host/nvme-fabrics.ko
Add /lib/modules/5.15.122-tegra/kernel/drivers/pci/controller/dwc/pcie-tegra194.ko
Add /lib/modules/5.15.122-tegra/kernel/drivers/phy/tegra/phy-tegra194-p2u.ko
Add /bin/sh
Add /lib/modules/5.15.122-tegra/kernel/drivers/usb/gadget/udc/tegra-xudc.ko
Add /lib/modules/5.15.122-tegra/kernel/drivers/usb/typec/ucsi/typec_ucsi.ko
Add /lib/modules/5.15.122-tegra/kernel/drivers/usb/typec/ucsi/ucsi_ccg.ko
Add /lib/modules/5.15.122-tegra/kernel/drivers/usb/typec/typec.ko
Cleaning up the temporary directory for updating the initrd..
Errors were encountered while processing:
 nvidia-l4t-bootloader
 nvidia-l4t-kernel
 nvidia-l4t-kernel-headers
 nvidia-l4t-kernel-oot-modules
 nvidia-l4t-display-kernel
 nvidia-l4t-kernel-oot-headers
 nvidia-l4t-kernel-dtbs
E: Sub-process /usr/bin/dpkg returned an error code (1)

Copilot に聞いてみたが、よく分からん

Yoshiharu KubotaYoshiharu Kubota

経緯としては、展示会で使用するデモ機が Jetson Orin NX で、
今回用意できたデバイスがハイエンドモデルである Jetson AGX Orin だったため、
前者の性能になるようにエミュレートしていたのだが、
また変な不具合が発生して止まると嫌なので、
一旦は SDK Manager で JetPack 5.x の最新版を普通に再インストールしてみる!

備考 : 各種モデルをダウンロードしていると64GBの内臓ストレージはすぐに使い切ってしまうので、NVMe SSDを増設してそちらにOSをインストールする

Yoshiharu KubotaYoshiharu Kubota
  1. Jetson AGX Orin を強制回復モードで起動

  2. USB Type-C を Ubuntu マシンに接続

  3. 認識できていることを確認

    ubuntu@minipc:~$ lsusb
    Bus 002 Device 002: ID 0955:7020 NVIDIA Corp. L4T (Linux for Tegra) running on Tegra
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 001 Device 002: ID 25a7:fa61 Compx 2.4G Receiver
    Bus 001 Device 003: ID 8087:0026 Intel Corp.
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    
Yoshiharu KubotaYoshiharu Kubota



ここで入力する Username と Password は、現在のJetsonデバイスに設定済の値のことを指しているので注意!

USB Type-C で接続しているポートに 192.168.55.1 というアドレスが割り当てられることで通信が行えるっぽい
(なので、pingやSSHで192.168.55.1に通信が行えるのは直接接続しているUbuntuのPCだけ)

Yoshiharu KubotaYoshiharu Kubota

ホスト名が何故か ubuntu で設定され、SSHで接続する際にちょっと気持ち悪いので
以下のコマンドを実行してホスト名を変更

sudo hostnamectl set-hostname jetson-agx-orin
Yoshiharu KubotaYoshiharu Kubota

OSのバージョン情報

ryoyo@jetson-agx-orin:~$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

ryoyo@jetson-agx-orin:~$ uname -a
Linux jetson-agx-orin 5.10.192-tegra #1 SMP PREEMPT Mon Feb 19 20:19:53 PST 2024 aarch64 aarch64 aarch64 GNU/Linux

apt upgrade などが正常に動作するようになった!

Yoshiharu KubotaYoshiharu Kubota

ディスク容量を確認

ryoyo@jetson-agx-orin:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p1  915G   16G  853G   2% /
none             15G     0   15G   0% /dev
tmpfs            15G   36K   15G   1% /dev/shm
tmpfs           3.0G   19M  3.0G   1% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs            15G     0   15G   0% /sys/fs/cgroup
tmpfs           3.0G   16K  3.0G   1% /run/user/1000
Yoshiharu KubotaYoshiharu Kubota

不要なサービスを無効化

ryoyo@jetson-agx-orin:~$ systemctl list-unit-files --type=service --state=enabled
UNIT FILE                                  STATE   VENDOR PRESET
accounts-daemon.service                    enabled enabled
anacron.service                            enabled enabled
apparmor.service                           enabled enabled
autovt@.service                            enabled enabled
avahi-daemon.service                       enabled enabled
binfmt-support.service                     enabled enabled
bluetooth.service                          enabled enabled
console-setup.service                      enabled enabled
containerd.service                         enabled enabled
cron.service                               enabled enabled
dbus-fi.w1.wpa_supplicant1.service         enabled enabled
dbus-org.bluez.service                     enabled enabled
dbus-org.freedesktop.Avahi.service         enabled enabled
dbus-org.freedesktop.ModemManager1.service enabled enabled
dbus-org.freedesktop.nm-dispatcher.service enabled enabled
dbus-org.freedesktop.resolve1.service      enabled enabled
dbus-org.freedesktop.timesync1.service     enabled enabled
dmesg.service                              enabled enabled
docker.service                             enabled enabled
e2scrub_reap.service                       enabled enabled
getty@.service                             enabled enabled
haveged.service                            enabled enabled
kerneloops.service                         enabled enabled
keyboard-setup.service                     enabled enabled
l4t-rootfs-validation-config.service       enabled enabled
ModemManager.service                       enabled enabled
network-manager.service                    enabled enabled
networkd-dispatcher.service                enabled enabled
NetworkManager-dispatcher.service          enabled enabled
NetworkManager.service                     enabled enabled
nv-l4t-bootloader-config.service           enabled enabled
nv-l4t-usb-device-mode.service             enabled enabled
nv-late-init.service                       enabled enabled
nv-ms-tpm-removal.service                  enabled enabled
nv-tee-supplicant.service                  enabled enabled
nv.service                                 enabled enabled
nv_nvsciipc_init.service                   enabled enabled
nvcpupowerfix.service                      enabled enabled
nvfancontrol.service                       enabled enabled
nvfb-early.service                         enabled enabled
nvfb-udev.service                          enabled enabled
nvfb.service                               enabled enabled
nvgetty.service                            enabled enabled
nvmemwarning.service                       enabled enabled
nvphs.service                              enabled enabled
nvpmodel.service                           enabled enabled
nvpower.service                            enabled enabled
nvramoopsconfig.service                    enabled enabled
nvrtc-sync-boot.service                    enabled enabled
nvrtc-sync-shutdown.service                enabled enabled
nvs-service.service                        enabled enabled
nvweston.service                           enabled enabled
nvzramconfig.service                       enabled enabled
openvpn.service                            enabled enabled
portmap.service                            enabled enabled
pppd-dns.service                           enabled enabled
resolvconf.service                         enabled enabled
rpcbind.service                            enabled enabled
rsync.service                              enabled enabled
rsyslog.service                            enabled enabled
setvtrgb.service                           enabled enabled
snapd.apparmor.service                     enabled enabled
snapd.autoimport.service                   enabled enabled
snapd.core-fixup.service                   enabled enabled
snapd.recovery-chooser-trigger.service     enabled enabled
snapd.seeded.service                       enabled enabled
snapd.service                              enabled enabled
snapd.system-shutdown.service              enabled enabled
ssh.service                                enabled enabled
sshd.service                               enabled enabled
switcheroo-control.service                 enabled enabled
syslog.service                             enabled enabled
systemd-pstore.service                     enabled enabled
systemd-resolved.service                   enabled enabled
systemd-timesyncd.service                  enabled enabled
ua-reboot-cmds.service                     enabled enabled
ubuntu-advantage.service                   enabled enabled
ubuntu-fan.service                         enabled enabled
udisks2.service                            enabled enabled
wpa_supplicant.service                     enabled enabled

80 unit files listed.

ryoyo@jetson-agx-orin:~$ systemctl list-unit-files --type=service --state=enabled | cat
UNIT FILE                                  STATE   VENDOR PRESET
accounts-daemon.service                    enabled enabled
anacron.service                            enabled enabled
apparmor.service                           enabled enabled
autovt@.service                            enabled enabled
avahi-daemon.service                       enabled enabled
binfmt-support.service                     enabled enabled
console-setup.service                      enabled enabled
containerd.service                         enabled enabled
cron.service                               enabled enabled
dbus-org.freedesktop.Avahi.service         enabled enabled
dbus-org.freedesktop.nm-dispatcher.service enabled enabled
dbus-org.freedesktop.resolve1.service      enabled enabled
dbus-org.freedesktop.timesync1.service     enabled enabled
dmesg.service                              enabled enabled
docker.service                             enabled enabled
e2scrub_reap.service                       enabled enabled
getty@.service                             enabled enabled
haveged.service                            enabled enabled
kerneloops.service                         enabled enabled
keyboard-setup.service                     enabled enabled
l4t-rootfs-validation-config.service       enabled enabled
network-manager.service                    enabled enabled
networkd-dispatcher.service                enabled enabled
NetworkManager-dispatcher.service          enabled enabled
NetworkManager.service                     enabled enabled
nv-l4t-bootloader-config.service           enabled enabled
nv-l4t-usb-device-mode.service             enabled enabled
nv-late-init.service                       enabled enabled
nv-ms-tpm-removal.service                  enabled enabled
nv-tee-supplicant.service                  enabled enabled
nv.service                                 enabled enabled
nv_nvsciipc_init.service                   enabled enabled
nvcpupowerfix.service                      enabled enabled
nvfancontrol.service                       enabled enabled
nvfb-early.service                         enabled enabled
nvfb-udev.service                          enabled enabled
nvfb.service                               enabled enabled
nvgetty.service                            enabled enabled
nvmemwarning.service                       enabled enabled
nvphs.service                              enabled enabled
nvpmodel.service                           enabled enabled
nvpower.service                            enabled enabled
nvramoopsconfig.service                    enabled enabled
nvrtc-sync-boot.service                    enabled enabled
nvrtc-sync-shutdown.service                enabled enabled
nvs-service.service                        enabled enabled
nvweston.service                           enabled enabled
nvzramconfig.service                       enabled enabled
portmap.service                            enabled enabled
resolvconf.service                         enabled enabled
rpcbind.service                            enabled enabled
rsyslog.service                            enabled enabled
setvtrgb.service                           enabled enabled
ssh.service                                enabled enabled
sshd.service                               enabled enabled
switcheroo-control.service                 enabled enabled
syslog.service                             enabled enabled
systemd-pstore.service                     enabled enabled
systemd-resolved.service                   enabled enabled
systemd-timesyncd.service                  enabled enabled
ua-reboot-cmds.service                     enabled enabled
ubuntu-advantage.service                   enabled enabled
ubuntu-fan.service                         enabled enabled
udisks2.service                            enabled enabled

64 unit files listed.
Yoshiharu KubotaYoshiharu Kubota

Before

ryoyo@jetson-agx-orin:~$ free -h
              total        used        free      shared  buff/cache   available
Mem:           29Gi       1.3Gi        27Gi        21Mi       901Mi        28Gi
Swap:          14Gi          0B        14Gi

After

ryoyo@jetson-agx-orin:~$ free -h
              total        used        free      shared  buff/cache   available
Mem:           29Gi       684Mi        28Gi        26Mi       331Mi        28Gi
Swap:          14Gi          0B        14Gi
Yoshiharu KubotaYoshiharu Kubota

もう1台の Jetson AGX Orin にもOSインストールを実施
こちらは内蔵ストレージ(eMMC flash memory 64GB)にインストールした
ホスト名は jetson-agx-orin-32gb とした

sudo hostnamectl set-hostname jetson-agx-orin-32gb
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/mmcblk0p1   54G   16G   36G  30% /
none             15G     0   15G   0% /dev
tmpfs            15G   36K   15G   1% /dev/shm
tmpfs           3.0G   19M  3.0G   1% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs            15G     0   15G   0% /sys/fs/cgroup
tmpfs           3.0G   16K  3.0G   1% /run/user/124
tmpfs           3.0G   20K  3.0G   1% /run/user/1000

$ free -h
              total        used        free      shared  buff/cache   available
Mem:           29Gi       1.6Gi        27Gi        23Mi       1.0Gi        27Gi
Swap:          14Gi          0B        14Gi