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に書き込み。
展開したimgファイルと書き込み先のSDカードリーダーを選択する。
書き込み完了したら一度microSDを取り出し、再度カードリーダーにセットする。
もしdd
コマンドを使用する場合はオプションに注意されたし。
参考:Raspbian2017-05以降のイメージはddコマンドで書き込む時に追加のオプションが必要 - あっきぃ日誌
ちょっとした準備
ネットワーク経由で設定するためにちょっとした小細工をしておく。
作業としては
- SSHを自動起動させる
- 無線LANのパスフレーズのセット
の2点。
Raspbian のイメージを書き込んだmicroSDをセットすると、Windows/macOSではboot
というバーティションしか表示されない。
というか、boot
だけアクセスできるようにWindows向けのファイルシステムになっている。
このboot
というパーティションにアクセスして簡単な作業をするだけ。
SSHのための設定
Finder でもターミナルでもなんでもいいので、boot
にssh
という名前のからのファイルを作る。
例えば、
$ touch /Volumes/boot/ssh
無線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"から言語周りを設定。
- "I1 Change Locale" :ロケールの生成と日本語をデフォルトに。
- "I2 Change Timezone" :タイムゾーンの設定
次に"5. "の"Interfaceing Options"からI/O周りの設定。
"P1 Camera"という項目を選択した状態でEnter。
"Yes" か "No"を訊いてくるので"Yes"
他の項目は適宜設定。
最初のメニューに戻って、Tabキーで"Finish"にカーソルを移動してEnterを押すと再起動するかどうかの確認メッセージが表示されるので、"Yes"にカーソルを移動してEnter。
パッケージの追加
この辺は個人の好みと使い方による。
- 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が届いているのでそっちで遊ぶのが先か。
【国内代理店版】Google AIY Voice Kit - 日本語「組み立てガイド」付属
- 出版社/メーカー: Google
- メディア: エレクトロニクス
- この商品を含むブログを見る
カラー図解 Raspberry Piではじめる機械学習 基礎からディープラーニングまで (ブルーバックス)
- 作者: 金丸隆志
- 出版社/メーカー: 講談社
- 発売日: 2018/03/15
- メディア: 新書
- この商品を含むブログを見る
*1:一台ずつセットアップしてホスト名を変えればいいのか