Raspberry Pi 3にRaspbian Stretch/Jessieをセットアップする方法

Raspberry Pi 4 + Raspbian Buster向けセットアップ方法

 最新のラズパイ4とRaspbian Busterの組み合わせでの、ディープラーニング環境含めたセットアップ方法をまとめています。ラズパイ3でも、基本的に同じ方法でセットアップできます。

 今からセットアップする人は、こちらを参考にした方が簡単です。

 これ以降は、少し古い内容の記事になりますが、Macでddを使ってセットアップしたい人、Raspbian Stretch/Jessieを何らかの理由で使いたい人のために残しておきます。

Raspberry Pi 3買いました

 ついに買っちゃいました! f:id:karaage:20171013220600j:plain:w640

 技適もあるので、起動もできます!

 というわけで恒例のセットアップ方法を書いていこうと思います。基本的にはRaspberry Pi2+Raspbian Jessieでインストールするのとほとんど同じなのですが、細かい修正や、色々書き直したいところもあったので、思い切って今回1から書き直してみました。Raspberry Piは今までリモート接続してコマンドライン(CLI)で使うのが基本だったのですが、Raspberry Pi 3になってより性能アップしているので、GUIで使うのもよいかなと思い。GUI環境前提のセットアップにしてみました。

必要なもの(Amazonリンク)

 必要なものの例。USBキーボード、マウス、ディスプレイは省略しています。好きなものを使用ください。

Raspberry Pi 3。今回初めてケース付きのにしました。最初からケースに入っていて使い勝手良かったです。初心者にはケース付きがオススメかも

microSDカード。Jessieだと最低8GBは必要です。

HDMIケーブル。HDMI -> DVI変換のケーブルは、設定によって黒画になるケースがままあったのでHDMI対応のディスプレイを使うのがベターです。

Raspberry Pi 3の推奨電源は2.5A。ただ、そんな電源なかなか無いので2.4Aのこの製品を使用。ACタップもついてて、Raspberry Piと一緒に使うノートPCやディスプレイも充電できるので便利です。詳しくは下記記事参照。

電流測定したらアイドル状態だと0.3Aもいかなかったので、以下のような2A電源でも普通に使う分にはよほど大丈夫かとは思います。以下のような2A電源も使いましたが、今のところ落ちたことは一度もないです。

2A電源

万全を期すなら、最近増えて来たこういった3Aの電源使うのも良さそうですね

Raspberry Piへの給電ケーブル。タイプAオス- マイクロタイプBオスのものなら何でもOKです

 以降は興味ある方のみ続きをご覧になってください。

Raspbian SDディスク作成

 Raspbianの入ったSDを作成します。NOOBSは、パーティションとか増えてあとで面倒なのと、どうせRaspbianしか入れないので使わないで設定していきます。ただ、ここでつまづいて先に進めなくなっちゃった人は、とりあえずNOOBS使って入れると簡単かもしれません。NOOBSは基本的にドラッグアンドドロップのコピペでいけるので簡単にできるはずです。NOOBS使う人はこのディスク作成の項目は飛ばして次に行ってください。

Raspbian ダウンロード

 以下サイトからダウンロードして下さい。

 これ以降のセットアップは、2017-08-16の日付のRaspbian Stretchか2017-07-05のRaspbian Jessieの使用を前提としています。

 これ以降は2017-03-02の日付のRaspbianの使用を前提としています。最新のバージョンのもので基本的には問題ないはずですが、私は現在最新の2017-07-05でセットアップがうまくいっていない(apt-get installで失敗するものが多数)ので様子見中です。追記:ddコマンドのオプションを追加することで解決しました。

 もし、何らかの理由で過去のバージョンを試したい場合は、ミラーサイトや以下の公式サイトから昔のバージョンのRaspbianをダウンロードしてインストールしてみて下さい。ミラーサイトは公式が重いときにもオススメです(大抵、ミラーサイトから落とした方が早いです)。

Raspbian Download公式サイト

Raspbianミラーサイト

ディスクのフォーマット

 次にディスクをフォーマットしましょう。好きな方法でよいですが、確実なのはSD Formatterを使う方法です。以下のサイトからダウンロードしたSD Formatterを使ってSDカードをフォーマットをしましょう。ドライブを選択してFormatをクリックするだけの簡単設計です。以下からダウンロードしましょう。

SD Memory Card Formatter | SD Association

