久しぶりに macOS で Raspberry Pi のセットアップをしたので手順をメモしておきます。
Step.1
Raspbian から OS をダウンロードしておきます。
Step.2
マイクロ SD カードを macOS へ接続して認識させたら、diskutil list
でデバイス名を確認します。 下記の例では /dev/disk2
として認識しています。
$ diskutil list
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *750.2 GB disk0
1: EFI 209.7 MB disk0s1
2: Apple_CoreStorage 749.3 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS Macintosh HD *748.9 GB disk1
Logical Volume on disk0s2
33656199-1C39-4C86-8C14-9547ACDC60F4
Unencrypted
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *15.5 GB disk2
1: DOS_FAT_32 15.5 GB disk2s1
Step.3
SD カードへ dd
でイメージを書き込む下準備として、SD カードをアンマウントしておきます。
diskutil unmountDisk /dev/disk2
Step.4
SD カードへ dd
でイメージを書き込みます。 disk
への書き込みはランダムアクセスが可能な代わりにバッファ経由のアクセスになります。 今回は「dd
でイメージを書き込む」という、シーケンシャルアクセスとなる為、(シーケンシャルアクセスしか出来ない代わりに) バッファを経由しない rdisk
として書き込みした方が速く書き込め、作業時間が短縮出来ます。
sudo dd bs=1m if=/Path/To/Raspbian.img of=/dev/rdisk2
Step.5
最近の Raspbian OS は「/ssh
ファイルが存在しないと外部からの SSH アクセスを受け付けない」仕様へ変更されています。 初期状態から SSH アクセス出来る方が便利ですので、予め macOS 上から SD カードのルートディレクトリ位置に ssh
という名前の空ファイルを作成しておきます。
touch /Volumes/boot/ssh
Step.6
ここまで用意出来たら macOS から SD カードを取り出し、Raspbery Pi に挿入し、ネットワークケーブルを挿します。 初期状態で Raspberry Pi は DHCP でアドレスを取得しに行く為、Raspberry Pi の電源を入れる前 / 入れた後で DHCP のリース状態の差分をとり、Raspberry Pi のアドレスを特定すると外付けモニタやキーボードが無くても作業が出来ます。
Step.7
Raspbian OS の初期ユーザ情報は下記の通りです。 Raspberry Pi へ SSH ログインします。
ユーザ名 | パスワード |
---|---|
pi |
raspberry |
Step.8
Raspberry Pi を固定アドレス化します。 /etc/dhcpcd.conf
を以下のように書き換えます。 アドレスは任意に読み替えます。
interface eth0
static ip_address=10.0.0.1/24
static routers=10.0.0.254
static domain_name_servers=1.1.1.1
設定出来たら一度 OS を再起動し、意図したアドレスへ変更されていることを確認します。
sudo reboot
Step.9
システムをアップデートしておきます。
sudo apt update
sudo apt -y upgrade
sudo apt -y autoclean
sudo reboot
rpi-update は使わないのが推奨
rpi-update
でアップデートする手順をガイドしている記事を見かけますが、Raspberry Pi のファームウェアは安定版になれば標準リポジトリからインストール可能だそうです。 rpi-update
では安定版では無いファームウェアがインストールされる可能性がある為、推奨されない手順 なんだそうです。
タイムゾーンを設定する
timedatectl status
でタイムゾーンを確認すると、デフォルトでは Europe/London
になっていました。
# timedatectl status
Local time: Sun 2019-12-29 09:01:23 GMT
Universal time: Sun 2019-12-29 09:01:23 UTC
RTC time: n/a
Time zone: Europe/London (GMT, +0000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
タイムゾーンを Asia/Tokyo
へ変更します。
sudo timedatectl set-timezone Asia/Tokyo
タイムゾーンが変更されたことを確認します。
# timedatectl status
Local time: Sun 2019-12-29 18:03:21 JST
Universal time: Sun 2019-12-29 09:03:21 UTC
RTC time: n/a
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
コメント