Index: [Article Count Order] [Thread]

Date:  Tue, 11 Apr 2006 15:15:01 +0900
From:  kinneko <kinneko@gmail.com>
Subject:  [tibi-ml:0683] USL-5P で外付け USB ストレージを rootfs にする
To:  tibi-ml@bakkers.gr.jp
Message-Id:  <7eb9f45c0604102315j4fd9845at46d1c05ea5d79002@mail.gmail.com>
X-Mail-Count: 00683

ごぶさたしてます。
きんねこ@金沢です。

  最近、ここも静かですね(^^;。ちょっとネタ振りしてみます。

  自宅で静かなPHPサーバーがやりたいという友人(というか同僚)のリクエストによ
 って、USL-5Pをファンレス静穏サーバー化してみました。
  USL-5Pは、文庫本サイズのUSB接続のハードディスクをSambaで共有するため
 のアダプタ製品で、SH4 266MHz, 64MB RAM、内蔵のCFから起動する Linux 応
 用品です。

  USL-5Pの改造といえば、一般には起動用の内蔵CFを MicroDrive や大容量CF
 に置き換える方法が主流ですが、MicroDrive は安くなってきたとはいえ、それでも
 まだ数万円はするのに容量単価が高く、大容量のCFは安くなってはいるのですが、
 システムをきちんとROM化しないと書き込みによる寿命がすぐに来てしまいます。
 これらの方法はちょっと使いたくないところです。
  今回は、その友人が普通のCFのようには使えないといういわく付きの Seagate
 ST1(5GB MicroDrive) を持っていたので、それを使おうと思ったのですが、案の定、
 lilo しても起動してきません。
  しかたがないので、CFは起動だけに使って、外付けのUSB-CFアダプタで Micro
 Drive を使い、USBマスストレージに rootfs を置くことにしました。今回は、たまたま
 使う予定のない MicroDrive が余っていたのでそれを使いましたが、普通の外付け
 のUSBハードディスクでも同じことです。
  こういう構成であれば、ディスク容量は気にする必要がないので、いろんな使い方
 ができます。CFを使うことによるROM化のためのノウハウもまったくいらないですか
 ら技術的なハードルも低くなっています。システム構成を変更するのに、CFを変更
 する必要はありませんから、USBハードディスクを取り替えるだけで、いろんな構成
 で動作させることができます。

  起動用CFのベースは kogiidena 版 kernel2.6.14 を使用し、kernel+initrdの合体
 イメージに対応するため、若干リバースパッチを当てました。
  initrdとしては、busybox に機能をめいっぱい指定して野良ビルドし、ほとんど単体
 でも動作するようにしたものを入れました(ここまでする必要はまったくないのですが、
 作っておくといろんなテストするのに便利なので)。若干のファイルやドライバ、lilo,
 boot.b などを詰め込んで、5MB くらいの起動環境になりました。
  あとは、USBのほうにswapとrootfsを切って、kogiidena版のDebian互換base環
 境を展開しておくだけです。

  この例では、外付けドライブにMicroDriveを使ったので、かなりコンパクトで静かな
 ものになりました。
  rootfsはいらないものを削除して、lighttpd, php4-cgi, ssh を追加してあります。
 RAMは64MBの半分くらいあいています。pukiwikiをテストで動作させてみました
 が、MicroDriveの反応の遅さをでも、それなりに動くようです。
  欲を言えば、CFRWのようなケーブルで接続するアダプタでなく、直挿しのアダプ
 タを使うともっとすっきりしたかもしれません。そのほうが安いし容量も稼げます。

  一応、USB にマスストレージがない、もしくはext*パーティションが指定の場所に
 なければ自動停止するようになっています。USBマスストレージが複数ある場合は、
 想定していません。sdaにrootfsを置いたドライブがアサインされれば、起動はでき
 ます。起動時には、電源スイッチを押すとソフトウエアシャットダウンします。
  CFはROMとしてしか使っておらず、起動後はまったく使われていないので、寿命
 を気にする必要はありません。半永久的に使えるでしょう。起動システムは小容量
 であるため、はじめから入っている64/128MBのものは使う必要はなく、そのへんに
 落ちているようなもはや使い道のない小容量のCFを使うことができます(busyboxの
 機能を絞れば4MBでも入ると思います)。
  MicroDriveが反応が悪くて動作が遅いので、これを普通のバスパワーなUSBドラ
 イブに変更すると、もっと普通に動くと思います。

  kernelには、USB-Soundなんかも入れてあるので、alsa関係のライブラリとプレー
 ヤーソフトを入れれば音楽再生をボタンで制御するなんていうこともできると思いま
 す。
  AsteriskでSIP電話なんてのもできるかもしれません。skypeのバイナリがSHで
 も動けばA2Aとかできていいかなと妄想したりもできます(動かないですけど)。
  開発のはじまっている winny互換アプリを動かせば、安全にP2Pを楽しむことが
 できるでしょう。
  Windowsから簡単にインストールができるように、USBストレージをFATにしてし
 まって、cloopで圧縮したROMイメージとswapもイメージに置くことも検討してみま
 したが、めんどくさくなってやめました(^^;。

  先ほど、本体の引渡しが終わりましたので、これで、手元にUSL-5Pがなくなり、
 もう遊べなくなりました。そうなると少し寂しいもんですね(^^;。

  開発で使用した起動用の小容量CFは、海老原さんやbeatさんから、使ってない
 小容量のCFをいただきました。どうもありがとうございました。

  まぁ、USL-5Pでも、こういう使い方もあるという事例として参考にしてください。