Etcherを使用したイメージのSDへの書き込み

 イメージのSDへの書き込みは、Etcherというソフトを使うのが簡単です。マルチOS対応なので、WindowsでもMacでもLinuxでも使用可能です。

 以下リンク先からインストール可能です。

 コマンドラインでのインストールは、以下リンク先参照下さい。

 例えばMacならHomebrewを使い、以下コマンドでインストールできます。

$ brew cask install etcher

 Etherの使用方法に関しては以下記事参照下さい。

 Etherを使った書き込みがうまくいかない場合や、コマンドで書き込みをしたいという人は次の「ddコマンドを用いたイメージのSDへの書き込み」を参照下さい(Macが前提となります)。

ddコマンドを用いたイメージのSDへの書き込み

 Etcherを使用する場合は、以下の操作は不要です。Ethcherで作成したディスクで起動できないときは、ddコマンドでディスク作成してみてください。

 ここからは、Macのターミナルでの操作を前提としています。まずは、ダウンロードしたRaspbianのzipファイルをimgファイルに解凍してやる必要があります。ファイルサイズが4GBを超えた関係らしく、2017-03-02あたりのRaspbianからはMacの標準の解凍ソフトではうまく解凍できないのでp7zipという解凍ソフトを使います。Homebrewで下記コマンドでインストールします。

$ brew install p7zip

 あとは、2017-07-05-raspbian-jessie.zipを以下コマンドで解凍しましょう(ファイルが Downloads フォルダ以下にある前提です)。

$ 7z x ~/Downloads/2017-07-05-raspbian-jessie.zip 

 Homebrewって何?って人は下記参照下さい。Homebrew分からない、使いたくないという人は「p7zip mac」で検索してソフトダウンロードしても大丈夫です。

 次に、MacにコピーしたいSDカードを接続してdfコマンド実行してSDカードのデバイスファイルを確認します。よくわからなければ、挿入前と挿入後でdfコマンド実行して比較しましょう。

$ df -h

 挿入後に増えているデバイスファイルがSDカードのデバイスファイルです。例えば /dev/disk2とか/dev/disk3とか。

 そして、対象のデバイスファイルを以下のコマンドでアンマウントします。

$ diskutil umountDisk /dev/disk2

 以下のコマンドでSDにイメージ書き込みします。

$ sudo dd if=~/Downloads/2017-07-05-raspbian-jessie.img of=/dev/rdisk2 bs=1m conv=sync

 上記はホームディレクトリ直下に2017-07-05-raspbian-jessie.imgというイメージファイルを置いた例です。/dev/rdisk2disk2の前にrがついているのは、速度を早くするためアンバッファモードにするため。bs=1mは一度に1m(1MB)書き込むという意味です。設定しないと書き込み速度が遅くなります。

 また最後のconv=syncというオプションは、イメージファイル末尾のブロックを正常に書き込むためのオプションで、2017-06-21あたりからこのオプションをつけて書き込まないと、apt-getでパッケージのインストールに失敗し、以下のようなエラーが出るという現象が発生します。

files list file for package 'qdbus' is missing final newline

 この対策は、以下サイトの記事で知りました。本当感謝です。

萍:ウキクサ: Raspbianの apt-get upgrade が失敗する

 書き込みの、途中経過が気になる方はCtrl+Tで進捗を表示できます。しばらく(数分)待って完了のメッセージが出たら書き込み完了。完了したら以下のコマンドでディスクをアンマウントしてからSDカードを取り出しましょう。

$ diskutil eject /dev/disk2

 これでSD作成は完了です。

Raspberry Pi ハードウェアセットアップ

 Raspberry Piに以下のものを接続しましょう。

  • 作成したRaspbian Jessie入りmicro SD
  • USBキーボード
  • USBマウス
  • ディスプレイ

f:id:karaage:20160331225822j:plain:w640
 接続した図

f:id:karaage:20160331225947j:plain:w640
 接続図詳細

 WiFiで接続できるのでEtherケーブルの接続が不要になったのが嬉しいです。WiFiない人はEtherケーブル接続してあげて下さい。

 キーボード、マウス、ディスプレイ無しでセットアップしたいんだ!という人は以下参照下さい。

Raspbian Stretch/Jessie ソフトウェアセットアップ

 次はソフトウェアのセットアップです。

