玄箱のファームウェアアップデートとshutdown。


ファームウェアのアップデート

 玄箱のファームウェア1.02が発表された。
 カーネルが更新されているようなので、更新したいところだが、Vine化しているのでそのままアップデートとはいかない。

 玄箱をバラして、開いている14GのHDDを取り付け、起動する。
 新ファームをインストール。これでフラッシュの中のカーネルは更新されたはず。
 あとは /lib/modules/2.4.17_kuro-box の中身を取り出しておく。
 HDDを元に戻す。
 取り出しておいた /lib/modules/2.4.17_kuro-box の中身を書き込む。

 これでOKのはず。とりあえず起動させてみてDNSとかNTPとかの動作を確認。

shutdown

 今回のファームウェアアップデートで、玄箱のシステムでは、shutdownコマンドが使用可能になっている。
 ためしにやってみたが、だめ。Vine化してあるので当然か。
 まじめに新ファームが何をしているのか調べてもいいのだが、めんどくさいので自力でなんとかする。
 電源操作には、AVRにコマンドを送る必要があることは先人の調査で判明済み。
 ならば、/etc/init.d/にあるhaltとrebootにコマンド送信を仕込めばいいだろう。

 ……Vineには /etc/init.d/rebootは無いのか。Debianにはあるのだが。
 Vineでは、haltもrebootも、/etc/init.d/haltが面倒を見ているようだ。

/etc/init.d/haltの shutdown 処理に
echo -n EEEE > /dev/ttyS1
を追加。 同じく、-r 対策として、reboot処理に
echo -n CCCC > /dev/ttyS1
を同様に追加。
具体的には、14行目あたりからが
# See how we were called.
case "$0" in
  *halt)
	echo -n EEEE > /dev/ttyS1
	message=$"Halting system..."
	command="halt"
	;;
  *reboot)
	echo -n CCCC > /dev/ttyS1
	message=$"Please stand by while rebooting the system..."
	command="reboot"
	;;
  *)
	echo $"$0: call me as 'rc.halt' or 'rc.reboot' please!"
	exit 1
	;;
esac
となる。 これで、shutdown -h now で電源断、shutdown -r now でリブートが可能に。

手の届く所に置いてあるので、普通にスイッチ使えばいいじゃん、とも思うんだけどな。

[index|玄箱。]
Copyright(c)2004 hayasita@@na.rim.or.jp
Last Updated:2004/05/07