follow me

Raspbianをコンパクトに

本家Raspbianを使うと、初期状態から1GB程ストレージを消費するので、HDMIで画面を繋げない利用方法をしている僕はイロイロとパッケージを削除したものを作ってみました。
コンパクトなのは大切です。
不要物を消しただけなので、apt-getで追加していけばRaspbianに戻りますw
ユーザ名/パスワードもRaspbian標準のpi/raspberryから変更していません。

ちなみに、ココまで削ぎ落としました。
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          1.8G  421M  1.3G  26% /
/dev/root       1.8G  421M  1.3G  26% /
devtmpfs         85M     0   85M   0% /dev
tmpfs            19M  196K   19M   2% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            37M     0   37M   0% /run/shm
/dev/mmcblk0p1   56M   19M   38M  34% /boot
メモリ消費も抑えられています。
$ free
             total       used       free     shared    buffers     cached
Mem:        188880      39084     149796          0       5756      16460
-/+ buffers/cache:      16868     172012
Swap:            0          0          0
pi@raspberrypi ~ $
SDカードへのイメージの書込み方法は、Raspbianと同じです。
2013-02-16-wheezy-raspbian-minimal.img.7z
ファイル名の日付は、apt-get upgradeで最新までパッケージを更新した日付になります。
導入直後の更新に対するダウンロードを抑える事が可能なので、ネットワーク帯域が確保できない場合にも便利かも。
follow me

RasPiで1-wire温度計を使ってみよう

Raspberry Piで1-wire温度計を繋げてみました。
利用したのは、秋月電子通商で入手できるDS18B20+。簡単に入手できる事は大切です。
1-wireなので、電流が足りる限り複数接続できます。(ADを使ってしまうと複数繋げるのが面倒なので、1-wireを利用してみました。)


接続は、こんな感じです。
follow me

ARM板用にHDMI-DVI変換ケーブル(420円)

Raspberry PiやCubieboardに手を出しまくっている今日この頃。
HDMIなディスプレイをこのARM板に盗られて、PCなディスプレイ不足に。。。
で、DVIに変換するケーブルが安かったので購入してみました。(本当はHDMI切替機を買いに行ったのですが高かったw)

follow me

届いたRasPiの使用部品が変わってた

届いたRaspberry Piの使用部品がまた違ってました。
1番初めに入手したのがRSから、2回目以降はMODMYPIを利用させて頂いてますが、はじめは工場の違いだろうと思ってました。

左からRSの256MB版、MODMYPIの512MB版、MODMYPIの512MB版になります。
右の2個は両方MODMYPIからの購入ですが、使用部品やはんだの付け方が変わっています。

一番左の256MB版は、異なっていて当然なのですが、右2個の違いが気になります。
少し細かく見ていきましょう。
follow me

無線アダプタでRasPiをWiFi AP化

前回は手持ちの無線LANルータに接続したのですが、今回はRasPiを無線AP化してみましょう。
どっちの使い方が多いかは分かりませんが、AP化できる事も確認を取ってみました。
WiFiアダプタは、Logitecの「超小型USB無線LANアダプタ LAN-GMW/PSP」


iwconfigでmaster modeに出来るんじゃないかぁとか思ってたら、出来ませんでした。
$ sudo iwconfig wlan0 mode master
Error for wireless request "Set Mode" (8B06) :
    SET failed on device wlan0 ; Invalid argument.
で、hostapdで無線AP化します。
follow me

WiFiをRaspberry Piに

WiFiライフをRasPiに。
安かった無線LANアダプタを入手できたので、RasPiに繋ぎましたよ。
相変わらず、LinuxでのWiFiは悩みながら設定している軟弱者です。
碧いLEDがピカピカ光っております。


これでLANケーブルの呪縛から放たれるRasPi。
設定方法と、使用したアダプタは続きで記載します。
follow me

Debian Squeeze on RasPi(Resize Partition)

