Raspberry piを設定をする

wheezy-raspbianのイメージを書き込んだSDカードとHDMI-DVIケーブル、USBキーボードを接続してからmicroUSBの給電用ケーブルを差し込みます。電源スイッチがないため、給電用ケーブルを差し込むとすぐに起動が始まります。


初期設定

初回起動時にOSの設定をする画面が表示されるので必要な項目を設定していきます。

expand_rootfs
2GBを超えるSDカードの場合2GBを超える領域が未割り当てになっているのでパーティションの拡張。次の起動時にリサイズするのでそのときは起動に時間がかかります。
change_pass
デフォルトで存在するpiユーザのパスワードを変更。
change_timezone
タイムゾーンの設定はAsiaのTokyo。
ssh
sshサーバの起動設定。sshを使用するのでEnableを選択。
boot_behaviour
起動時にGUIを動かすかどうかの設定。今回は不要なのでNoを選択。

この状態でFinishを選択して初期設定は完了、再起動させます。

使えるメモリを増やす

無事再起動してログインできたらメモリの割り当てを変更します。
デフォルトでは256MBのうち192MBをメインメモリ、64MBをビデオメモリに割り当てられています。
sudo raspi-configで初期設定画面を呼び出してmemory_splitを選択。今回は240MBをメインメモリ、16MBをビデオメモリに設定しました。選択式なのでもっともメインメモリの多いものを選びました。
変更前

# free -h
             total       used       free     shared    buffers     cached
Mem:          183M        58M       124M         0B       9.7M        30M
-/+ buffers/cache:        18M       165M
Swap:          99M         0B        99M

変更後

# free -h
             total       used       free     shared    buffers     cached
Mem:          231M        47M       184M         0B       7.9M        22M
-/+ buffers/cache:        16M       214M
Swap:          99M         0B        99M

トータルメモリが増えてます。

次にデフォルトで6つあるttyを3つにして空き容量の確保をします。/etc/inittabのtty4〜tty6に該当する部分をコメントアウトしておきます。

1:2345:respawn:/sbin/getty --noclear 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6
# free -h
             total       used       free     shared    buffers     cached
Mem:          231M        46M       184M         0B       7.9M        22M
-/+ buffers/cache:        16M       214M
Swap:          99M         0B        99M

あんまり変わらなかったかな…。

IPアドレスを固定にしておく

/etc/network/interfaces内のeth0を編集してIPアドレスを固定に

allow-hotplug eth0
   iface eth0 inet static
   address 192.168.X.17
   network 192.168.X.0
   netmask 255.255.255.0
   broadcast 192.168.X.255
   gateway 192.168.X.1
   dns-nameservers 192.168.X.1

/etc/resolv.confも確認しておく

nameserver 192.168.X.1

その他

この時点でのdf -hは以下のような感じ。8GBのSDカードを利用しています。

# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          7.4G  1.4G  5.7G  19% /
/dev/root       7.4G  1.4G  5.7G  19% /
tmpfs            24M  188K   23M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            47M     0   47M   0% /tmp
tmpfs            10M     0   10M   0% /dev
tmpfs            47M     0   47M   0% /run/shm
/dev/mmcblk0p1   56M   34M   22M  61% /boot

sudoでパスワードが要求されない状態なので、パスワードを入力しないとsudoできないようにする。きっとパスワード要求する方がセキュアだよね…。
sudo visudoして

pi ALL=(ALL) NOPASSWD: ALL

pi ALL=(ALL) ALL

ベンチマーク取ってみた。

http://www.distributed.net/Download_clients からARM/eabiのファイルをダウンロードして実行する。

# wget http://http.distributed.net/pub/dcti/current-client/dnetc-linux-arm-eabi.tar.gz
# tar zxvf dnetc-linux-arm-eabi.tar.gz
# cd dnetc519-linux-arm-eabi/
# ./dnetc -bench

distributed.net client for Linux Copyright 1997-2011, distributed.net
ARM assembly by Peter Teichmann
Please visit http://www.distributed.net/ for up-to-date contest information.
Start the client with '-help' for a list of valid command line options.


dnetc v2.9110-519-CTR-11111118 for Linux (Linux 3.1.9+).
Please provide the *entire* version descriptor when submitting bug reports.
The distributed.net bug report pages are at http://bugs.distributed.net/

[Sep 22 12:20:40 UTC] Automatic processor type detection did not
                      recognize the processor (tag: "armv6-compatible proce ...
                      id 0x4100b767")
[Sep 22 12:20:40 UTC] OGR-NG: using core #0 (FLEGE 2.0).
[Sep 22 12:21:01 UTC] OGR-NG: Benchmark for core #0 (FLEGE 2.0)
                      0.00:00:16.89 [1,740,800 nodes/sec]
[Sep 22 12:21:01 UTC] OGR-NG: using core #1 (FLEGE 2.0 ARMv3).
[Sep 22 12:21:21 UTC] OGR-NG: Benchmark for core #1 (FLEGE 2.0 ARMv3)
                      0.00:00:17.43 [2,899,823 nodes/sec]
[Sep 22 12:21:21 UTC] OGR-NG: using core #2 (FLEGE 2.0 ARMv5-XScale).
[Sep 22 12:21:41 UTC] OGR-NG: Benchmark for core #2 (FLEGE 2.0 ARMv5-XScale)
                      0.00:00:17.44 [2,952,072 nodes/sec]
[Sep 22 12:21:41 UTC] OGR-NG: using core #3 (FLEGE 2.0 ARMv5).
[Sep 22 12:22:01 UTC] OGR-NG: Benchmark for core #3 (FLEGE 2.0 ARMv5)
                      0.00:00:17.40 [3,120,761 nodes/sec]
[Sep 22 12:22:01 UTC] OGR-NG benchmark summary :
                      Default core : #-1 (undefined)
                      Fastest core : #3 (FLEGE 2.0 ARMv5)
[Sep 22 12:22:01 UTC] RC5-72: using core #0 (StrongARM 1-pipe).
[Sep 22 12:22:20 UTC] RC5-72: Benchmark for core #0 (StrongARM 1-pipe)
                      0.00:00:17.08 [753,356 keys/sec]
[Sep 22 12:22:20 UTC] RC5-72: using core #1 (ARM 2/3/6/7 1-pipe).
[Sep 22 12:22:38 UTC] RC5-72: Benchmark for core #1 (ARM 2/3/6/7 1-pipe)
                      0.00:00:16.25 [742,146 keys/sec]
[Sep 22 12:22:38 UTC] RC5-72: using core #2 (XScale 1-pipe).
[Sep 22 12:22:57 UTC] RC5-72: Benchmark for core #2 (XScale 1-pipe)
                      0.00:00:16.17 [769,435 keys/sec]
[Sep 22 12:22:57 UTC] RC5-72 benchmark summary :
                      Default core : #-1 (undefined)
                      Fastest core : #2 (XScale 1-pipe)

こんな感じでした。