macOS で microSD カードに Raspbian をインストールして Raspberry Pi で起動して SSH 設定まで

スポンサーリンク
Raspberry Pi

はじめに

Raspbian は Raspberry Pi Foundation (ラズベリーパイ財団) の公式 OS です。Debian ベースです。

Raspbian is the Foundation’s official supported operating system.

Download Raspbian for Raspberry Pi
Raspbian is the Foundation's official supported operating system. You can install it with NOOBS or download the image below.

macOS で、microSD カードに Raspbian をインストールし、Raspberry Pi で使用してみましょう。

公式ドキュメント

INSTALLING OPERATING SYSTEM IMAGES ON MAC OS
https://www.raspberrypi.org/documentation/installation/installing-images/mac.md

私の環境

  • macOS Mojave 10.14.1
  • microSD カード (32GB)
  • Raspberry Pi 3 Model B

イメージのダウンロード

まず、Raspbian のイメージを ZIP でダウンロードします。2018-12-02 時点で提供されているバージョンは November 2018 です。リリース日は 2018-11-13 で、カーネルは 4.14 です。

Download Raspbian for Raspberry Pi
Raspbian is the Foundation's official supported operating system. You can install it with NOOBS or download the image below.

イメージは 3 種類あります。

  • RASPBIAN STRETCH WITH DESKTOP AND RECOMMENDED SOFTWARE
  • RASPBIAN STRETCH WITH DESKTOP
  • RASPBIAN STRETCH LITE

私は GUI は必要なく、必要最小限のところから始めたいため、RASPBIAN STRETCH LITE を選択します。

microSD カードの確認

ここからは macOS のターミナル上で作業します。

まず、macOS に microSD カードを接続していない状態で、どのようなデバイスが存在しているか確認してみます。私の環境では /dev/disk0 から /dev/disk4 まで存在していました。

ls -al /dev/disk*

コマンドの実行結果です。

brw-r-----  1 root  operator    1,   0 Nov  8 22:18 /dev/disk0
brw-r-----  1 root  operator    1,   1 Nov  8 22:18 /dev/disk0s1
brw-r-----  1 root  operator    1,   2 Nov  8 22:18 /dev/disk0s2
brw-r-----  1 root  operator    1,   3 Nov  8 22:18 /dev/disk1
brw-r-----  1 root  operator    1,   4 Nov  8 22:18 /dev/disk1s1
brw-r-----  1 root  operator    1,   5 Nov  8 22:18 /dev/disk1s2
brw-r-----  1 root  operator    1,   7 Nov  8 22:18 /dev/disk1s3
brw-r-----  1 root  operator    1,   6 Nov  8 22:18 /dev/disk1s4
brw-r-----  1 root  operator    1,   8 Nov 25 20:49 /dev/disk2
brw-r-----  1 root  operator    1,  10 Nov 25 20:49 /dev/disk2s1
brw-r-----  1 root  operator    1,   9 Nov 25 20:49 /dev/disk2s2
br--r-----  1 root  operator    1,  11 Nov 13 20:15 /dev/disk3
br--r-----  1 root  operator    1,  12 Nov 13 20:15 /dev/disk3s1
br--r-----  1 root  operator    1,  13 Nov 13 20:15 /dev/disk3s2
br--r-----  1 root  operator    1,  14 Nov 20 23:05 /dev/disk4
br--r-----  1 root  operator    1,  16 Nov 20 23:05 /dev/disk4s1
br--r-----  1 root  operator    1,  15 Nov 20 23:05 /dev/disk4s2

diskutil でも確認してみます。

diskutil list

コマンドの実行結果です。

/dev/disk0 (internal):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                         500.3 GB   disk0
   1:                        EFI EFI                     314.6 MB   disk0s1
   2:                 Apple_APFS Container disk1         500.0 GB   disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +500.0 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            263.9 GB   disk1s1
   2:                APFS Volume Preboot                 66.9 MB    disk1s2
   3:                APFS Volume Recovery                1.0 GB     disk1s3
   4:                APFS Volume VM                      6.4 GB     disk1s4

/dev/disk2 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        +2.0 TB     disk2
   1:                        EFI EFI                     209.7 MB   disk2s1
   2:                  Apple_HFS Time Machine Backups    2.0 TB     disk2s2

/dev/disk3 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     Apple_partition_scheme                        +24.2 MB    disk3
   1:        Apple_partition_map                         32.3 KB    disk3s1
   2:                  Apple_HFS Flash Player            24.2 MB    disk3s2

/dev/disk4 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     Apple_partition_scheme                        +24.3 MB    disk4
   1:        Apple_partition_map                         32.3 KB    disk4s1
   2:                  Apple_HFS Flash Player            24.2 MB    disk4s2

