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
としたあと、しばらく待って、黄色い光が消灯してから電源ケーブルを抜けばいい。