Raspberry Pi zero W のヘッドレスインストール(キーボードやマウスなしでRaspbianをインストールする方法)

公式Raspberry Pi OS

ヘッドレスインストール(Headless Install)とは、Raspberry Piにキーボードやマウス、ディスプレイを繋がずにRaspbian(OS)をインストールする方法です。

Raspberry Pi zero WのようにWi-Fiが搭載されていて、OS側でも比較的簡単な仕組みが用意されていると誰でも楽にセットアップできます。

Raspberry Pi 本体に電源のみを接続し、SDカードにOSイメージを書き込んで、Wi-Fi環境からSSHでログインしセットアップをします。

様々なサイトで紹介されていますが、Wi-Fiの部分を試行錯誤してまとめてみました。環境によって変わる箇所であり、ご参考になればと思います。

今回の環境と使用したパーツ類

今回は電源にモバイルアダプターを使用しました。

  1. RASPBIAN JESSIE WITH DESKTOP(2017-07-05-raspbian-jessie.img)
  2. 作業はiMac(2011)
  • Raspberry Pi Zero W
  • モバイルバッテリー Cheero Power Plus3
  • microSDカード32GB

電源はモバイルアダプターではなく、AC電源のコンセントで構いません。Raspberry Pi Zero Wならバッテリーで充分駆動するから便利です。

写真で見るとこのような構成です。

rpi0wncheero

SSHの有効化

なお、現在のRaspbianOSでは、デフォルトではSSHが無効になっています。

初めての起動からSSHを有効にするには以下のように/bootディレクトリに空の”ssh”というファイルを作成すればOKとのこと。(拡張子なしでファイル名がssh)

So we’ve provided a simple mechanism for enabling SSH before an image is booted.

The boot partition on a Pi should be accessible from any machine with an SD card reader, on Windows, Mac, or Linux. If you want to enable SSH, all you need to do is to put a file called ssh in the /boot/ directory. The contents of the file don’t matter: it can contain any text you like, or even nothing at all. When the Pi boots, it looks for this file; if it finds it, it enables SSH and then deletes the file. SSH can still be turned on or off from the Raspberry Pi Configuration application or raspi-config; this is simply an additional way to turn it on if you can’t easily run either of those applications.

A security update for Raspbian PIXEL - Raspberry Pi
https://www.raspberrypi.org/blog/a-security-update-for-raspbian-pixel/

SSHファイルの作成

方法1:Macの場合、テキストエディットで新規作成後に何も記入せず、ssh.txtで保存後、ファイルの名前変更で.txtを削除します。

方法2:Macのターミナルからtouchコマンドを利用

touch /Volumes/boot/ssh

SSHファイルが初回起動時にboot直下に存在した場合、SSHを有効にして、その作成した空のSHHファイルを削除するという仕組みです。また、次に説明するWi-Fiの設定ファイルもまた同じような動きで、本来のファイルを置き換えて、作成したファイルは削除することなります。

これが通らないと起動後にネットワークを通じてRaspberry Pi zero Wに入れません。正に手も足も出ない状態になってしまいます。

ヘッドレスインストールなのでモニターで確認できません。どういう仕組みか理解しているとトラブルの対応も分かり易いです。

Wi-Fiの設定ファイルの作成

無線LANにそのまま接続できるようにWi-FiアクセスポイントのSSID及びパスワードを記載した”wpa_supplicant.conf ”を作成します。

network={ ssid="YOUR_WIFI_SSID" psk="YOUR_WIFI_PASSWORD" key_mgmt=WPA-PSK }

やはり同じようにテキストエディットでタイプした後、wpa_supplicant.conf.txtで一旦は保存してファイル名の変更から.txtを削除します。

Macですからあまり気にしませんが、改行コードはLF、文字エンコーディングはUTF-8です。Macならばテキストエディットで保存するだけです。

この”wpa_supplicant.conf ”の中身を説明します。サイトにより様々でWi-Fiに繋がらないことがあったため改めて記述します。

当環境は、一般的なWPA2のAES暗号化方式です。ちなみに使用しているルーターは、NEC製品のAterm WH822Nです。プロバイダはauのコミュファ光になります。

以下の記述により、合っているのですが、ここまで書かなくてもWi-Fiには繋がります。

 ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
 update_config=1
 country=JP <- Wi-Fiの国別コード
 network={
 ssid="myhome_ssid" <- 接続する予定のWi-FiのSSID""で括る
 #psk="myhome_passwd" <- 最後に消す
 psk=hogehogehogehogehogehogehogehogehogehogehoge <- 暗号化されたパスワード
 proto=WPA <- 暗号プロトコルWPA(RSNの記載もありましたがWPAで良いでしょう)
 key_mgmt=WPA-PSK <- 暗号キーマネジメント
 pairwise=CCMP <- AESの場合はCCMP
 group=CCMP <- こちらもAESなのでCCMP
 scan_ssid=1 <- SSIDがステルスならば1、デフォルトは0
 }

最低限に必要な項目は、