カードリーダー経由で、macOS に microSD カードを接続してみます。私の環境では、/dev/disk5 として接続されました。

ls -al /dev/disk*

コマンドの実行結果です。

brw-r-----  1 root  operator    1,   0 Nov  8 22:18 /dev/disk0
brw-r-----  1 root  operator    1,   1 Nov  8 22:18 /dev/disk0s1
brw-r-----  1 root  operator    1,   2 Nov  8 22:18 /dev/disk0s2
brw-r-----  1 root  operator    1,   3 Nov  8 22:18 /dev/disk1
brw-r-----  1 root  operator    1,   4 Nov  8 22:18 /dev/disk1s1
brw-r-----  1 root  operator    1,   5 Nov  8 22:18 /dev/disk1s2
brw-r-----  1 root  operator    1,   7 Nov  8 22:18 /dev/disk1s3
brw-r-----  1 root  operator    1,   6 Nov  8 22:18 /dev/disk1s4
brw-r-----  1 root  operator    1,   8 Nov 25 20:49 /dev/disk2
brw-r-----  1 root  operator    1,  10 Nov 25 20:49 /dev/disk2s1
brw-r-----  1 root  operator    1,   9 Nov 25 20:49 /dev/disk2s2
br--r-----  1 root  operator    1,  11 Nov 13 20:15 /dev/disk3
br--r-----  1 root  operator    1,  12 Nov 13 20:15 /dev/disk3s1
br--r-----  1 root  operator    1,  13 Nov 13 20:15 /dev/disk3s2
br--r-----  1 root  operator    1,  14 Nov 20 23:05 /dev/disk4
br--r-----  1 root  operator    1,  16 Nov 20 23:05 /dev/disk4s1
br--r-----  1 root  operator    1,  15 Nov 20 23:05 /dev/disk4s2
brw-r-----  1 root  operator    1,  17 Nov 25 21:48 /dev/disk5
brw-r-----  1 root  operator    1,  18 Nov 25 21:48 /dev/disk5s1
brw-r-----  1 root  operator    1,  19 Nov 25 21:48 /dev/disk5s2

diskutil でも確認してみます。

diskutil list

コマンドの実行結果です。

/dev/disk0 (internal):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                         500.3 GB   disk0
   1:                        EFI EFI                     314.6 MB   disk0s1
   2:                 Apple_APFS Container disk1         500.0 GB   disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +500.0 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            263.9 GB   disk1s1
   2:                APFS Volume Preboot                 66.9 MB    disk1s2
   3:                APFS Volume Recovery                1.0 GB     disk1s3
   4:                APFS Volume VM                      6.4 GB     disk1s4

/dev/disk2 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        +2.0 TB     disk2
   1:                        EFI EFI                     209.7 MB   disk2s1
   2:                  Apple_HFS Time Machine Backups    2.0 TB     disk2s2

/dev/disk3 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     Apple_partition_scheme                        +24.2 MB    disk3
   1:        Apple_partition_map                         32.3 KB    disk3s1
   2:                  Apple_HFS Flash Player            24.2 MB    disk3s2

/dev/disk4 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     Apple_partition_scheme                        +24.3 MB    disk4
   1:        Apple_partition_map                         32.3 KB    disk4s1
   2:                  Apple_HFS Flash Player            24.2 MB    disk4s2

/dev/disk5 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *32.4 GB    disk5
   1:             Windows_FAT_32 boot                    45.3 MB    disk5s1
   2:                      Linux                         32.3 GB    disk5s2

microSD カードのフォーマット

diskutil コマンドで、microSD カードをフォーマットします。まず、ヘルプを確認します。

diskutil eraseDisk --help

コマンドの実行結果です。

Usage:  diskutil eraseDisk format name [APM[Format]|MBR[Format]|GPT[Format]]
        MountPoint|DiskIdentifier|DeviceNode
(Re)-partition a whole disk (create a new partition map). This completely
erases any existing data on the given whole disk; all volumes on this disk
will be destroyed. Format is the specific file system name you want to erase it
as (HFS+, etc.). Name is the (new) volume name (subject to file system naming
restrictions), or can be specified as %noformat% to skip initialization
(newfs). You cannot erase the boot disk.
Ownership of the affected disk is required.
Example: diskutil eraseDisk JHFS+ UntitledUFS disk3

というわけで、私は下記のように FAT32 でフォーマットしてみました。デバイス番号は個々の環境で異なるかと思います。この数値を間違えると取り返しの付かないことになる可能性があるため、細心の注意を払う必要があります。

diskutil eraseDisk FAT32 PI MBR /dev/disk5

コマンドの実行結果です。

