: O. Yuanying

Jetson Orin Nano のセットアップ

Jetson Orin Nano を買ったのでセットアップしました。

インストールしたのは JetPack v5.1.1。

まあ、普通にSDカードからOSを起動してもいいのですが、せっかくNVMeがついてるので、NVMe接続のSSDにOSをインストールすることにしました。また、後々K8sのノードとして利用する予定なので不要なGUI周りのパッケージをアンインストールしました。

NVMeからのOS起動

普通にSDカードにOSをインストールして起動したのちに、ターミナルからJetPackをダウンロードして NVMe のSSDに書き込みます。

$ curl -LO https://developer.nvidia.com/downloads/embedded/l4t/r35_release_v3.1/sd_card_b49/jp511-orin-nano-sd-card-image.zip

$ /usr/bin/unzip -p jp511-orin-nano-sd-card-image.zip | sudo /bin/dd of=/dev/nvme0n1 bs=1M status=progress
[sudo] password for yuanying:
22029074432 bytes (22 GB, 21 GiB) copied, 291 s, 75.7 MB/s
0+337904 records in
0+337904 records out
22144876544 bytes (22 GB, 21 GiB) copied, 293.348 s, 75.5 MB/s

そのままNVMeに書き込んだOSイメージから起動できれば良いのだが、イメージ中の/boot/extlinux/extlinux.conf を書き換えないと起動しないとのことなので書き換える。

NVMeのSSDをマウントしたのちに、

$ sudo mount /dev/nvme0n1p1 /mnt

/mnt/boot/extlinux/extlinux.conf を以下のように書き換える。(/dev/mmcblk1p1 でSDカードが指定してあったところを /dev/nvme0n1p1 に変更。)

--- extlinux.conf.backup        2023-04-27 17:45:49.921921693 +0900
+++ extlinux.conf       2023-04-27 17:46:20.238288895 +0900
@@ -8,7 +8,7 @@
       LINUX /boot/Image
       FDT /boot/dtb/kernel_tegra234-p3767-0003-p3768-0000-a0.dtb
       INITRD /boot/initrd
-      APPEND ${cbootargs} root=/dev/mmcblk1p1 rw rootwait rootfstype=ext4 mminit_loglevel=4 console=ttyTCU0,115200 console=ttyAMA0,115200 firmware_class.path=/etc/firmware fbcon=map:0 net.ifnames=0
+      APPEND ${cbootargs} root=/dev/nvme0n1p1 rw rootwait rootfstype=ext4 mminit_loglevel=4 console=ttyTCU0,115200 console=ttyAMA0,115200 firmware_class.path=/etc/firmware fbcon=map:0 net.ifnames=0

 # When testing a custom kernel, it is recommended that you create a backup of
 # the original kernel and add a new entry to this file so that the device can

アンマウントしたのちに再起動。

$ sudo umount /mnt
$ sudo reboot

GUI のパッケージ削除

Jetson をディスプレイに繋いで利用するつもりはなかったので、GUIその他を諸々削除します。

まずは、とりあえず以下の記事を参考に multi-user.target をデフォルトに変更。

$ sudo systemctl set-default multi-user.target
Removed /etc/systemd/system/default.target.
Created symlink /etc/systemd/system/default.target → /lib/systemd/system/multi-user.target.

SSHでログインしたところ、まだGNOME関連のプロセスが起動していたので、それらも以下の記事を参考に削除。

上記の記事中の nvubuntu-focal-packages_only-in-desktop はリンクが切れていたので、github にあった多分同じものと思われるリストを利用。

$ sudo apt-get update
$ suro apt-get -y install curl
$ curl -LO https://raw.githubusercontent.com/NVIDIA-AI-IOT/jetson-min-disk/main/assets/nvubuntu-focal-packages_only-in-desktop.txt
$ sudo apt-get purge $(cat nvubuntu-focal-packages_only-in-desktop.txt)
$ sudo apt-get install -y netwprk-kanager netplan.io
$ cat <<EOF | sudo tee /etc/netplan/00-init.yaml
network:
  renderer: NetworkManager
  ethernets:
    eno1:
      dhcp4: true
  version: 2
EOF
$ sudo netplan apply

削除後に、network-manager を再度インストールしないとネットワークに繋がらなくなって酷い目にあうらしいので注意。自分はnetplanで設定した。

感想

VanillaなUbuntu Serverをインストールしたいんだけど、なぜかうまくいかない。