久しぶりに Raspberry Pi を扱う機会があったので、思い出しがてら書いておく。
使った環境は次の通り。
$ sw_vers ProductName: Mac OS X ProductVersion: 10.14.2 BuildVersion: 18C54
使ったカードリーダーはこちら。 特にドライバなどをインストールしなくても認識してくれる。

- 出版社/メーカー: トランセンド・ジャパン
- メディア: Personal Computers
- この商品を含むブログを見る
Raspberry Pi と SD カードは相性問題があるので、起動するかはレビューを確認したり以下のサイトで調べておくと良い。
書き込むイメージファイルを用意する
まずは公式サイトからイメージファイルをダウンロードしてくる。
$ wget --trust-server-names https://downloads.raspberrypi.org/raspbian_full_latest
念のためファイルのハッシュが一致することを確認する。
$ shasum -a 256 2018-11-13-raspbian-stretch-lite.zip
47ef1b2501d0e5002675a50b6868074e693f78829822eef64f3878487953234d 2018-11-13-raspbian-stretch-lite.zip
確認できたらファイルを解凍する。
$ unzip 2018-11-13-raspbian-stretch-lite.zip Archive: 2018-11-13-raspbian-stretch-lite.zip inflating: 2018-11-13-raspbian-stretch-lite.img
書き込み先を確認する
カードリーダーに SD カードを挿入したら Mac につなげる。
自動で認識するはずなので diskutil
を使ってデバイスを確認する。
$ diskutil list /dev/disk0 (internal): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme 251.0 GB disk0 1: EFI EFI 314.6 MB disk0s1 2: Apple_APFS Container disk1 250.7 GB disk0s2 /dev/disk1 (synthesized): #: TYPE NAME SIZE IDENTIFIER 0: APFS Container Scheme - +250.7 GB disk1 Physical Store disk0s2 1: APFS Volume Macintosh HD 101.4 GB disk1s1 2: APFS Volume Preboot 67.5 MB disk1s2 3: APFS Volume Recovery 1.0 GB disk1s3 4: APFS Volume VM 3.2 GB disk1s4 /dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *15.8 GB disk2 1: Windows_FAT_32 boot 58.7 MB disk2s1 2: Linux 15.7 GB disk2s2
上記では /dev/disk0
と /dev/disk1
が macOS が使っている領域なので /dev/disk2
になる。
確認できたら、マウントされているパーティションを全てアンマウントする。
$ sudo diskutil umount /dev/disk2s*
イメージを書き込む
dd
コマンドを使ってブートイメージを書き込む。
書き込み先のデバイスを間違えると macOS がインストールされている領域が壊れる恐れがあるので注意する。
必ず先ほど確認した SD カードリーダーのデバイスで、かつ RAW デバイス (s がついていない) を指定する。
$ sudo dd bs=1m if=2018-11-13-raspbian-stretch-lite.img of=/dev/disk2 1780+0 records in 1780+0 records out 1866465280 bytes transferred in 1220.928058 secs (1528727 bytes/sec)
書き込みが終わると自動でマウントされるはず。 中身はこんな感じになる。
$ ls /Volumes/boot COPYING.linux bcm2710-rpi-3-b.dtb issue.txt LICENCE.broadcom bcm2710-rpi-cm3.dtb kernel.img LICENSE.oracle bootcode.bin kernel7.img bcm2708-rpi-0-w.dtb cmdline.txt overlays bcm2708-rpi-b-plus.dtb config.txt start.elf bcm2708-rpi-b.dtb fixup.dat start_cd.elf bcm2708-rpi-cm.dtb fixup_cd.dat start_db.elf bcm2709-rpi-2-b.dtb fixup_db.dat start_x.elf bcm2710-rpi-3-b-plus.dtb fixup_x.dat
あとはディスクをアンマウントした上で物理的にカードを抜き取る。
$ sudo diskutil umount /Volumes/boot
抜き取ったカードを Raspberry Pi にぶっさして起動すればおっけー。
めでたしめでたし。