Raspbian Stretchをインストールする場合の注意事項

 Raspbian Stretch、Raspi-configのセットアップ、Localisationのキーボード設定で、GUIの画面が出てこなくてハマります。対処法がフォーラムにありました。また、何故か日本語フォントがデフォルトでインストールされなくなってしまったので、日本語フォントをインストールしておかないと、日本語設定すると文字化けします(四角だらけの悪夢が再び…)。なので対策を実行していきます。

 準備として、ネットワークにあらかじめ接続しておきましょう。有線のEtherケーブル(LANケーブル)を下図の通り接続しておいて下さい。

Etherケーブル接続
 ネットワーク接続

 WiFiで接続する場合は、このページの少し先のWiFiセットアップの項目を参考に設定して下さい。

 次にターミナル画面で以下コマンド実行しましょう。パスワードの初期設定はraspberryです。Raspbian Jessieの場合は、最初に実行してもしなくても特に問題ないはずです。

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install fonts-vlgothic

 ターミナル画面は、下図のように上にある黒い四角のアイコンをクリックするか、左上のRaspberry Piアイコン -> アクセサリ -> LXTerminalの順にクリックすると出てきます。

f:id:karaage:20161228135510p:plain:w640

 以降の画面、Rabpain Jessieの画面での説明も混じっていますが、基本的にGUI画面は大きく変わっていないはずなので、迷うことはないと思います。

Raspi-configセットアップ

 RaspbianはJessieから、初回起動時はいきなりX WindowsのGUI環境が立ち上がります。そのままGUIでRaspi-configのセットアップとWiFiセットアップを実施しましょう。

 まずは下図のように一番左のRaspberry Piマークのアイコンをクリック -> Preference -> Raspberry Pi Configurationを選択Raspi-configを起動します

f:id:karaage:20170820140435p:plain:w640

 systemタブ開いてExpand FilesystemをクリックしてOKをクリック。これでSDカードの全容量を有効に使えます。最新のRaspbianだと起動時に自動で実行されているかもしれませんが念のため実行しておきましょう2017-03-02のバージョンからExpand Filesystemボタンから削除されました。起動時に自動で実行されます。ホスト名は好きな名前をつけて下さい。今回はkaraageとしています。

 また、パスワードがデフォルトのままだとセキュリティよろしくないのでChange Passwordからパスワード変更しておくと良いかもしれません(変更しないと、警告が出続けるので、うっとおしいです)。

f:id:karaage:20170820140553p:plain:w640

 次にInterfaceタブを開きます。2016-11-25のRaspbianからセキュリティの関係でSSHが初期設定でDisableになっているので、SSHをEnableにします。カメラモジュールとか使う人は合わせてCameraもEnableにしておくとよいです。

f:id:karaage:20161228135455p:plain:w640

 次にLocalisationのタブを開いて上から順に設定していきましょう。Set Localeは以下
f:id:karaage:20161228135457p:plain:w640

 Set Timezoneは以下のとおりJapanを設定
f:id:karaage:20161228135458p:plain:w640

 もう一度開くと、下図のようにAsia Tokyoが選択されています f:id:karaage:20161228135459p:plain:w640

 Set Keyboardはキーボードに合わせて設定下さい。日本語キーボードの場合は Japanese" > "Japanese"に設定しましょう。 f:id:karaage:20161228135500p:plain:w640
 下の入力ボックスで配置正しいか確認しておくとよいです。~^|\;:あたりの記号をチェックしておくとよいでしょう。

 Raspbian Stretchでこの画面が出ない人は、この記事の上の方の「Raspbian Stretchをインストールする場合の注意事項」を参照下さい。

 WiFiの設定は、以下のようにJapanにしておけばOKです f:id:karaage:20161228135501p:plain:w640

 一通り完了して、右下のOKをクリックすると「再起動しますか?」というダイアログが出てくるので「YES」をクリックしましょう。 f:id:karaage:20161228135502p:plain:w640

 再起動すると日本語化されています。 f:id:karaage:20161228135503p:plain:w640

WiFiセットアップ

 ここでWiFiセットアップ。以下のようにクリックして、必要ならセキュリティキーを入力するだけです。

f:id:karaage:20161228135504p:plain:w640

 CUI(コマンドライン)で直接設定したい場合は、Raspbian Wheezy以前と同様 /etc/network/interfaces/etc/wpa_supplicant/wpa_supplicant.conf を書き換えましょう。以下参照下さい。

 これでネットに接続できるようになります。WiFi環境が無い人は、Raspberry Piに直接Etherケーブルをつなぎましょう。接続方法は以下です。

Etherケーブル接続

