Raspbian インストール

Raspberry Pi 3 に、NOOBS v2.3 2017.3.3 時点のものを使って Rasbian をインストールし、簡単な初期設定まで行う備忘。

準備物

ハードウェア

  • Raspberry Pi 3
  • USB キーボード
  • USB マウス
  • モニタ(HDMI 接続がなければ変換コネクタも必要)
  • HDMI ケーブル
  • 電源 (microUSB type B)
  • MicroSD Card (16GB((公式サイトでは 8 GB)))


ソフトウェア

  • NOOBS v2.3


ネットワーク系

  • ダイアルアップルータ
  • ネットワークケーブル
  • 無線 LAN 装置

インストール

構成は、RPi3 + NOOBS v2.3 - Built: Mar 3 2017


まずは Windows 端末での操作。
Raspberry Pi 公式サイトから NOOBS をダウンロードしてきて、解凍して出来た中身を、全てSDカードへ書き込み。
ちなみに、SD カードは買ってきて初期化もせずに利用していたりする。


これを、キーボード、マウス、ディスプレイといったデバイスが挿された Raspberry Pi 3 にセットして、電源を入れれば OS インストール用ソフトが立ち上がる。
……この OS インストール用ソフトは、なにを使っているんだろう?


最初、Network に接続しないで起動したら、インストール対象 OS が Raspbian [RECOMMENDED] しか表示されなかった。
Wifi networks(w) 」をクリックすると、近くの無線LAN親機(SSID) が表示されたので、それに WPS で接続。
LibreELEC_RPi2 など、NOOBS Lite で起動した場合にも表示される、いろいろな OS が表示されるように。
さすが、標準で無線LAN機能を持つ Raspberry Pi 3 だと思った。


まぁ、Network 接続せずに Raspbian をインストールするんだけど…。


で、Language を「日本語」に、Keyboard を「JP」に変更。


使用可能な容量は、13528 MB で認識されている。
Raspbin だけなので、インストール時点で必要なディスクスペースとしては、4024MB だった。


そうしたら、左上の「インストール(i)」をクリック。
確認のダイアログメッセージボックスで、次のように表示された。


警告:この操作で選択したOSがインストールされます.すでにインストール済みのOSを含め,SDカードの既存のデータは上書きされます.


これは「はい」を選択。
インストールが開始される。


フォーマットが行われた後、ファイルシステムを展開している。
「3518 MB 中 xxxx MB 書き込み済み(2.8 MB/秒)」と表示されているので、最低限インストールに必要なのが 4GB なんだってよくわかるね。
公式ガイドでは、8GB を指定しているけど。


時間は計ってないけど、1時間くらい?
……転送速度が 2.8 MB/秒と表示されているので、3518 / 2.8 → 約1,292秒 = 21分程度か。


「OS のインストールに成功しました」と表示されるので、OKを選択。
再起動されて、pi ユーザで自動ログイン状態まで進む。

ネットワーク接続

Terminal を起動して、ifconfig を打ってみるも、IPアドレスはなにも振られてない。
むぅ?
インストーラから Raspbian には、設定が引き継がれないのか…。
そして ntp がきちんと動かないことによる、めちゃくちゃな時間表示。


なにやるにしても、まずはネットワーク接続からかな。
こちらを参照してみる。
http://qiita.com/CLCL/items/5be3a7beda4e76c78205


$ sudo wpa_cli wps_pbc
僕の環境では、きちんと動作しなかった。
うーん、なんでだろう……、ヘルプ表示を見てみる。


$ sudo wpa_cli
> help


一応、コマンドで利用できるオプションを確認していく。


wps_pbc [BSSID] = Wi-Fi Protected Setup: Push Button Configuration


と表示されている。
BSSID ってなんだ?


> scan
> scan_results


いろいろ実行してみたが、ここで bssid / frequency / signal level / flags / ssid が表示された。
BSSID って、MAC アドレスのこと?
ここでググってみたけど、どうやら BSSID = MAC address では無いものの、普通は同じ値が設定されるものらしい。
なら、無線 LAN 親機の WPS ボタンを押してから、次のコマンドを入力してみる。

> quit


うし、認証成功。
ここで ifconfig を実行したところ、きちんとプライベートIPアドレスが振られていた。


いったん、Raspberry Pi 3 を WPSWi-Fi 接続する場合のコマンドをまとめてみる。