network={
ssid="myhome_ssid" <- 接続する予定のWi-FiのSSID""で括る
#psk="myhome_passwd" <- 最後に消す
psk=hogehogehogehogehogehogehogehogehogehogehoge <- 暗号化されたパスワード

SSIDとパスワードだけです。各項目が分からない場合は、上記の最低限で用意してください。仮に通らなかった場合は何か間違っているか、パラメーターが足りないかも知れません。

ただ、私がハマったのが、パスワードが平文の文字では接続できませんでした。そのため、パスフレーズを一旦は256bitの暗号化をする必要があります。

これはRaspbian上のターミナルコマンドで変換できるのですが、他のRaspbian環境か、他のLinux環境がないとコマンドが実行できません。Macにはありません。

暗号化はLinux環境が必要

暗号化方法:Linux環境で以下のコマンドです。

wpa_passphrase "XXXX(SSID)" "hogehoge(PASSWORD)"

SSIDもパスフレーズもダブルコーテーションで括ります。

暗号化したキーを記述するにはダブルコーテーションは付けないで、PSK=に続いて記述します。長いのでコピー&ペーストします。

パスフレーズが平文の場合はダブルコーテーションで括る必要があります。面倒ですがセキュリティ面でも安心です。

\ Raspberry Pi 4はメモリー8GBが最新 /

【セット概要】「データーベース」「Webサーバー」「NAS」「AI処理」「4K画像での2画面処理」などの高負荷がかかる処理を、長時間稼働させるのに必要な負荷テスト行い、当社で厳選した高品質なパーツを組み合わせたセットです。高品質なAnker製USB電源の採用、トラブルの原因になりやすい電源周りをデジタルモニターリングできるをType-Cケーブル、Raspberry財団認定モデル 高速タイプ 100MB/sec 128GB MicroSD、静音FANによる強制冷却など、高負荷運用でも長期に渡る安定稼働が可能です。また単品でご購入いただくよりお得です。

Raspbian OSの書き込みと準備

ステップ1 SDカードをフォーマット

ステップ2 EtcherでSDカードに書き込む

※分からない方はリンク先をご覧ください。

ステップ3 空のSSHファイルと”wpa_supplicant.conf ”をコピー

2つのファイルをSDカードの/boot直下にコピーします。

ファイルのコピー
/boot直下のファイル一覧

なお、初回起動時、Wi-Fiが繋がらない場合でも、このboot直下の追加した2つのファイルが無くなっていれば、SSHは有効のまま、Wi-Fiの設定ファイルもコピーされたという考えで良いです。その記述が間違っていたか足りないために動作しないと思われます。

また、Wi-Fiの設定ファイル(wpa_supplicant.conf)は何回でも書き換えてトライできます。Macなり母艦にSDカードを挿し、書き換えた.confファイルを同じようにまた配置してあげてください。この時、SSHファイルは要りません。

最終的に以下で問題なく動作しました。(Wi-Fiに自動的に繋がりMacからSSHでアクセスできました)

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
ssid="WARPSTAR-XXXXXX"
psk=XXXXXXXXXXXXXXXXXXXXXXX
key_mgmt=WPA-PSK
}

ケアレスミスで良くあるのが、余分なスペースを入れてしまうことです。見た目は同じでもTABや改行コードとは違い、空白スペースがあると読み込みが止まります。

空白スペースは無くして作成してください。

以下のキャプチャはCotEditorで不可視を薄いグレーで表示されている例です。

wpa_supplicantのコピー_conf
wpa_supplicant.conf

起動とインストール

SDカードをMacから抜いたら、Raspberry Pi zeo Wへ入れ、電源を繋いで起動させます。

今回はヘッドレスインストールなので進行状況は分かりませんが、緑色のLEDが点滅しますので、それが点灯するまでしばらく待ちます。およそ1分以内です。

MacのターミナルでSSH接続する

準備したファイルに間違いがなければ、Raspberry Pi zero Wは起動してWi-Fiネットワークへ自動的に接続し、SSHも有効になっています。

Macのターミナルから

ssh pi@raspberrypi.local

sshのパスワードを聞かれるので、raspberryと入力してください(画面にはタイプした文字は出ません)

初期値(デフォルト)のIDは、

pi

パスワードは、

raspberry

初期セットアップ

単にSSHで繋がればインストール自体は終わっています。通常通りにセットアップするだけです。

sudo raspi-config

日本のロケーションに合わせた設定で日本語になります。

これらはヘッドレスインストールではなくても共通なのでこちらの記事でご紹介します。

モニターがないのは不便な面もありますので、SSHで繋がった後は、VNCを有効にしてMacなりえ仮想画面を表示して操作した方が良いかも知れません。ただ、zeroは反応が遅いので、イライラするかも知れません・・・。

接続できない?!

raspberrypi.localが名前解決出来ていないかも知れません。
Raspberry Pi zero WのIPアドレスを調べて、@以下を192.168.X.XXのように入力してみてください。

IPアドレスの調べ方はいくつかありますがMacAPPの「LanScan」やiPhone/iPadで使える「Fing」が無料でありながら見やすく分かり易く簡単で良かったです。

