Raspberry Pi Zero 2W + bookworm lite 64bit のヘッドレスセッティング
はじめに
Raspberry Pi OSがBookwormに変わり、USB SSHの設定が少し変わったようなので覚書
OSを書き込んだSDカードに設定を追加してヘッドレス環境を作ります。
zero2を使うならliteだしヘッドレスだし最近はbookwormじゃないとバージョン問題出るケースが多いのでzero2Wもbookwormへ移行進めねば。。。
参考:https://forums.raspberrypi.com/viewtopic.php?t=376578
環境
OSはRaspberry Pi OS Bookworm 64bit liteです。
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm
$ getconf LONG_BIT
64
ハードはRaspberry Pi Zero2Wです。
MicroSD 書き込み設定
MicroSDはRaspberry Pi Imagerで行います。
デバイスにはRaspberry pi Zero 2 Wを選択
OSは Raspberry Pi OS(other) > Raspberry Pi OS Lite(64-bit) を選択
ここではホスト名はzero2としましたがユーザー名、パスワード共に、任意の値を使用してください。
wifi環境があるかたはここで設定しておくと楽ですが、raspi-configからも簡単に設定できます。
SSHを有効化してください。パスワード認証にて進めますが、使用方法が判る方は公開鍵認証をお勧めします。
USB SSHするための設定
config.txtにの最後に次の行を追記
dtoverlay=dwc2
commandline.txtのrootwait とquietの間に[]の中を追記
rootwait [modules-load=dwc2,g_ether] quiet
firstrun.shの「rm -f /boot/firstrun.sh」の行の上に次のテキストを追記
# Remove the rule setting gadget devices to be unmanagend
cp /usr/lib/udev/rules.d/85-nm-unmanaged.rules /etc/udev/rules.d/85-nm-unmanaged.rules
sed 's/^[^#]*gadget/#\ &/' -i /etc/udev/rules.d/85-nm-unmanaged.rules
# Create a NetworkManager connection file that tries DHCP first
CONNFILE1=/etc/NetworkManager/system-connections/usb0-dhcp.nmconnection
UUID1=$(uuid -v4)
cat <<- EOF >${CONNFILE1}
[connection]
id=usb0-dhcp
uuid=${UUID1}
type=ethernet
interface-name=usb0
autoconnect-priority=100
autoconnect-retries=2
[ethernet]
[ipv4]
dhcp-timeout=3
method=auto
[ipv6]
addr-gen-mode=default
method=auto
[proxy]
EOF
# Create a NetworkManager connection file that assigns a Link-Local address if DHCP fails
CONNFILE2=/etc/NetworkManager/system-connections/usb0-ll.nmconnection
UUID2=$(uuid -v4)
cat <<- EOF >${CONNFILE2}
[connection]
id=usb0-ll
uuid=${UUID2}
type=ethernet
interface-name=usb0
autoconnect-priority=50
[ethernet]
[ipv4]
method=link-local
[ipv6]
addr-gen-mode=default
method=auto
[proxy]
EOF
# NetworkManager will ignore nmconnection files with incorrect permissions so change them here
chmod 600 ${CONNFILE1}
chmod 600 ${CONNFILE2}
接続確認とログイン
PCとRaspberry Pi Zero 2Wをデータ通信可能なUSBケーブルで接続します。
Raspberry Pi Zero 2 Wにはmicro USB端子が2個付いていますが、HDMIコネクタに近い側の端子を使用します。
接続すると起動しますが、初回起動には数分かかるため、パイロットランプの点滅が終了するまでまってからpingで確認します
ping zero2.local
接続が確認できたらSSHでログイン可能です。
ssh [user]@zero2.local
Discussion