あそびばLinux

Linux関連を中心に

Raspberry Piの起動まで

SDカードが届いたので早速イメージを書き込んでみる。

(購入した品はTranscendの16GB@class10)

まずは下記から2012-12-16-wheezy-raspbian.zipをDL。

http://www.raspberrypi.org/downloads

・・・が、落とすのに一時間以上かかる模様。

 

とりあえずこの間に後の手順を確認。

・sha1sumでチェックサムの整合確認。

http://downloads.raspberrypi.org/verifying_an_image.html

・ddでSDイメージの焼き込み

http://elinux.org/RPi_Easy_SD_Card_Setup

とにかく初心者にも躓かせないようにドキュメントが非常に丁寧。

ddで失敗すると最悪HDDが全消去されてしまうよ、との旨まで記載されている。

色々眺めている内にDLが完了。

 

という訳で、打ったコマンドは以下。

1、raspbianのDL(一緒にチェックサム用ファイルもDL)

$wget --trust-server-names http://files.velocix.com/c1410/images/raspbian/2012-12-16-wheezy-raspbian/2012-12-16-wheezy-raspbian.zip

2、チェックサムの整合確認
$sha1sum -c 2012-12-16-wheezy-raspbian.zip.sha1 
3、SDカードのマウント位置を確認後、アンマウント
$df -h
$sudo umount /mnt
4、raspbianをunzipで解凍後、SDカードに書き込む
$unzip 2012-12-16-wheezy-raspbian.zip
$sudo dd bs=4M if=./2012-12-16-wheezy-raspbian.img of=/dev/sdc
 462+1 records in
462+1 records out
1939865600 bytes (1.9 GB) copied, 171.678 s, 11.3 MB/s
 
これでSDイメージは完成。
早速起動。

f:id:offwhite2402:20130112191437j:plain

初回起動時にはraspi-configによる設定が実行される。

各種設定のためにこちらを多いに参考にさせて頂きました。
 
とりあえずタイムゾーンの設定とSD使用領域の拡張、
GUIの自動立ち上げをdisableにして終了。
以上で特に問題無く立ち上がりました。
 
先駆者がいるのは本当に有難い事です。

Raspberry Piの購入元

書き忘れていたのでメモ。

国内から購入する場合は通常RSコンポーネント経由が主なようですが、

少し前まで注文から手元に届くまで数ヶ月待ちが

当たり前だったようなので、以下のModMyPiから購入しました。

https://www.modmypi.com/

 

発注後、一週間程度でイギリスからやってきてくれました。

ケース付き+送料込みで5000円位。

自分はクリアケースを注文しました。 

f:id:offwhite2402:20130112191325j:plain

透明ではあるが、若干すりガラスのような加工付き。

 

RS経由でも今はすぐに届くようになっているのかな?

これに関しては自分も情報ありません。

Raspbianは何が最適化されているのか?

SDカードが届くまでの暇潰し。

Raspberry Pi向けのディストリビューションはいくつかあるが、

DebianベースのRaspbianがRaspberry PiのHW向けに最適化されているようだ。

 

では、具体的にどのような点が最適化されているのか?

http://www.raspbian.org/

http://www.memetic.org/raspbian-benchmarking-armel-vs-armhf/

この辺りを参考に、半ば素人ながらに調べてみた。

 

一言で言うと、Raspberry Pi上で

armhf(hardware floating point = HWによる浮動小数点演算)を

サポートしているかどうからしい。

現行のDebian squeezeはarmelのみ対応のため、Raspberry PiのSoCに乗っている

VFPをフルに活用出来ないとの事。

→VFP(Vector Floating Point)とはARMアーキテクチャ向けのFPU(Floating Point Unit)。

 

→armelとarmhfはABI(Application Binary Interfaces)の名称。

前者はsoft/softfp対応、後者はhardfp対応との事。

softは一切VFPを使用しない。softfpはVFPを使用出来るものの、一度整数用レジスタを経由してVFPにデータを転送する。

これにより、VFPの有無に左右されない互換性が得られる一方、オーバーヘッドが生じる。

hardfpはVFPの存在を前提としており、後方互換性を失う代わりにダイレクトに(=高速に)VFPのレジスタにデータを転送できる。

 

ここでもう一つの疑問。Debianもwheezyからarmhf対応のはずで、

Debian wheezyでは不都合な点があるからRaspbianを作ったはず。

それは何か再度調べてみた。

 

Raspberry PiのCPUはARM11(ARM1176JZF-S)。

インストラクションセットはARMv6。

これにVFPv2が乗っているという構成。

 

参考ページによると、Debian/armelはARMv4インストラクションセットをサポートしており、Debian/armhfはARMv7インストラクションセットをサポートしているようだ。ARMv7に対応しているのはARM Cortex-Aファミリ等からである。

つまりDebian wheezyはABIはarmhfであるが、Raspberry PiのCPU(ARMv6)には対応していないようだ。

 

Raspberry PiにてVFPv2をフルに活用するにはDebian wheezy以外の方法で

armhfに対応する必要があり、そのための手段がRaspbianの提供という事らしい。

 

なお、Ubuntuはarmel/armhf版ともにARMv7以降向けにコンパイルされているため

使用不可能との記載も発見。

 

以上、何か勘違いしていないと良いな。