RaspberryPi model Bメモ


# 対応しているSDカード

* 32GBまで対応している
* 空き容量は最低6GB


# MacOSXでSDカードをセットアップする

## Apple-Pi Bakerを使う

[ApplePi-Baker](http://www.tweaking4all.com/hardware/raspberry-pi/macosx-apple-pi-baker/)でディスクイメージを直接SDカードにコピーできます。
NOOBS（後述）ならクリック一発でいける。

![kobito.1401980213.047385.png](https://qiita-image-store.s3.amazonaws.com/0/29860/439e0ff6-e3ee-53fc-6898-84cb1ccddfcd.png "kobito.1401980213.047385.png")


## VirtualBox上のLinuxで読み書き

SDカードのイメージはVirtualBox上のLinuxで読み書きできる。

* [MacBook ProのSDカードスロットをVirtualBoxのrawdiskとして使う](http://qiita.com/key/items/1bb2e4f061446c667c07)

# Dockerを使いたい

Arch Linuxで使うのがいいらしい？あとで詳しく調べる。
参考。

* [Docker on RaspberryPi and CoreOS](http://www.slideshare.net/philipzh/docker-on-raspberry-pi-and-coreos)

# オペレーティングシステム

公式サイトのまとめは[こちら](http://www.raspberrypi.org/downloads/)。

| OS | Package manager | 備考 |
|:-:|:-:|:-:|
|[ArchLinux](http://archlinuxarm.org/platforms/armv6/raspberry-pi) | pacman | よく知らない |
| [Raspbian](http://www.raspbian.org) | apt | Debian wheezyの移植 |
| [PIDORA](http://pidora.ca)  | yum | Fedora Linuxの移植 |
| [openelec](http://openelec.tv/) | よく分からない | メディアセンタ向けディストロ |
| [Raspbmc](http://www.raspbmc.com) | apt | メディアセンタ向けディストロ|
| [RISC OS](https://www.riscosopen.org/content/) | [riscpkg](http://www.riscpkg.org/) |LinuxじゃないOS |

# NOOBS

各種OSインストーラを含むSDカードイメージ。
RaspberryPiを適当なOSで使うのに便利。素人さん向け。

# 時計を合わせる

RaspberryPiはRTCおよびバックアップバッテリを搭載していないため、起動直後はシステムクロックが初期値になっています。

## ntpdate

ネットワークに接続されていれば`ntpdate`コマンドで合わせることが出来ます。初回実行時に`-b`オプションを使用し、stepモードで強制的に合わせるようにします（デフォルトだと、システムクロックが大きくずれている場合には合わせてくれません）。

```
ntpdate -b pool.ntp.org
```

ちなみにRaspbianは起動時にこの処理を行うようです。


## RTCモジュールを使う

バッテリバックアップ付きのRTCモジュールを使用することで、オフライン状態で起動してもシステムクロックを維持することが出来ます。いくつかの製品が販売されていますが、RaspberryPiに亀の子にして使う製品を使用しています。

* I2C接続DS3231使用のRaspberryPi用RTCモジュール ([Amazon.co.jpで入手](http://www.amazon.co.jp/dp/B00KB10VIO/ref=as_sl_pc_tf_lc?tag=mitsukuni-22&camp=1027&creative=7407&linkCode=as4&creativeASIN=B00KB10VIO&adid=0B4ED3KNRV71QVFEY5EC&&ref-refURL=http%3A%2F%2Frcm-fe.amazon-adsystem.com%2Fe%2Fcm%3Flt1%3D_blank%26bc1%3D000000%26IS2%3D1%26bg1%3DFFFFFF%26fc1%3D000000%26lc1%3D0000FF%26t%3Dmitsukuni-22%26o%3D9%26p%3D8%26l%3Das4%26m%3Damazon%26f%3Difr%26ref%3Dss_til%26asins%3DB00KB10VIO))

ビジュアル的にこんなかんじ。モジュールの裏側に小型バッテリがハンダ付けされています。

![IMG_0083.jpg](https://qiita-image-store.s3.amazonaws.com/0/29860/5bdc9ca5-005b-d2d8-1f5d-d18bec12ae91.jpeg "IMG_0083.jpg")

ArchLinux 3.12.20-4-ARCHでは、次のコマンドでRTCモジュールを呼び出すことが出来ました（手元のハードウェアでは`rc.local`的なファイルを使用して起動時にRTCモジュールが有効になるようにしています。
）。

```
/usr/bin/echo ds1307 0x68 | /usr/bin/tee /sys/class/i2c-adapter/i2c-1/new_device
```

dmesgの出力。

```
[root@alarmpi ~]# dmesg | grep -i ds1307
[    8.205884] i2c i2c-1: new_device: Instantiated device ds1307 at 0x68
[    8.277696] rtc-ds1307 1-0068: rtc core: registered ds1307 as rtc0
[    8.277758] rtc-ds1307 1-0068: 56 bytes nvram
```

起動直後の状態で、


```
[root@alarmpi ~]# uptime
 15:21:28 up 0 min,  1 user,  load average: 0.81, 0.22, 0.07
```

システムクロックがハードウェアクロックと同期しています。

```

[root@alarmpi ~]# timedatectl status
      Local time: Sat 2014-06-07 15:21:29 JST
  Universal time: Sat 2014-06-07 06:21:29 UTC
        RTC time: Sat 2014-06-07 06:21:30
       Time zone: Asia/Tokyo (JST, +0900)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a
```