性能もろもろ考えるとRaspbianを利用すべきなのですが、訳在ってSqueezeを使う機会がありました。
で、raspi-configが無いという事に気が付き、/の拡張が。。。ってことで手順はこんな感じ。

1.パーティションテーブルの変更
swapパーティションを削除、2番目のパーティションを削除。
2番目のパーティションを開始位置を、削除前に合わせて作成する。(サイズを最大にする)
開始位置を合わせるのを忘れないで。。。(デフォで作ると位置が違うっぽく、起動しなくなりました。。。)
$ sudo fdisk -uc /dev/mmcblk0
2.再起動
$ sudo reboot
3.ファイルシステム拡張
$ sudo resize2fs /dev/mmcblk0p2
follow me

ModMyPiで購入したRaspberry Pi (512MB版)

Raspberry Pi 512MB版を入手してました。(なぜか過去形)
10月頃にメモリが256MBから512MBに倍増したモデルです。もちろん値段据え置きでです。


今回は、RSではなくModMyPiから購入してみました。
RSでは購入から商品到着まで数ヶ月掛かったのですが、ModMyPiはすばらしい、購入翌日には発送、10日程度でポストに届けられました。
平日家に居なかったりでポストを毎日見れてないので正確な日数はわからないが、ポスト内のチラシなどから実際には10日掛かっていないと思われる。

なにやら、RSより良さげな印象があるModMyPiですが、一点注意は、Raspberry Pi単品では購入できない点です。ケースと抱き合わせ販売になります。
ケースも同時に入手したい場合は、ModMyPiでの購入も検討されてみてはとお勧めします。
あと、標準だとUSドル表示じゃないので金額には注意を。

ではModMyPiを利用するにあたって気になるだろう「抱き合わせケース」を見ていきましょう。
follow me

MOEBIUS(Minimal Linux distribution)

Raspberry Piは安価でそれなりにパワーがあるのでオモチャとして出張のお供と化しています。
で出張先で書き書きしている訳ですが。

Raspberryの標準的なOSといえばRaspbianになるのですが、意外にも容量を喰ってしまいます。
正直、X.orgとか無くて問題ない利用方法をしているので、もっとコンパクトかつ同じ操作レベルのディストリビューションは無いものかと探しておりました。
見つけたのが、MOEBIUSです。
導入直後のdfの結果です。
使用量がかなり抑えられています。
root@raspberrypi:/# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          1.6G  524M  1.1G  34% /
/dev/root       1.6G  524M  1.1G  34% /
devtmpfs        109M     0  109M   0% /dev
tmpfs            22M  180K   22M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            44M     0   44M   0% /run/shm
/dev/mmcblk0p1   56M   36M   21M  63% /boot
root@raspberrypi:/#
導入後の初期設定用コマンド、raspi-configでのファイルシステム拡張で固まる変な現象も起きず、ほぼほぼRaspbianと同じに見えます。
apt-get upgradeを実施すれば、最新状態にも維持できる為、Raspbianから不要パッケージを削除しただけといった感じでしょうか。
一点不満があるといえば、rootのパスワードが、“raspi“に設定されてしまっている点。
できれば、一般ユーザからsudoで権限をとる形にして欲しかった処。
それぐらい設定すればいいじゃない?って話ではありますがwww
follow me

RaspbianでTremaは難しいか。。。

Raspberry PiやOpenBlocksでTremaが動けばいいと思っていた訳ですが、イロイロとめんどくさそうです。
とりあえず、出張中に試したRaspberry Piの結果を。
Raspberry Piには、Raspbianを利用しているものとして記載しますが、まずはデフォルトでrubyを入れるとruby 1.9が導入される為、以下エラーで動きません。
Tremaがruby 1.9対応されていない為出ているエラーの為、rubyは1.8を指定して導入する必要があります。(ruby 1.9への対応パッチも存在する様ですが試していません)
pi@raspberrypi /var/lib/gems/1.9.1/gems/trema-0.2.5 $ ./build.rb sudo 
.mono.rant:419: syntax error, unexpected ':', expecting keyword_then or ',' or ';' or '\n'
	    when String: obj
	                ^
