今日も微速転進

ここではないどこかへ

Raspbian のセットアップ(Raspbian Stretch 2017/11/29版)


スポンサーリンク

久しぶりにRaspbian のセットアップ(Raspbian Stretch 2017/11/29版)。

夏のうちにやろうと思いつつ放置状態だったので。

RaspbianというのはRaspberry Piという教育用の小型PC用のOS、です。あとはGoogle先生にお尋ねください。

OpenCV 3.4がもうじきリリースされるみたいなんで、環境を構築し直してもいいかな、と。

今年の夏ぐらいからDebian StretchベースになっているのでGUI環境はともかくかなり便利になっているはず。

旧バージョンでは諸事情でffmpegのパッケージの代わりにlibavが採用されていましたが、今後はその点を気にする必要がないというのは大きいです。

方針

旧バージョンからアップグレードも可能みたいですが、諸事情でモニタを処分したり色々しているので、マウスとかキーボードを接続せずにセットアップする方向で。

基本的にNOOBSは使わないです。

GUI関係はインストールしなくても後からVNC入れるとかやりようは色々あるので。

ダウンロードとmicroSDへの書き込み

手元のにWindowsマシンはないので以下のの手順はmacOS側で作業。

ダウンロード

とりあえず今回はGUIなしで。

"RASPBIAN STRETCH LITE"の方のリンクからダウンロード。

microSDへの書き込み

まずはダウンロードしたzipファイルを展開。

$ unzip 2017-11-29-raspbian-stretch-lite.zip
Archive:  2017-11-29-raspbian-stretch-lite.zip
  inflating: 2017-11-29-raspbian-stretch-lite.img

EtcherというソフトでmicroSDに書き込み。

f:id:atuyosi:20171222233001p:plain

展開したimgファイルと書き込み先のSDカードリーダーを選択する。

f:id:atuyosi:20171222175713p:plain

書き込み完了したら一度microSDを取り出し、再度カードリーダーにセットする。

もしddコマンドを使用する場合はオプションに注意されたし。

参考:Raspbian2017-05以降のイメージはddコマンドで書き込む時に追加のオプションが必要 - あっきぃ日誌

ちょっとした準備

ネットワーク経由で設定するためにちょっとした小細工をしておく。

作業としては

  • SSHを自動起動させる
  • 無線LANのパスフレーズのセット

の2点。

Raspbian のイメージを書き込んだmicroSDをセットすると、Windows/macOSではbootというバーティションしか表示されない。

というか、bootだけアクセスできるようにWindows向けのファイルシステムになっている。

このbootというパーティションにアクセスして簡単な作業をするだけ。

SSHのための設定

Finder でもターミナルでもなんでもいいので、bootsshという名前のからのファイルを作る。

例えば、

$ touch /Volumes/boot/ssh

Raspbian の起動時の仕掛け - Qiita

無線LAN(Wifi) の設定

同じ要領で無線LANに接続するための設定ファイルをbootというパーティションに配置すると自動的に適用される。

$ vim /Volumes/boot/wpa_supplicant.conf

上記ファイルに以下のように書き込んでおく。5行目のSSIDと6行目のパスフレーズを環境に合わせる必要あり。

country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
    ssid="your ssid"
    psk="your passphrase"
}

引用元:Raspberry Piの無線LANをmicroSDで設定する - Qiita

平文でパスフレーズを保存するのは好ましくないというのは確かにそのとおりだけど、それはラズパイの起動に成功してから修正すれば済む話では?

bootパーティションに作成したファイルは初回起動時に削除されるので、/etcの設定ファイルを編集する。

wpa_passphraseというコマンドでハッシュ化されたパスフレーズを生成できるので、これを設定ファイル(/etc/wpa_supplicant/wpa_supplicant.conf)に書き込めば良い。

あとは修正済みの設定ファイルを別のマシンにコピーしておくとセットアップし直す時に役に立つはず。

あとはmicroSDをカードリーダーから取り外して、ラズパイの本体にセットして電源を入れるだけ。

初期設定

最初の電源投入時はmicroSDのパーティションを拡張したりなんだかんだで時間がかかる。数分間のんびり待つ。