日本語環境セットアップ

 日本語入力するために、日本語環境をセットアップしましょう。今回はibus-mozcという漢字変換ソフトをインストールします。ターミナルを起動して、以下コマンドを実行ください。

 ターミナルを起動するには、下図のように上にある黒い四角のアイコンをクリックするか、左上のRaspberry Piアイコン -> アクセサリ -> LXTerminalの順にクリックして起動して下さい。

f:id:karaage:20161228135510p:plain:w640

 すると、以下のような黒いターミナル画面が起動します。 f:id:karaage:20161228144513p:plain:w640

 次に以下コマンドを順に入力して実行して下さい。入力するときは、最初の$は既に表示されているので打ち込まず、その後のアルファベットから1行ずつ順に打ち込んで下さい。下記ならsudo apt-get updateと入力してEnterという感じです

$ sudo apt-get update
$ sudo apt-get install ibus-mozc

 1行目でインストールするパッケージのリストをアップデート。2行目で日本語変換ソフトをインストールしています。うまくいかない場合は、ネットの接続環境を見直して下さい。パスワード要求されたら、デフォルトのパスワードraspberryを入力しましょう。

 次に、日本語変換を有効にするためibus-mozcを有効にする設定をします。これ以降の設定はRaspbian Stretchだと自動でされるようなので、確認だけで良いです。Raspbian Jessieの人はセットアップしましょう。

 まずは、下図のようにibusの設定を起動します

f:id:karaage:20161228135505p:plain:w640

 入力メソッドを選択して、追加をクリック
f:id:karaage:20161228135506p:plain:w640

 日本語選択して追加をクリック
f:id:karaage:20161228135507p:plain:w640

 Mozc選択して追加をクリック
f:id:karaage:20161228135508p:plain:w640

 最後に以下のように日本語変換選択すると日本語変換ができるようになります。 f:id:karaage:20161228135509p:plain:w640

ソフトウェアアップデート

 ターミナルで以下実行すると、現状のソフト全て最新版にアップデートしてくれますので一度実行しておきます。

$ sudo apt-get update
$ sudo apt-get upgrade

 ここまでで基本的なセットアップは完了です。

Raspbianソフトインストール・セットアップ

 ここからは、少し上級者向けです。基本ターミナルで全て操作していきます。詳しい説明もしないので、興味がある人のみ試してみて下さい。

tightvncサーバ

 リモートデスクトップのために必要なら入れましょう。

$ sudo apt-get update
$ sudo apt-get install tightvncserver

 インストール終わったら、以下コマンドを実行してパスワードを設定しましょう。

$ vncserver

1回入力すると、read-onlyのパスワード聞かれますが、そちらは設定しなくてよいです。

 後は以下実行するとtightvncserverが起動します。

$ vncserver :1

 これでクライアントPCからリモートデスクトップ接続できるようになります。Macならファインダーの移動 -> サーバーに接続 (Command + KでもOK)で接続できます。以下の要領でvnc://raspberry piのホスト名.local:5901で接続できます。今回karaageと設定したのでvnc://karaage.local:5901となります。
f:id:karaage:20160402110721p:plain:w640

 Windowsの場合だと、ホスト名ではアクセスできないかもしれません。iTunesをインストールするか、ホスト名の代わりにRaspberry Piのipアドレスを直接入力して下さい。

 このままだとRaspberry Piを起動するたび$ vncserver :1を実行しないとリモート接続できないので、面倒だという人は以下のコマンドを実行して自動起動を有効にしましょう。正しく実行できれば、Raspberry Piが起動したら、すぐにクライアントのPCからリモートデスクトップ接続(VNC接続)ができるようになります。

$ wget https://raw.githubusercontent.com/karaage0703/raspberry-pi-setup/master/dotfiles/vncboot
$ chmod 755 vncboot
$ sudo mv vncboot /etc/init.d/vncboot
$ sudo update-rc.d vncboot defaults

VNCServerエラー対応

 上記のVNCServerで接続すると、起動時にGDBus.Error:org.freedesktop.PolicyKit1.Error.Failed的なエラーが出てきます。特に実害は無いのですが、/etc/xdg/autostart/lxpolkit.desktopというファイルを以下の通り修正すればエラーが消えるので気になる人は修正下さい。

変更前

NotShowIn=GNOME;KDE;

変更後

NotShowIn=GNOME;KDE;LXDE

エディタ(vim・gvim)インストール・設定

 Raspberry Pi標準のvimはtiny-vimという簡易版なので、ちゃんとしたvimをインストールしましょう。vim-gtkというのはgvimというGUIのvimです。それぞれvim, gvimで起動します。