.mono.rant:427: warning: else without rescue is useless
.mono.rant:462: syntax error, unexpected keyword_end, expecting $end
end # module Rant
   ^
./build.rb aborted!
次は、ruby 1.8に変更しgemsで導入を試みましたがエラーで導入できず。
最後に、githubから入手しビルドを試みましたが、エラーで導入できず。
/var/lib/gems/1.8/gems/trema-0.2.5/src/lib/match_table.c: In function 'compare_filter_match':
/var/lib/gems/1.8/gems/trema-0.2.5/src/lib/match_table.c:115:39: error: cast increases required alignment of target type [-Werror=cast-align]
/var/lib/gems/1.8/gems/trema-0.2.5/src/lib/match_table.c:115:39: error: cast increases required alignment of target type [-Werror=cast-align]
/var/lib/gems/1.8/gems/trema-0.2.5/src/lib/match_table.c:115:39: error: cast increases required alignment of target type [-Werror=cast-align]
/var/lib/gems/1.8/gems/trema-0.2.5/src/lib/match_table.c:115:39: error: cast increases required alignment of target type [-Werror=cast-align]
/var/lib/gems/1.8/gems/trema-0.2.5/src/lib/match_table.c:115:39: error: cast increases required alignment of target type [-Werror=cast-align]
/var/lib/gems/1.8/gems/trema-0.2.5/src/lib/match_table.c:115:39: error: cast increases required alignment of target type [-Werror=cast-align]
/var/lib/gems/1.8/gems/trema-0.2.5/src/lib/match_table.c:116:39: error: cast increases required alignment of target type [-Werror=cast-align]
........まだまだ続く
エラーは、-Werror=cast-alignがgccのオプションに指定されているからですが、このオプションを外してビルドできることは確認しているものの、動作に問題ないかの問題もあるのでコードを読む必要がありそうです。
ちなみに、TremaAppsもビルドして動かしてみましたが、エラーがでててやはり動きません。。。
現状、簡単には動いてくれそうにないです。
他のOpenFlow Controllerを試してから再挑戦するか考える事にしましょう。
root@raspberrypi:/home/pi/trema# TREMA_HOME=/home/pi/trema ./trema run ../apps/routing_switch/routing_switch.conf 
/home/pi/trema/ruby/trema/util.rb:32:in `sh': Command '../apps/routing_switch/routing_switch.conf --name routing_switch.conf ' failed! (RuntimeError)
	from /home/pi/trema/ruby/trema/daemon.rb:79:in `run!'
	from /home/pi/trema/ruby/trema/dsl/runner.rb:156:in `maybe_run_apps'
	from /home/pi/trema/ruby/trema/dsl/runner.rb:155:in `fork'
	from /home/pi/trema/ruby/trema/dsl/runner.rb:155:in `maybe_run_apps'
	from /home/pi/trema/ruby/trema/dsl/runner.rb:36:in `run'
	from /home/pi/trema/ruby/trema/command/run.rb:44:in `trema_run'
	from ././bin/trema:62
	from /var/lib/gems/1.8/gems/gli-2.4.0/lib/gli/command_support.rb:136:in `call'
	from /var/lib/gems/1.8/gems/gli-2.4.0/lib/gli/command_support.rb:136:in `execute'
	from /var/lib/gems/1.8/gems/gli-2.4.0/lib/gli/app_support.rb:260:in `call_command'
	from /var/lib/gems/1.8/gems/gli-2.4.0/lib/gli/app_support.rb:273:in `call'
	from /var/lib/gems/1.8/gems/gli-2.4.0/lib/gli/app_support.rb:273:in `call_command'
	from /var/lib/gems/1.8/gems/gli-2.4.0/lib/gli/app_support.rb:67:in `run'
	from ././bin/trema:241