Raspberry Pi ZeroでRaspbianをディスプレイ/キーボードなしでセットアップする

headless-setup.png

Raspberry Pi ZeroやZero Wは小さいのが取り柄なので、マイコンボードのようにディスプレイなしで使いたくなると思います。
通常、Raspbianをセットアップするときだけはディスプレイとキーボードが必要になりますが、その作業を飛ばしていきなりSSHでログインできるようにセットアップする方法があります。

「Headless Setup」で検索するといろいろ出てきますが、以下の記事の通りにやってみたところ、無事ディスプレイ/キーボードなしでセットアップが完了しました。

Use Wifi in latest raspbian lite stretch in headless mode – Raspberry Pi Forums

やり方を抜粋すると、以下のようになります。

1.RASPBIAN STRETCH LITEEtcherでMicroSDカードへ書き込む。

2.いったんMicroSDカードを取り出し、再度PCへ挿入する。

3.MicroSDカードのFAT32のパーティションへアクセスできるので、ルートディレクトリを開く。

4.そこへ「ssh.txt」(または拡張子なしの「ssh」)という空のファイルを作っておく。

5.同じく、ルートディレクトリに「wpa_supplicant.conf」というファイルを作る。

6.wpa_supplicant.confの中身を以下のように編集する。(ssidとpskには、使用したい無線LAN APのSSIDとパスフレーズを入れておく。)

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=US

network={
ssid="Your network SSID"
psk="Your WPA/WPA2 security key"
key_mgmt=WPA-PSK
}

7.(Zero WでUART接続でシリアルコンソールを使いたい場合)config.txtを開き、「dtoverlay=pi3-disable-bt」という行を追記する。(Bluetoothが使えなくなる代わりにUARTが使えるようになります。)

8.MicroSDカードをRaspberry Piに挿入して起動する。

9.UART接続がある場合は、UARTからログインできる。ネットワーク経由の場合、Raspberry PiはIPアドレスをDHCPで取得するので、無線LAN APのログなどで割り当てられたIPアドレスを確認し、sshで「pi@IPアドレス」(パスワードはraspbian)に接続する。

2017-11-29版のRaspbian Stretch LiteとRaspberry Pi Zero Wの組み合わせでは、上記の方法でうまくいきました。最後のIPアドレスを調べるところだけ若干ハードルが高いかもしれませんが、UART接続ができればそれも不要です。

ちなみに、このヘッドレスインストールを試すことになったのは、誤ってRaspbianの入っているMicroSDカードのkernel.imgを別のファイルに上書きしてしまったからなのでした・・・。
別の起動ディスクから起動して、上書きしてしまったMicroSDカードのkernel.imgを復旧する方法が以下で紹介されています。

Manually place kernel.img on boot partition – Raspberry Pi Forums

ちなみに、正しいkernel.imgを単にコピーしなおすだけではうまくいかないはずです。

コメント