🍓

Raspberry Pi headless setup Bullseye version

2023/01/10に公開

はじめに

久しぶりにRaspberry Piのheadless setupをやったところこれまでとは手順が変わっていてハマったのでそのまとめ。
(bootフォルダにユーザーアカウント情報を記載したuserconfが必要になっていた)

公式ドキュメント

Headless setupの公式ドキュメントはこちら。
https://www.raspberrypi.com/documentation/computers/configuration.html#setting-up-a-headless-raspberry-pi
Bullseyeでの変更点についてはこちら。
https://www.raspberrypi.com/news/raspberry-pi-bullseye-update-april-2022/

OSイメージのダウンロード

こちらから書き込みたいOSイメージをダウンロードする。
私はデスクトップUIは使わないのでRaspberry Pi OS Liteをダウンロードしている。

OSイメージをMicroSDに書き込む

macOSだとこんな感じ。
私の環境ではdisk4として認識されていた。

$ diskutil list
  :
/dev/disk4 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *32.0 GB    disk4
   1:             Windows_FAT_32 NO NAME                 32.0 GB    disk4s1

圧縮を戻してddで書き込む。

$ unxz 2022-09-22-raspios-bullseye-armhf-lite.img.xz
$ sudo dd if=2022-09-22-raspios-bullseye-armhf-lite.img of=/dev/rdisk4 bs=1M

bootフォルダのセットアップ

sshの有効化

設定後にsshでリモートアクセスできるように有効化しておく。

$ touch /Volumes/boot/ssh

Wi-Fiの設定

設定後にWi-Fiでネットワーク接続できるように準備しておく。
/Volumes/boot/wpa_supplicant.confを作成。
WPA2パーソナルのWi-Fiアクセスポイントに繋ぐときはこんな感じ。
(SSID, PSKは使用環境に合わせた設定が必要)

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP

network={
    ssid="SSID"
    psk="PSK"
    key_mgmt=WPA-PSK
}

ユーザーの設定

以前はpiユーザーが自動で作成されていたがBullseyeから変更された模様。任意のユーザーをセットアップ時に作成できる。
/Volumes/boot/userconfを作成。
内容は、username:encriptedPasswordの1行。

encriptedPasswordの部分はOpenSSLでSHA512のパスワードを作る。macOS標準のopensslは-6オプションに対応していないのでhomebrewでインストールしたopensslを使う。
(USERNAME, PASSWORDは使用環境に合わせた設定が必要)

$ echo -n "USERNAME:" > /Volumes/boot/userconf
$ /opt/homebrew/opt/openssl/bin/openssl passwd -6 >> /Volumes/boot/userconf
Password: PASSWORD
Verifying - Password: PASSWORD

起動

MicroSDをセットして電源を入れ、数分待つとssh loginできるようになる。
(USERNAME, PASSWORDは使用環境に合わせた設定が必要)

$ ssh USERNAME@raspberrypi.local
USERNAME@raspberrypi.local's password: PASSWORD
  :
USERNAME@raspberrypi:~ $

おまけ

セットアップしたRaspberry PiにはHomebridgeをインストールして、スマートロックSesameをHomeKit対応デバイスとして使えるようにした。この件は別記事にまとめたいと思っている。

Discussion