あっかぎのページ

Raspberry Pi 2のセットアップ

20150711_1

昨日買ってきたRaspberry Pi 2のセットアップをしました。

内容

昨日買ってきたRaspberry Pi 2を使って、次の内容をメモしておきます。

今まで何回かRaspberry Piに関するメモを残してきましたので、参考に紹介します。

周辺機器の接続 #20150711_web_connect

20150711_1

Raspberry Piを動作させるには次の周辺機器が必要になります。

  1. Raspberry Pi本体
  2. SDカード(8GB以上がおすすめ)
  3. micro USBケーブル
  4. USB電源 or PCのUSBポート
  5. ディスプレイ
  6. ディスプレイケーブル
  7. USBキーボード
  8. USBマウス

Raspberry Pi単体で動作させるには1~8の周辺機器が必要になります。上の写真では8番のUSBマウスは接続していません。これはコマンド操作を想定しているためで、WindowsのようなGUI環境で作業する場合は、マウスも必須になってきます。

各周辺機器の接続は上の写真のようになりますが、1点だけ注意事項があります。それは、3,4の電源ケーブル関係の接続はすべての接続の最後に行うようにします。というのは、Raspberry Piは電源ボタンがないので、電源ケーブルの抜き差しが電源のON/OFFになります。不注意で電源投入後にいろんな危機の抜き差しを行うと危険な場合がありますので、電源の状態には注意しておきましょう。

ちょっと裏技

ノートPCの場合はRaspberry Piをノートパソコンで使うよで紹介したように、USB-RS232ケーブルを使えば、5~6の機器は不要になります。

20150710_120150219_2

インストール

20150711_2

周辺機器の接続が完了すると、次はOSインストールしてRaspberry Piを使えるようにします。SDカードは、Raspberry PiのOSを書き込んで、起動も含めたすべての動作を記録します。そのため、まずはRaspberry Piで使えるようにしたSDカードを準備する必要があります。

手順

  1. SDカード準備
  2. Raspberry PiのサイトでOSダウンロード
  3. SDカードにOSの書き込み
  4. SDカードをセットして電源ON

まずは、SDカードの準備です。8GB以上がおすすめです。

次に、Raspberry PiのOSのダウンロードサイトから「NOOBS」の「Download ZIP」をダウンロードします。700MB以上の大きいデータなのでダウンロードする時は注意しましょう。現時点(2015/7/11時点)では残念なことに、公式サイトのOSのバージョンが1世代古くなっています(Wheezy)。そのため、起動したらOSのアップデートでOSを最新バージョンに更新します(Jessie)。Raspberry PiのダウンロードサイトのOSが最新版に更新されれば、OSのアップデートの作業は必要ありません。

20150711_3

SDカードにOSを書き込むのは簡単です。まずは、ダウンロードしてきた「NOOBS_v1_4_1.zip」(バージョンはダウンロードした時期で異なります)をファイル展開します。そして、展開してできたファイル群をSDカードのドライブへコピペします(上の図)。NOOBSはWindows上でもファイルをそのままコピペできるので簡単です。(他のイメージデータはデータダンプしてコピーする必要があって面倒です)

OSが書き込まれたSDカードが準備できれば、周辺機器の接続が正しいことを確認して、電源コードをONします。SDカードと接続が問題なければ、Raspberry Piの基板上の赤いLEDと緑のLEDが点滅し始めます。

正常起動の確認

20150711_4

電源がONになるとラズベリーの絵が出ます。しばらくしてすると写真のようにOSを選ぶ画面になります。ここでは、一番上の「Raspbian」を選択(スペースキーorリターンキー)でチェックを入れます。そして、キーボードの「i(アイボタン)」を押してインストールを開始します。

20150711_5

上の写真のような進捗画面になりますので、インストールが完了するまでしばらく待ちましょう。インストールが完了すると「OS(es) installed Successfully」と出ますので、ここまでたどり着けると無事にインストールが完了です。このまま進めてもいいのですが、確認も兼ねて電源を再起動します(コードの抜き差し)。※本来はshutdown手続きをすべきですが、説明の簡略化としています