$ sudo apt-get update
$ sudo apt-get install vim
$ sudo apt-get install vim-gtk

 .vimrcのセットアップはお好みで。私の.vimrcは以下で公開しているのでよければ参照下さい。

gnome-terminalインストール・設定

 デフォルトのterminalが色々気に入らないのでgnome-terminalをインストール。

$ sudo apt-get update
$ sudo apt-get install gnome-terminal

 以下コマンドでgnome-terminalを起動できます。

$ gome-terminal

 配色を以下で変更。私はおしゃれなsolarized-lightにしました

gpartedインストール

 パーティション設定ソフトを以下コマンドでインストール。何かと使えます。

$ sudo apt-get update
$ sudo apt-get install gparted

 以下のサイトが使い方わかりやすいです。

byobuインストール

 仮想端末を以下コマンドでインストール。

$ sudo apt-get update
$ sudo apt-get install byobu

 詳細は以下

.bashrcセットアップ

 .bashrcに以下を追記

setxkbmap -model jp106 -layout jp -option ctrl:nocaps
  • キーボードのCaps LockキーをCtrlキーとして使えるように変更

/boot/config.txtセットアップ

 /boot/config.txtをの設定、必要に応じて設定ください。まずは以下コマンドで/boot/config.txtを編集します。

$ sudo vi /boot/config.txt
USBポート 1.2A電流供給対応

 通常は0.6Aに制限されているRaspberry PiからのUSB電流供給を1.2Aまで増加できます。/boot/config.txtの末尾に以下の2行を追加して上書き保存すればOK。

safe_mode_gpio=4
max_usb_current=1

 最新のファームウェアだとこの記載は不要になったそうです。

カメラモジュールLED消灯

 Raspberry Pi用カメラモジュールは、撮影中にLED点灯します。動作確認になってよいのですが、個人的には邪魔なので消します。以下の1行を/boot/config.txtの末尾に追記して上書き保存しましょう。

disable_camera_led=1

スワップファイル増大

 デフォルトだとスワップファイルの設定が小さく、規模が大きいソフトウェアのビルドをするとこけたりするので、スワップファイルを増やしておくのがベターです。編集するのは/etc/dphys-swapfileというファイルです。

 以下の箇所を

CONF_SWAPSIZE=100

 以下に変更します。

CONF_SWAPSIZE=1024

 変更後は以下コマンドで再起動してください。

$ sudo shutdown -r now

 再起動後、以下のコマンドで設定されているか確認します。

$ free -m

 以下のようにSwap1023になっていればOKです。

             total       used       free     shared    buffers     cached
Mem:           862        818         43         15         19        643
-/+ buffers/cache:        156        705
Swap:         1023          0       1023

SDカードバックアップ

 ここまで頑張って設定したら、一度SDの中身を丸ごとバックアップしておくと安心です。以下記事参照下さい。

まとめ

 一通りまとめました、かなり時間かかりましたがこれでもうセットアップでつまづくことはないはず(少なくとも自分は)。Raspberry Pi3はWiFi内蔵しているのがよいですね。今までは必ずWiFiモジュール買っていたので、トータルのコストはRaspberry Pi2より良いと思います。気になるのは2.5A必要という電源ですが、アイドル状態だとWiFiモジュール接続したRaspberry Pi2とほぼ同じ値だったので、そんなに心配しなくてよいかなという印象。これは時間があれば、色々条件変えて検証したいなと思っています。
 Raspberry Pi3使って、今後も電波なことしていきたいと思います。

リンク:Raspberry Pi 3
リンク:microSDカード
リンク:USBコネクタ付き電源TAP
リンク:HDMIケーブル
リンク:USB給電ACアダプタ
リンク:マイクロUSBケーブル

Raspbianのスクリプトによる自動セットアップ

 面倒臭いセットアップをある程度自動化するスクリプトを公開しています。どちらかというと上級者向けですが、興味ある方は参照下さい。

Raspberry Pi Zeroセットアップ記事

 Raspberry Pi Zeroも購入しましたのでセットアップ記事公開しました。基本的にはRaspberry Pi 3と同じなのですが、いくつか気をつける点があったので、もしこれからセットアップする人は参考にしてみてください。

関連記事

変更履歴

  • 2019/12/03 ラズパイ4 + Raspbian Busterのセットアップに関してリンク追記
  • 2017/12/27 スワップの設定追記
  • 2017/08/20 Raspbian Stretchに対応しました