$ sudo wpa_cli
> scan
> scan_results
【ここでおもむろに WPS ボタンもしくは AOSS ボタンを押す】
> wps_pbc <MACアドレス>
> quit


ここですぐに SSH 接続できないかなーと思って試してみたけど、やっぱり無理だった。
初期設定として raspi-config を実行し、各種設定をいれないとだめだね。


なので、raspi-config での SSH 有効化ついでに初期設定を行う。
(ちなみに GUI でも設定できるけど、今回は割愛)

$ sudo raspi-config
  1 Change User Password
  2 Hostname
  3 Boot Options
    B1 Desktop / CLI
  4 Localisation Options
    I1 Change Locale
    I2 Change Timezone
    I4 Change Wi-fi Country
  5 Interfacing Options
    P2 SSH

やることは、ユーザパスワードの変更、ホスト名の変更、電源ONによる起動時の自動ログイン、ロケールタイムゾーンSSH 有効化等。
上から順に設定していけば、あんまり迷わず対応できるはず。
Japan だったり ja_JP.UTF-8 だったり Tokyo だったりと、ちょっと考え込むところはあるかもしれないけど。


この時点の NOOBS 利用による OS インストールでは、Expand Filesystem を利用する必要はないのでパス(インストール終了時点で対応される)。


ネットワークが繋がったら、まずは全体をアップデート。

sudo apt-get update
sudo apt-get upgrade


ここで sudo rpi-update によるアップグレードをしてはいけない ……と、公式ガイドのどこかで読んだ気がする。


あ、Pi-Camera の利用ガイドで読んだのか。
http://picamera.readthedocs.io/en/release-1.10/install2.html

Previously, these documents have suggested using the rpi-update utility to update the Pi’s firmware; this is now discouraged. If you have previously used the rpi-update utility to update your firmware, you can switch back to using apt to manage it with the following commands:


ただ、する必要はない、と公式フォーラムに言及はある。
rpi-update を使うのは、古い情報だと。


https://www.raspberrypi.org/forums/viewtopic.php?t=58963


昔ならともかく、今は apt-get upgrade でファームウェアも更新されるとのこと。


で、好みでいろいろインストール。

$ sudo apt-get install manpages-ja
$ sudo apt-get install sysstat
$ sudo dpkg-reconfigure sysstat
$ sudo apt-get install sleepenh
$ sudo apt-get install bc


ログイン時に読み込むファイルも、好みで更新。

$ cp -p .bashrc .bashrc.$(date +%Y%m%d)
$ vi .bashrc
$ diff .bashrc .bashrc.$(date +%Y%m%d)
91,93c91,93
< alias ll='ls -l'
< alias la='ls -A'
< alias l='ls -CF'
---
> #alias ll='ls -l'
> #alias la='ls -A'
> #alias l='ls -CF'


root のパスワード設定も忘れちゃいけない。

$ sudo passwd
$ su -
# exit
$ 


起動時に IP アドレスをメール送信する設定も入れておく。

$ sudo apt-get install ssmtp mailutils mpack
$ sudo cp /etc/ssmtp/ssmtp.conf /etc/ssmtp/ssmtp.conf_$(date +%Y%m%d)
$ sudo vi /etc/ssmtp/ssmtp.conf
-------------------------------
#
# Config file for sSMTP sendmail
#
root=<自身の Gmail アドレス>
mailhub=smtp.gmail.com:587
hostname=raspberrypi

AuthUser=<自身の Gmail アドレス>
AuthPass=<生成したアプリパスワード>

FromLineOverride=YES
UseSTARTTLS=YES
AuthLogin=YES
-------------------------------
$ mkdir script && cd script
$ pwd
/home/pi/script
$ vi powon.sh
-------------------------------
#!/bin/sh
hostname -I | /usr/bin/mail -s "RPi IP addr" "xxx@example.jp"
-------------------------------
$ chmod +x powon.sh
$ sudo crontab -e
-------------------------------
@reboot  /home/pi/script/pow-on_mail.sh > /dev/null &
-------------------------------
$ 


んー。まずは、こんなもん?


他になにかやりたいことにあわせて、調整かなぁ


追記(2017.3.28)

visudo とか、何かにつけて nano が起動するのがウザくて仕方ない。

# sudo update-alternatives --config editor

これで vim を選択しておくと、精神的に落ち着く。


nano のほうが直観的でわかりやすい…… というのは否定できないけど、一度 vi を覚えると、頭の中で起動している vi と連携を取りやすいよね。