20150711_6

電源を再起動すると、上の写真のように「ラズベリーが4つ」出れば、無事にインストールが完了して正しく動作できていることが確認できます。ちなみに、ラズベリー4つの絵は、Raspberry Pi 2が4コアなのを表しているとのことです。

初期設定

起動中は画面上にいろんな情報が流れていきます。内容は無視しても大丈夫なので、画面がストップするまでしばらく待ちます。しばらくすると「raspberrypi login:」となってログインの入力待ち画面になります。

raspberrypi login: -> pi
Password: -> raspberry

デフォルトではアカウントが「pi」、パスワードが「raspberry」です。正しく入力すると次のようになって、コマンド入力待ちになります。

pi@raspberrypi ~ $

ここでは、必要最小限の初期設定をします。まず、文字化け対策を最初にします。(以降、入力コマンドを’$’と省略します)日本語に対応したターミナルソフトをインストールします。これで「■■」のような文字化けを回避できます。

$ sudo apt-get install jfterm

インストールが終わるとjfbtermを立ち上げます。それに続けて「sudo raspi-config」として設定画面を開きます。

$ jfbterm
$ sudo raspi-config

20150711_7

上のような青い画面となりますので、以下の項目を設定します。

    1. Expand Filesystem
    1. Internationalisation Options
    • I1 Change Locale
    • I2 Change Timezone
    • I3 Change Keybord Layout

「Expand Filesystem」はOSをインストールしたSDカードの容量を適正サイズに修正します。これすることで購入したSDカードのデータ容量に拡張されます(ここ大事)。

続けて、「Internationalisation Options」ですが、言語・時間・キーボードのセッティングになります。

* I1 -> ja_JP.UTF-8 UTF-8
* I2 -> アジア -> Tokyo
* I3 -> 標準105キー -> 日本語

普通のキーボードはI3の設定順でOKですが、英字キーボードなどは適宜変更してください。以上が終わると最小限の設定は完了です。

OSのアップデート

Raspberry Piの公式ページのダウンロードデータは、この記事の時点(2015/7/11)では1つ古いOSのバージョンとなっています(Debian Wheezy)。これを機会に最新版へアップデートしておくことをおすすめします(Debian Jessie)(OSアップデートは2年おきくらいの間隔です)。

やり方は過去の↓↓↓記事と重複しますので、ここでは説明を省きます。ネット環境がよければ、1時間程度で完了します。(途中の質問は全部「y(yes)」で大丈夫です)

無事にOSのアップデート(Wheezy → Jessie)が完了していれば、ログイン画面で次のような表示になります。

Raspbian GNU/Linux 8 raspberrypi tty1
raspberrypi login: 

GNU/Linux 8というのが最新OSのJessie版に対応します。コマンドで確認するには下記のように入力して、「8.0」と表示されることで確認できます。

$ cat /etc/debian_version
8.0

ちなみに、最新のOSをアップデートした状態のデータ使用量は2.7GBでした。

$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/root         14G  2.7G   11G   21% /
devtmpfs         460M     0  460M    0% /dev
tmpfs             93M  260K   93M    1% /run
tmpfs            5.0M     0  5.0M    0% /run/lock
tmpfs            186M     0  186M    0% /run/shm
/dev/mmcblk0p5    60M   19M   42M   32% /boot

性能チェック(ベンチマーク)

Raspberry Pi 2になったということで、ベンチマークで性能チェックしました。使用したソフトはUnixBenchです。使い方などは、Raspberry Piのオーバークロックで紹介していますので、そちらをご参照ください。

データは次の通りです。標準のRaspberry Pi 2とCPUを1GHzにオーバークロックした状態でデータをとっています。また、比較できるようにRaspberry Pi B+も載せています。

  • Raspberry Pi 2 CPU 900MHz SD:class10 シングル動作
  • Raspberry Pi 2 CPU 900MHz SD:class10 4コア動作
  • Raspberry Pi 2 CPU 1000MHz SD:class10 シングル動作
  • Raspberry Pi 2 CPU 1000MHz SD:class10 4コア動作
  • Raspberry Pi B+ CPU 700MHz SD:class10

