キーボード/ディスプレイなしでラズパイをセットアップした作業記録。作業PCはmacOS。
PC上での作業には💻、リモート接続したラズパイ上での作業には🥧を以下見出しに付ける。
💻 OSインストール
導入するのはGUIレスで軽量なRaspberry Pi OS Lite。
公式のDLページからOSイメージのzipを入手、解凍する。
PCにSDカードを挿す前と後で diskutil list
でディスク一覧を表示、使用するSDカードのデバイス・ファイル名を確認する。
dd
コマンドでOSイメージをSDカードに焼く。書き込み先には上で確認したデバイス・ファイルを指定すること。
# SDカードをアンマウント diskutil unmountDisk /dev/disk2 # イメージをコピー sudo dd bs=1M if=2020-08-20-raspios-buster-armhf-lite.img of=/dev/rdisk2; sync
コピーが終わると /Volumes/boot
が見えるようになる。
[参考] https://www.raspberrypi.org/documentation/installation/installing-images/mac.md
💻 SSHを有効化
touch /Volumes/boot/ssh
で空ファイルを作る。起動時に /boot/ssh
というファイルがあればSSHサービスが有効になる仕組み。
[参考] https://www.raspberrypi.org/documentation/remote-access/ssh/README.md
💻 Bluetooth / Wi-Fiを無効化
無線を使うつもりがないので切った。/boot/config.txt
に下を設定する。
# Bluetoothを無効 dtoverlay=disable-bt # Wi-Fiを無効 dtoverlay=disable-wifi
パラメータの詳細や他に設定可能なパラメータ等は /boot/overlays/README
に記載アリ。
💻 起動+SSH接続
SDカードをラズパイに挿し、LANケーブルに繋いで電源を投入する。
緑色LEDの点滅が落ち着き起動し終えたと思われるタイミングでPCからSSH接続する。初期パスワードは raspberry
。
ssh pi@raspberrypi.local
🥧 aptアップグレード
近場のサイト(ここではJAIST)をミラーサイト一覧から探して /etc/apt/sources.list
のURLを置き換える。
すべてのパッケージを最新化する。
sudo apt-get update \ && sudo apt-get -y upgrade \ && sudo apt-get -y dist-upgrade \ && sudo apt-get -y autoremove \ && sudo apt-get autoclean
🥧 rasp-configアップグレード
Raspberry Pi OSの設定ツールrasp-configを最新化。sudo rasp-config
で起動するとメニューが立ち上がるので [Update] を選択する。
🥧 ロケールを設定
rasp-configで設定。[Localisation Options] > [Change Locale] で言語に en_US.UTF-8
を、[Localisation Options] > [Change Time Zone] でタイムゾーンに Asia/Tokyo
を設定する。
※再起動するまで反映されない。
🥧 ホスト名を変更
rasp-configで設定。[Network Options] > [Hostname] でホスト名を変更する。
※再起動するまで反映されない。
🥧 IPアドレスを固定
/etc/dhcpcd.conf
に下を設定する。
interface eth0 static ip_address=192.168.11.2/24 # IPアドレス/サブネットマスク static routers=192.168.11.1 # デフォルト・ゲートウェイ static domain_name_servers=192.168.11.1 # DNSサーバ
※再起動するまで反映されない。
LAN内でDHCPを運用している場合はIPアドレスが衝突しないようDHCPの付番範囲外のアドレスを使うこと。
[参考] https://www.raspberrypi.org/documentation/configuration/tcpip/README.md
🥧 再起動+設定確認
sudo reboot
でOSを再起動する。
新しいホスト名がプロンプトに表示されていることを確認する。
指定したロケールが locale
コマンドで表示されることを確認する。
無線LANインタフェース wlan0
が ip link
コマンドで表示されないことを確認する。
適当なデバイスでそれらしいBluetoothが飛んでいないことを確認する。
💻 known_hostsのゴミを掃除
IP変える前に接続した時のゴミが ~/.ssh/known_hosts
に残るので消しておく。
ssh-keygen -R raspberrypi.local