sshで接続する

環境にもよるけど、Avahi というデーモンのおかげで、ホスト名で接続できるのでpingを連打する必要はない。要するにBonjour のマルチキャスト DNS 機能と同じ。

$ ssh pi@raspberrypi.local

環境によってはこの方法は使えないので、ブロードバンドルーターなどのWifの親機か、pingコマンドで頑張るか、大人しくディスプレイを接続して確認するかのいずれかになる。

piというユーザーの初期パスワードはraspberryになっているので、速やかに変更する。

同一のサブネットにラズパイが複数存在する場合、ホスト名が自動的に修正されるのかどうかは試したことがないのでなんとも言えないでs*1

パスワード変更

前述のとおり、初期設定のままインターネットにつなぐのはよろしくないのでパスワードを変更する。

$ passwd
Changing password for pi.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

パスワード入力中のエコーバック(*が表示されたりするもの)はないので注意。

アップデート

aptコマンドで各種パッケージのアップデート。

まずはパッケージデータベースの更新。

$ sudo apt update

パッケージの更新。

$ sudo apt upgrade

なお、aptというコマンドはapt-getコマンドのフロントエンド。直接apt-getコマンドを実行してもいいですが、入力文字数が少ない方がラクなので。

raspi-configによる設定

GUIの設定メニューは使えないが、代わりにCLIの設定ツールがあるのでこれを使う。由緒正しきCLIの設定ツールという感じでカーソルキーの左右とTabキー、スペース、Enterで操作する。前の項目に戻るときはEscキーも使える。

$ sudo raspi-config

まず"4. "の"Localisation Options"から言語周りを設定。

f:id:atuyosi:20171222233031p:plain

  • "I1 Change Locale" :ロケールの生成と日本語をデフォルトに。
  • "I2 Change Timezone" :タイムゾーンの設定

f:id:atuyosi:20171222233051p:plain

f:id:atuyosi:20171222233136p:plain

f:id:atuyosi:20171222233142p:plain

次に"5. "の"Interfaceing Options"からI/O周りの設定。

f:id:atuyosi:20171222233204p:plain

f:id:atuyosi:20171222233217p:plain

"P1 Camera"という項目を選択した状態でEnter。

f:id:atuyosi:20171222233329p:plain

"Yes" か "No"を訊いてくるので"Yes"

f:id:atuyosi:20171222233347p:plain

他の項目は適宜設定。

最初のメニューに戻って、Tabキーで"Finish"にカーソルを移動してEnterを押すと再起動するかどうかの確認メッセージが表示されるので、"Yes"にカーソルを移動してEnter。

f:id:atuyosi:20171222233428p:plain

パッケージの追加

この辺は個人の好みと使い方による。

  • git
  • tmux
  • ag
  • rfkill
$ sudo apt install git tmux

後から色々追加するはず。

$ sudo apt install silversearcher-ag
$ sudo apt install rfkill

バージョン情報など

冒頭に書いたとおり、ベースのDebianのバージョンがStretchになった関係で基本的なパッケージがバージョンアップされています。 旧バージョンよりもaptでインストールできるパッケージが増えているのでデスクトップとしても結構使えるのではと思います。 例えばフォント周りとか。

Kernel

$ uname -a
Linux raspberrypi 4.9.59-v7+ #1047 SMP Sun Oct 29 12:19:23 GMT 2017 armv7l GNU/Linux

Python

pi@raspberrypi:~ $ python --version
Python 2.7.13
pi@raspberrypi:~ $ python3 --version
Python 3.5.3

gcc

$ gcc --version
gcc (Raspbian 6.3.0-18+rpi1) 6.3.0 20170516
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

その他

apt経由でインストールできるPHPは7.0、Ruby は2.3.3。

難点としてはNetatalkのバージョンが2.xのまま……。

まとめ

GUIなしのセットアップとしてはこんな感じかと。VNCサーバーについては後でセットアップする予定。


そもそもVoice Kitが届いているのでそっちで遊ぶのが先か。

*1:一台ずつセットアップしてホスト名を変えればいいのか

広告