Raspberry Pi 2 CPU 900MHz SD:class10 シングル動作

Dhrystone 2 using register variables        1991075.7 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                      330.4 MWIPS (10.0 s, 7 samples)
Execl Throughput                                352.9 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         48191.8 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           13417.0 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        130844.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                              111712.2 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  22498.3 lps   (10.0 s, 7 samples)
Process Creation                                895.4 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                    862.1 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    240.6 lpm   (60.1 s, 2 samples)
System Call Overhead                         269286.1 lps   (10.0 s, 7 samples)

System Benchmarks Index Score                                         121.0

Raspberry Pi 2 CPU 900MHz SD:class10 4コア動作

Dhrystone 2 using register variables        7950888.1 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1322.0 MWIPS (10.0 s, 7 samples)
Execl Throughput                                984.2 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         80175.5 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           22161.0 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        228217.3 KBps  (30.0 s, 2 samples)
Pipe Throughput                              441333.2 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  86550.3 lps   (10.0 s, 7 samples)
Process Creation                               2093.8 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1931.4 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    253.5 lpm   (60.6 s, 2 samples)
System Call Overhead                        1038527.7 lps   (10.0 s, 7 samples)

System Benchmarks Index Score                                         306.2

Raspberry Pi 2 CPU 1000MHz SD:class10 シングル動作

Dhrystone 2 using register variables        3318894.1 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                      550.0 MWIPS (9.9 s, 7 samples)
Execl Throughput                                358.0 lps   (29.6 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         80405.5 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           22251.5 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        219524.7 KBps  (30.0 s, 2 samples)
Pipe Throughput                              163085.9 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  37315.0 lps   (10.0 s, 7 samples)
Process Creation                               1160.0 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                    880.1 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    244.7 lpm   (60.2 s, 2 samples)
System Call Overhead                         448253.4 lps   (10.0 s, 7 samples)

System Benchmarks Index Score                                         172.6

Raspberry Pi 2 CPU 1000MHz SD:class10 4コア動作

Dhrystone 2 using register variables        8088761.2 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1659.9 MWIPS (9.4 s, 7 samples)
Execl Throughput                                988.7 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         80987.9 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           27994.4 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        229448.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                              642450.6 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 143251.5 lps   (10.0 s, 7 samples)
Process Creation                               2973.3 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2110.2 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    294.7 lpm   (60.4 s, 2 samples)
System Call Overhead                        1732276.8 lps   (10.0 s, 7 samples)

System Benchmarks Index Score                                         376.5

Raspberry Pi B+ CPU 700MHz SD:class10

Dhrystone 2 using register variables        1664643.9 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                      268.2 MWIPS (10.0 s, 7 samples)
Execl Throughput                                192.6 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         32624.0 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks            9819.5 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks         83411.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                              135455.7 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  15520.1 lps   (10.0 s, 7 samples)
Process Creation                                494.0 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                    382.7 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                     48.8 lpm   (60.3 s, 2 samples)
System Call Overhead                         363135.7 lps   (10.0 s, 7 samples)

System Benchmarks Index Score                                          79.6

性能チェックのまとめ

標準状態のRaspberry Pi B+とRaspberry Pi 2ではCPU周波数の上昇分だけ処理速度が向上しているようです。Raspberry Pi 2のすごいところはやっぱりCPUの4コアで、B+と比べて単純なCPU処理は5倍近い速度の向上をしていました。さらに、Raspberry Pi 2だけで見た場合、オーバークロックによって1~2割程度の性能向上が見込めそうです。

常に4コア動作ができるとはかぎらないので、Raspberry Pi B+と比較して5倍以上も常に早いとは思いませんが、かなりの性能向上が数値的には見られました。

おわりに

Raspberry Pi 2を最初からセットアップしてみましたが、インストール時間などもRaspberry Pi B+に比べて体感で早くなっているように感じます。これからRaspberry Pi B+で遅かったWordPress動作などをいろいろ動作させて、Raspberry Pi 2の性能を見てみたいと思います。

20150711_4