Started erase on disk5
Unmounting disk
Creating the partition map
Waiting for partitions to activate
Formatting disk5s1 as MS-DOS (FAT32) with name PI
512 bytes per physical sector
/dev/rdisk5s1: 63240000 sectors in 1976250 FAT32 clusters (16384 bytes/cluster)
bps=512 spc=32 res=32 nft=2 mid=0xf8 spt=32 hds=255 hid=2048 drv=0x80 bsec=63270912 bspf=15440 rdcl=2 infs=1 bkbs=6
Mounting disk
Finished erase on disk5

diskutil で確認してみます。/dev/disk5 が FAT32 でフォーマットされています。

diskutil list

コマンドの実行結果です。


(snip)

/dev/disk5 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *32.4 GB    disk5
   1:                 DOS_FAT_32 PI                      32.4 GB    disk5s1

microSD カードのアンマウント

microSD カードがマウントされている状態では Raspbian のイメージを書き込めないため、アンマウントします。

diskutil unmountDisk /dev/disk5

コマンドの実行結果です。

Unmount of all volumes on disk5 was successful

なお、アンマウントしない状態でイメージを書き込もうとすると、下記のようなメッセージが出力されます。

dd: /dev/rdisk5: Resource busy

microSD カードへのイメージ書き込み

ダウンロードした Raspbian の ZIP ファイルを解凍し、イメージファイルを取得します。

unzip 2018-11-13-raspbian-stretch-lite.zip

解凍された拡張子が img のイメージファイルを dd コマンドで microSD カードに書き込みます。of で指定するデバイス番号は個々の環境で異なるかと思います。この数値を間違えると取り返しの付かないことになる可能性があるため、細心の注意を払う必要があります。

sudo dd bs=1m if=2018-11-13-raspbian-stretch-lite.img of=/dev/rdisk5 conv=sync

コマンドの実行結果です。2分程度で書き込みが完了しました。

1780+0 records in
1780+0 records out
1866465280 bytes transferred in 111.155466 secs (16791484 bytes/sec)

diskutil で確認してみます。

diskutil list

コマンドの実行結果です。この時点では Linux (Raspbian) としては 1.8GB ですが、Raspbian 起動時に microSD カードの容量まで拡張されるため、安心ください。


(snip)

/dev/disk5 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *32.4 GB    disk5
   1:             Windows_FAT_32 boot                    46.0 MB    disk5s1
   2:                      Linux                         1.8 GB     disk5s2

microSD カードの取り出し

最後に microSD カードを取り出します。

diskutil eject /dev/rdisk5

コマンドの実行結果です。これで macOS から microSD カードを取り外すことができます。

Disk /dev/rdisk5 ejected

Raspbian の起動

Raspberry Pi に

  • キーボード
  • モニタに接続された HDMI ケーブル
  • ネットワークに接続された LAN ケーブル

を接続し、microUSB 経由で電源を供給し、Raspbian を起動します。

モニタにログイン画面が表示されれば Raspbian のインストールに成功しています。

Raspbian のデフォルトのユーザー名は pi、そのパスワードは raspberry です。

Raspbian の各種確認

カーネルのバージョンを確認してみます。

uname -a
Linux raspberrypi 4.14.79-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 armv7l GNU/Linux

ディスク使用状況を確認してみます。今回、32GB の microSD カードを使用していますが、きちんと容量一杯に使用領域が拡張されていることが分かります。

df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        30G  1.1G   28G   4% /
devtmpfs        460M     0  460M   0% /dev
tmpfs           464M     0  464M   0% /dev/shm
tmpfs           464M  6.2M  458M   2% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           464M     0  464M   0% /sys/fs/cgroup
/dev/mmcblk0p1   44M   23M   22M  51% /boot
tmpfs            93M     0   93M   0% /run/user/1000

OS の情報を確認してみます。Debian 9 (stretch) ベースですね。

cat /etc/os-release 
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

Raspbian の SSH 設定

Raspbian は初期状態で APT で SSH がインストールされています。しかし、Raspbian のデフォルトでは SSH が無効化されています。よって、SSH がインストールされているものの使用できない状態となっています。

リリースノートの 2016-11-25 に記述されています。

http://downloads.raspberrypi.org/raspbian/release_notes.txt

2016-11-25:
* SSH disabled by default; can be enabled by creating a file with name “ssh” in boot partition

SSH を有効にするために、/boot 下に ssh という名前の空のファイルを作成し、Raspbian を再起動します。

sudo touch /boot/ssh
sudo reboot

Raspbian 再起動後、他のコンピュータから SSH で接続できることを確認します。

おわりに

それでは良いラズパイライフを!

Raspberry Pi
スポンサーリンク
コピペワールド