RaspberryPi3(ModelB)の環境構築
2017-07-16
- PC
Raspberry Pi 3(Model B RS版)を購入したので、環境構築からLチカまでのメモを書く。
…と思ったが環境構築だけでけっこうな量になったのでLチカは別にする。
用意するもの
- Raspberry Pi 3 Model B
- microSDカード
今回は32GBのを使ったが8GBもあれば十分なはず。 - PC
microSDカードにOSを焼くために必要。あとSSHするためにも必要。今回はUbuntu 16.04を使用。 - microSDカードライタ
microSDカードにOSを焼くために必要。 - ACアダプタ
手元にあった1Aのを使った。Power Supply - Raspberry Pi Documentationでは2.5A以上を推奨みたいに書いてある。
Raspiの電源コネクタはmicroUSBなので、これに挿せるものを用意しておく。
OSをmicroSDカードに焼く
Raspbianのダウンロード
Ubuntu16.04で作業する。
RasPi標準OS。Debianベース。
Download Raspbian for Raspberry Piから"Raspbian Jessie with desktop"を落とす。Torrentが早いはず。 落としたら解凍しておく。imgファイルになる。
microSDカードの準備
Ubuntu16.04で。
-
先に
df -h
をしておく -
microSDカードライタにmicroSDカードを挿してPCにつなぐ
-
再び
df -h
する -
新しく加わった行の左端の
/dev/sdX1
(Xはbとかcとか)のような表示がmicroSDカードなのでこれを覚えておく -
microSDカードをアンマウントしておく
sudo umount /dev/sdX1
-
microSDカードをFAT32にフォーマット
やらなくてもいいかもしれないが。gpartedでやった。
フォーマットするデバイスがmicroSDカードに間違いないか、よく確かめること。ミスると関係ないデバイスをフォーマットするので。
なお、上のように df -h
で検出できるのはmicroSDカードが自動的にマウントされる場合だけのはず。
2回目の df -h
で、新しい項目が出ないようなら、代わりに lsblk
をすれば出る。
microSDカードに焼く
これもUbuntu16.04で。ddで焼く。microSDカードはアンマウントしたまま。ファイル名は先ほど落として解凍したものを書く。
sudo dd bs=4M if=2017-06-21-raspbian-jessie.img of=/dev/sdX
たぶんbsの指定はいらないが、公式に書いてあるのでその通りにやる。
注意するのは、先ほどmicroSDカードは /dev/sdX1
のように出てきたと思うが、ddでの指定は /dev/sdX
とすること。
Installing operating system images - Raspberry Pi DocumentationとInstalling operating system images on Linux - Raspberry Pi Documentationを見ればわかる。
書き込みが終わったらmicroSDカードライタごとPCから外す。
ssh関連の設定
普通はこれからRaspiをモニタやキーボードとつないで操作する。または有線LANでつないでsshして操作する。
だが面倒だし、せっかくRaspi3には無線LANがついてるので、無線でつないでsshする。
すぐできると思ったがけっこう面倒だった。
以下もすべてUbuntuでの作業。
-
もう一度、microSDカードライタをPCに挿す
-
df -h
する -
microSDカードがマウントされていることを確認。されてないならマウントする
ddしたあとは/dev/sdX1
はブート領域になっていて、/dev/sdX2
がOSになっていた。環境によって違うかもしれないので、OSの入っている場所を確認しておく。(容量をみればわかる。大きな方がOS。)
マウントされている場合はdf -h
したときに/dev/sdX2
(OSの入っているパーティション)に対応する行の右端に、どこのディレクトリにマウントされているかが表示される。
マウントするときは以下のようにする。sudo mkdir /mnt/sdcard sudo mount -t vfat /dev/sdX2 /mnt/sdcard
-
/boot/ssh
というファイルを作成する
raspberry pi 3でSSH接続できない? - Qiitaを参照。
/mnt/sdcard/
にRaspbianがマウントされているとしてtouch /mnt/sdcard/boot/ssh
-
wpa_supplicantの設定 使いたい無線LANのSSIDとパスワードを用意して
wpa_passphrase <SSID> <PASSWORD>
これをやると
network={ ssid="......" #psk="......" psk=...... }
のようなのが出る。
-
wpa_supplicantの設定(つづき)
cd /mnt/sdcard/etc/wpa_supplicant/ sudo cp -a wpa_supplicant.conf wpa_supplicant.conf.bak sudo vim wpa_supplicant.conf
このファイルの末尾に、上の出力をまるごとコピペして保存。
-
アンマウント
RasPi起動
microSDカードとACアダプタを挿して起動。
sshで接続
-
RaspiのIPアドレスを確認
arp-scanでやった。他に方法を知らない。
Ubuntuでip a
(古いPCはifconfig
かも)して自分のPCのネットワークインターフェースを確認。enp0s31f6
とかwlan0
とかeth0
とかそういうやつ。
このインターフェースに対しsudo arp-scan -l --interface <INTERFACE>
これでネットワーク内のデバイスが出てくるはず。どれかがRaspi…のはず。何回かやらないと出てこない気もする。
-
接続
上で確認したIPアドレスにsshする。初期設定ではユーザ名: pi、パスワード: raspberry。ssh -v pi@<IP_ADDRESS>
"Are you sure you want to continue connecting (yes/no)?"とか聞かれたらyesと答えておく。そのあとパスワードを聞かれるのでraspberryと打つ。
これでログインできるはず。
基本設定
以下はRaspiにsshしての作業。なので結局Ubuntu。
sudo raspi-config
設定項目がいろいろあるが、最低限の設定だけ行う。
raspi-config - Raspberry Pi Documentation参照。
パスワードの変更
"1 Change User Password"を選択して変更。(これやってもユーザ名はpiのまま。)
ファイルシステム拡張
"7 Advanced Options" を選択し、その中の "A1 Expand Filesystem"を選択。
再起動
"Finish"して再起動。
これでとりあえず使えるようになったはずだ。
なお電源を落とすときは
sudo poweroff
としたあと、しばらく待って、黄色い光が消灯してから電源ケーブルを抜けばいい。