Raspberry Pi 初期設定
Raspberry Pi 3 Model B+ の初期設定をやったので、その手順を書いておく。
ドキュメント
OS の書き込みに関して
ヘッドレスでの初期設定に関して
SSH で繋いでからの設定に関して
メンテナンスに関して
やったこと
OS は Raspberry Pi 3 だとメモリが厳しそうだったので、Raspberry Pi OS (32-bit) Lite にした。
PC での操作は $ で書き、ラズパイでの操作は % で書いている。
code:sh
# raspberry-pi-imager で OS を書き込む
$ brew cask install raspberry-pi-imager
# raspberry-pi-imager を使わない場合は以下で OS を書き込む
$ diskutil list
$ diskutil unmountDisk /dev/disk2
$ sudo dd bs=1m if=2020-05-27-raspios-buster-lite-armhf.img of=/dev/rdisk2; sync
$ sudo diskutil eject /dev/rdisk2
# SD カードを挿し直して SSH で繋げるように初期設定をする
$ touch /Volumes/boot/ssh
# SSID は networksetup -getairportnetwork en0 で確認できる
$ cat << EOF > /Volumes/boot/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
ssid="<Wi-Fi の SSID>"
psk="<Wi-Fi のパスワード>"
}
EOF
$ sudo diskutil eject /dev/disk2
# SD カードを取り出してラズパイに挿して電源を入れて少し待って SSH で繋ぐ
# 初期パスワードは raspberry
$ ssh pi@raspberrypi.local
# パッケージの更新
% sudo apt update
% sudo apt -y upgrade
# 初期設定をしてリブートする(下記参照)
% sudo raspi-config
# リブートを待つ間に鍵を作る
$ ssh-keygen -t rsa -b 4096 -f ~/.ssh/raspberry
# 変更後のパスワードを使って公開鍵を送る
$ ssh-copy-id -i raspberry.pub pi@raspberrypi.local
# 鍵を使ってラズパイに繋ぐ
$ ssh -i ~/.ssh/raspberry pi@raspberrypi.local
# パスワードを使ったログインを無効にする
# ChallengeResponseAuthentication, PasswordAuthentication, UsePAM を no にする
% sudo nano /etc/ssh/sshd_config
% sudo service ssh reload
# sudo でパスワードを要求するようにする
# pi ALL=(ALL) PASSWD: ALL のように変更する
% sudo visudo /etc/sudoers.d/010_pi-nopasswd
# Wi-Fi のパスワードを暗号化する
# 以下のコマンドの出力の psk をメモする
% pa_passphrase "<Wi-Fi の SSID>" "<Wi-Fi のパスワード>"
# psk の文字列をメモした psk の数値で置き換える
% sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
% wpa_cli -i wlan0 reconfigure
% exit
sudo raspi-config では以下の設定を行い、抜ける時にリブートするか聞かれるので Yes を選ぶ。
コマンドでもできるらしいが、調べるのが面倒だったのでとりあえずこれでやった。
8 でアップデート
1 でパスワードの変更
4 の I2 でタイムゾーンの変更
7 の I1 で SD の全容量を利用可能にする
その他
ラズパイの電源を落とす
sudo shutdown -h now をやって LED が消えれば電源を抜いても大丈夫。
リブートする場合は sudo shutdown -r now か sudo reboot をやって、少し待ってから繋ぎ直す。
ラズパイの情報を確認する
OS の情報
lsb_release -a
モデルの情報
cat /proc/device-tree/model
SD カードをフォーマットする
OS を書き込むとパーティションが変更されるようで、PC からみると容量が大きく減ったように見えたりする。
これは diskutil eraseDisk FAT32 BOOT MBRFormat /dev/rdisk2 か SD Association のフォーマッターで元に戻せる。