モニタやマウス・キーボードを使用しない、いわゆる「ヘッドレス」なセットアップを行う。
Jetson Xavier NX開発者キットは無線LANモジュールを備えているのでLANケーブルも使用せずにセットアップを行える。
Jetsonのセットアップ時の無線LAN設定について
JetsonではOSの初期設定時に無線LANの設定を行える。
普通にこの設定で無線LANを使えれば何の問題もないわけだがなぜか接続できなかった。
さらに、OSの初期設定直後にNetwork Managerによる無線LAN接続を試みるも失敗した、この問題を解消するにはパッケージのアップデートが必要となりそうである。
しかし、これでは結局Ethernetケーブルが必要となってしまい本末転倒である。
そこで試行錯誤の結果、wpa_supplicantの設定をして無線LAN接続を行うルートを確認したが、手順としてはやや複雑なものとなっている。
そのため、LANケーブルを意地でも接続したくない!という方向けの内容となっている。
用意するもの
- Jetson Xavier NX & 電源アダプタ
micro SDカード(OSイメージを書き込んだもの) - Windows PC
- USBケーブル(USB Type-A to micro USB Type-B)
- 無線LANルーター
SDカードイメージの書き込み方法については以下の投稿を参照ください。
全体の流れ
- USB SerialインターフェースでOSの初期設定を行う
- USB Ethernetインターフェースで無線LANの設定を行う
- wpa_supplicantで無線LAN接続する
- アップデートを行う
- Network Managerで無線LAN接続する
- 無線LANインターフェースで接続する
Jetson Xavier NXのHeadlessセットアップ方法
ターミナルソフトのインストール
PCからJetsonにシリアル接続やSSHでの接続を行うためにターミナルソフトをインストールする。
ここではRLoginをインストールして使用するがTera TermやHyperTerminalを使用してもよい。
機器を接続する
- JetsonにSDカードを挿入する
- Jetsonに電源アダプタを接続して電源を投入する
- PCとJetsonをUSBケーブルで接続する
Jetsonが起動完了しているとWindowsは以下のようにストレージを認識する。
以降のUSB Serial接続やUSB-Ethernet接続もこのタイミングを目安に実施するとよい。
なお、ストレージには以下のようにドキュメントなどが保存されている。
USB SerialインターフェースでOSの初期設定を行う
RLoginでJetsonにシリアル接続する
「新規」を選択する。
エントリー名を入力、プロトコル「com」を選択、TCPポートでCOMが自動的に選択されていることを確認する。
シリアルの下にある「設定」ボタンを選択して以下のようにポートの設定を行う。
作成したエントリーを選択して「OK」を選択する。
JetsonのOSの初期設定を行う
接続後にEnterを押下すると以下のようにSystem Configurationの画面が表示される。
この画面では「Tab」もしくは「矢印キー」で選択を行える。
「Japanese – 日本語」を選択する。
「Yes」を選択してsystem clockをUTCにする。
ユーザー名を入力する。
パスワードを設定する。
パスワードが短いと弱いパスワードでよいか確認が入るが、修正しなくても設定を進められる。
パーティションサイズを設定する。
Network設定ではとりあえずEthernetを選択する。
Network設定中は以下のようにプログレスが表示される。
Network設定に失敗するが問題ない。
「OK」および「Do not configure the network at this time」を選択する。
ホスト名を設定する。
システムインストールが開始される。以下のようにプログレスが表示される。
システムインストールが完了すると一度切断される。
「はい」として再接続すると以下のようにログインプロンプトが表示される(画面下部)。
設定したログインクレデンシャルを設定するとログインできる。
USB Ethernetインターフェスで無線LANの設定を行う
再起動する
wpa_supplicantのために再起動しておく。(手順要確認)
sudo reboot
RLoginでJetsonにSSH接続(USB Ethernet)する
シリアル接続のままでも以降の設定は可能だが出力が切れたりしてしまうのでSSHで接続することにする。
wpa_supplicantの無線LAN設定を行う
wpa_passphraseコマンドでwpa_supplicant.confを作成する。
everlup@ubuntu:~$ wpa_passphrase <ssid> <passphrase> | sudo tee /etc/wpa_supplicant/wpa_supplicant.conf
wpa_supplicant.confに以下の設定を追加する。
network={
ssid="<ssid>"
#psk="<passphrase>"
psk=<pre shared key>
key_mgmt=WPA-PSK WPA-PSK-SHA256
pairwise=CCMP
group=CCMP
proto=WPA2
ieee80211w=1
}
無線LAN接続, IPアドレスの取得を行う
以下のようにして無線LAN接続を行う。
everlup@ubuntu:~$ sudo ifconfig wlan0 up
everlup@ubuntu:~$ sudo killall wpa_supplicant
everlup@ubuntu:~$ sudo wpa_supplicant -i wlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf
ここでconnectの確認を行う。
もう1セッションSSHをつなぐ。
dhclientコマンドでIPアドレスを取得する。
everlup@ubuntu:~$ sudo dhclient wlan0
パッケージのアップデートを行う
aptでパッケージのアップデートを行う。
everlup@ubuntu:~$sudo apt update
everlup@ubuntu:~$sudo apt upgrade
アップデート中にディスプレイマネージャの選択を求められるが「gdm3」とした。
Network Managerの無線LAN設定を行う
wpa_supplicantによる無線LAN接続を切断する
Ctrl+Cで切断する。
nmcliコマンドでNetwork Managerの無線LAN設定を行う
everlup@ubuntu:~$ sudo nmcli device wifi connect "<ssid>" password "<password>"
RLoginでJetsonにSSH接続(wlan)する
ルーターから割り当てられたIPアドレスを使用してSSH接続する。
以上でJetson Xavier NXの初期設定を行うことができた。
以降は再起動をしてもNetwork Managerが無線LANの設定を行うため、USBケーブルを接続しなくても無線LAN経由でSSH接続をできるようになる。
コメント