Fing
https://www.fing.io
LanScan
https://debookee.com

Wi-Fiに接続できない方が多いのか、公式の会議室に同じような問題の質問がありました。

PI ZERO W WIFI ISSUES ON RASPBIAN IN HEADLESS MODE

I've received my Zero W yesterday, installed Raspbian Jessie Lite 2016-11-25 version on headless mode. I could not see wifi interface when I type "ifconfig" command. Then I installed the latest 2017-02-16 version of Raspbian Lite. But then the device blinked twice didn't boot up at all. Thought it was a faulty sd card but I'm using it now on my Rpi2 recalbox installed with no issues.

Am I missing something obvious?

Wi-Fi関係のファイルは主に3つ

  1. wpa_supplicant.conf
  2. /etc/network/interfaces
  3. /etc/dhcpcd. conf

ただ、今回のヘッドレスインストールでは、1のwpa_supplicant.confのみの設定で繋がります。

2のinterfacesは特に触らなくても大丈夫です。

3のdhcpcd.confは固定IPに設定したい場合に書き換えますが、どちらも一度セットアップしてから変更してあげれます。

現在、2のinterfacesは使用しません。

特に2のinterfacesを説明しているサイトは多いですが、固定IPやゲートウェイの記述はdhcpcd.confに書くことが一般的になっているそうで、敢えて書き換える必要はありません。

/etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet manual
auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

参考にした主なサイト

  • http://www.angelcurio.com/raspberrypi/index.php?Raspberry%20Pi%2F無線LAN%2Fその1-とりあえずつないでみる実験
  • http://qdosmsq.dunbar-it.co.uk/blog/2016/01/raspberry-pi-pizero-raspbian-jessie-networking-and-wifi-setup/
  • http://qiita.com/yosi-q/items/c677e4650b22ffffa806
  • http://netbsd.gw.com/cgi-bin/man-cgi?wpa_supplicant.conf+5+NetBSD-current
  • http://news.mynavi.jp/column/osxhack/095/
  • https://www.raspberrypi.org/forums/viewtopic.php?&t=42670
  • http://qiita.com/grgrjnjn/items/8ca33b64ea0406e12938

おまけ

Wi-Fiのモジュールはは省電力で自動的に動作しています。多少はスキャンに影響が出る場合もあるかも知れません。省電力でなくすコマンドは以下です。

sudo iw dev wlan0 set power_save off

raspi-configの説明に続く…

ラズパイダ

ラズパイダ

学べる楽しむ便利になる。小さいくせにヤケにパワフル。そんなRaspberry Pi をまだ知らない人に伝えたい。様々な場所で利用されているRaspberry Pi を知って「あっ、これもラズパイだっ!」だからラズパイダ!

関連記事

特集記事

コメント

この記事へのコメントはありません。

最近の記事 はじめて向け
  1. Raspberry Pi OS のバージョンアップ方法とaptについて

  2. 遊び半分、学び半分でRaspberry Piを活用しよう!

  3. Raspberry Pi Imager更新、イメージ選択数を計測のためデータ収集も

  4. 「fre:ac」はラズパイでもmp3やFLACに変換できる無料のオーディオコンバーター

  5. Googleアカウントスレージの規約変更でクラウドストレージを整理した話

  1. 【初心者向け】はじめてRaspberry Pi OS をダウンロードする人へ

  2. Raspberry Pi OS のインストールは、公式ツール1つだけでOK

  3. Webサーバーを公開したいならリスクも知ろうという話

おすすめの記事

  1. Raspberry Pi 4のOSをデスクトップPCとして使うためにUbuntuMATEをインストールしてみた

  2. ラズパイ4で動いたOS一挙に10選とおすすめのデスクトップ代替OS

  3. ラズパイで実用的な物を作るなら特化したOSから始めてみよう

  4. これも動く、風変わりなOS〜Raspberry Pi で動く様々なOS一覧まとめ13種類!

  5. ラズパイ(Raspberry Pi)を使ってできるメディアセンター3選

  6. Raspberry Pi とLibreELEC9.0で作るAmazonプライム・ビデオプレイヤー

今月の人気記事

  1. 1

    Raspberry Pi で動く様々なOS一覧まとめ13種類!

  2. 2

    ラズパイ4をUSB接続のSSDから起動する方法(USBブート)

  3. 3

    Raspberry Pi 4の初期設定2020年版

  4. 4

    初心者でもラズパイでNASサーバーを作ってみよう!

  5. 5

    Raspbian のWi-Fi設定(Raspberry Pi 初期設定)

  6. 6

    Raspberry Pi 4を起動したのにモニターに画面が映らない対処法

  7. 7

    ラズパイ4とOMV5(openmediavault5)で作る自宅NASサーバーの設定方法

  8. 8

    ラズパイで使うmicroSDカードの選び方

  9. 9

    Raspberry Pi 4のOSをデスクトップPCとして使うためにUbuntuMATEをインストールしてみた

  10. 10

    ラズパイ4はPCライクな性能になったけどPCではないよという話

記事ランキングページ

TOP