kinneko
kinne****@gmail*****
2006年 4月 11日 (火) 14:42:04 JST
きんねこ@金沢です。 えらく静かなので、たまにはネタ提供。 自宅で静かなPHPサーバーがやりたいという友人(というか同僚)のリクエストによ って、USL-5Pをファンレス静穏サーバー化してみました。 USL-5Pの改造といえば、起動用の内蔵CFを MicroDrive に置き換える方法が 主流ですが、MicroDrive は安くなってきたとはいえ、それでもまだ数万円はするの に、容量単価が高く、その方法はちょっと使いたくないところです。 今回は、その友人が普通のCFのようには使えないといういわく付きの Seagate ST1(5GB MicroDrive) を持っていたので、それを使おうと思ったのですが、案の定、 lilo しても起動してきません。 しかたがないので、CFは起動だけに使って、外付けのUSB-CFアダプタで Micro Drive を使い、USBマスストレージに rootfs を置くことにしました。 こういう構成であれば、ディスク容量は気にする必要がないので、ガツンガツンい ろんな使い方ができます。CFを使うことによるROM化のためのノウハウもまったく いらないですから技術的なハードルも低くなっています。 起動用CFのベースは kogiidena 版 kernel2.6.14 を使用し、kernel+initrdの合体 イメージに対応するため、若干リバースパッチを当てました。 initrdとしては、busybox に機能をめいっぱい指定して野良ビルドし、ほとんど単体 でも動作するようにしたものを入れました(ここまでする必要はまったくないのですが、 作っておくといろんなテストするのに便利なので)。若干のファイルやドライバ、lilo, boot.b などを詰め込んで、5MB くらいの起動環境になりました。 あとは、USBのほうにswapとrootfsを切って、kogiidena版のbase環境を展開して おくだけです。 外付けドライブにMicroDriveを使ったので、かなりコンパクトで静かなものになりま した。rootfsはいらないものを削除して、lighttpd, php4-cgi, ssh を追加してあります。 RAMは64MBの半分くらいあいています。pukiwikiをテストで動作させてみましたが、 MicroDriveの反応の遅さをでも、それなりに動くようです。 欲を言えば、CFRWのようなケーブルで接続するアダプタでなく、直挿しのアダプ タを使うともっとすっきりしたかもしれません。そのほうが安いし容量も稼げます。 一応、USB にマスストレージがない、もしくはext*パーティションが指定の場所に なければ自動停止するようになっています。USBマスストレージが複数ある場合は、 想定していません。sdaにrootfsを置いたドライブがアサインされれば、起動はでき ます。起動時には、電源スイッチを押すとソフトウエアシャットダウンします。 CFはROMとしてしか使っていないので、寿命を気にする必要はありません。起動 後はまったく使われていません。そのため、はじめから入っている64/128のものは 使う必要はなく、そのへんに落ちているようなもはや使い道のない小容量のCFを使 うことができます(busyboxの機能を絞れば4MBでも入ると思います)。 MicroDriveが反応が悪くて動作が遅いので、これを普通のバスパワーなUSBドラ イブに変更すると、もっと普通に動くと思います。 kernelには、USB-Soundなんかも入れてあるので、alsa関係のモジュールとプレ ーヤーを入れれば音楽再生をボタンで制御するなんていうこともできると思います。 AsteriskでSIP電話なんてのもできるかもしれません。skypeのバイナリがSHで も動けばA2Aとかできていいかなと妄想したりもできます(動かないですけど)。 Windowsから簡単にインストールができるように、USBストレージをFATにしてし まって、cloopで圧縮したROMイメージとswapもイメージに置くことも検討してみま したが、めんどくさくなってやめました(^^;。 先ほど、本体の引渡しが終わりましたので、これで、手元にUSL-5Pがなくなり、 もう遊べなくなりました。そうなると少し寂しいですね(^^;。 開発で使用した起動用の小容量CFは、海老原さんやbeatさんから、使ってない 小容量のCFをいただきました。どうもありがとうございました。 まぁ、USL-5Pでも、こういう使い方もあるという事例として参考にしてください。