玄箱ProのHDD温度が取得できるのを知ったので、そのメモ。
といっても、コマンドいっぱつ
# apt-get install hddtemp
hddtempというのが、HDDの温度を取得するコマンド。
# hddtemp /dev/sda
/dev/sda: WDC WD1001FALS-00E8B0: 45°C
簡単なことです。
# hddtemp -n /dev/sda
45
-nをつければ、数字のみが表示される。これでmrtgなどに流しこめばOK。
玄箱ProでDebian Lennyの環境が整ったところであるが、いくつかのコマンドが使えなくなっている。
nvram
u-bootの環境変数を読み書きするプログラム
miconapl
電源スイッチ、LED、スピーカー、ファンなどをコントロールするコントローラにコマンドを発行するコマンド
Fand
miconaplを使って、温度を調べ、ファンの速度を調整するスクリプト。
nvramは、もう使うことも無いだろうけど、一応保険。miconaplは、これはこれで、温度がとれたりするので、ためしてみる。
参考文献は、
と
お勉強になります。ありがとう。
# mount -t jffs2 /dev/mtdblock2 /mnt/a
まず、これで、オリジナルのLinuxのディスクというかFlashメモリをマウント。
# cp /mnt/a/usr/local/lib/buffalo_bin.so /usr/local/kurobako/lib
nvramだか、miconaplだかのどっちかが、buffalo_bin.soを使っているので、それを調達。
/usr/local/kurobako は、それ用に準備してみました。
# cp /mnt/a/usr/local/bin/miconapl /usr/local/kurobako/bin
# cp /mnt/a/usr/local/lib/nvram /usr/local/kurobako/bin
# cp /mnt/a/usr/local/lib/Fand /usr/local/kurobako/bin
# cp /mnt/a/etc/fan.prof /usr/local/etc
次に、Library Pathを追加するスクリプトを調達。まあ別に、普通に.bashrcとかに入れてもよさそうなんだけど、気分の問題。
miconapl
# !/bin/sh
CMD=/usr/local/kurobox/bin/`basename $0`
LD_LIBRARY_PATH=/usr/local/kurobox/lib $CMD $*
nvram
#!/bin/sh
CMD=/usr/local/kurobox/bin/`basename $0`
LD_LIBRARY_PATH=/usr/local/kurobox/lib $CMD “$@”
んで、このmiconaplと、nvramというスクリプトファイルを/usr/local/sbinに実行権をつけてほうりこんでおく。
# nvram -c printenv
で、ちゃんと表示されればOK。
# miconapl -b -a temp_get
で、温度が表示されればOK。
Fandはただのスクリプト。
あたまに、
CONF_FILE=/etc/fan.prof
となっているところがあるので、先ほどfan.profをコピーした、/usr/local/etc/fan.profに直しておく。
/usr/local/sbin/miconapl -b -a boot_end
/usr/local/sbin/Fand 2> /dev/null &
で、あとはこいつを/etc/rc.localのexitの前にいれておけば、起動時にFandスクリプトが起動して、温度にあわせてFanをコントロールしてくれる。
ついでに、
/usr/local/sbin/miconapl -a bz_melody “30 b4 b5 b4 b6”
も、rc.localに書いておく。これは、ぴろりろって鳴らすコマンド。rc.localの最後に書いておくことにより、再起動したあとに、ぴろりろって鳴ってくれて、再起動が終了したことがわかるようになる。