[osask 6815] USB-boot.

  こんばんは、川合です。

  OSASK-Wikiでちょこちょこ書いていますが、今、がちゃぴんPCの製作
をやっています(正確には、がちゃぴんベータ)。

  それで、M/BにVIAのEPIA-ME6000というのを使っておりますが、この
M/BのBIOSはまことに優秀で、

・FDD
・ATA
・ATAPI
・SCSI
・USB-FDD
・USB-HDD
・USB-CDROM
・LAN

などのデバイスからブートできるようです。今まで、こんなにブートデ
バイスが多いBIOSを使ったことがなかったので、早速いろいろ実験して
それでいろいろ分かりました。

  ということで、おそらくこれらの全ての起動に対応した、ディスクイ
メージを作ってみました(ベータリリースです)。

    http://hideyosi.zive.net/~k/osausb0a.lzh  (512KB)

  FDD系デバイス(FDD、USB-FDD)は、この中のosaskusb.binをimgtol
などでFDに書き込んでください。ただのディスクイメージです。このま
まbochsでFDイメージとして遊ぶこともできます。

  またHDD系デバイス(CFなど)は、この中のosaskcf0.eiiをpcctolな
どでCFに書き込んでください(例:pcctol w 20 osaskcf0.eii)。これ
もそのままbochsのHDDイメージとして使うこともできます。

  osaskusbとosaskcf0の違いは、MBRが付いているかどうかだけです。
ああそれと、osaskusbはFAT12ですが、osaskcf0はSF16です。ブートセ
クタはおんなじです。このブートセクタは、どちらにも対応できるよ
うに、そして8GB以上の容量でも動くように書いてあります(2048GBま
でならOK)。

  たぶん、osaskbs1とosaskfdi.sysを用意すれば(osaskfdi.sysは、
osaskusb.binから取り出せます)、CD-ROMブートもできるんじゃない
かと思っていますが、試してはいません。だれかCDイメージを作って
みてうまくいったら、リリースしてください。

  ええと、ここまで読んで期待しすぎている人がいるかもしれないの
で説明しますが、USB-CFから起動はできても、USB-CFへ書き込むこと
はできません。いわゆる、OSASKFDI方式なのです。

  今までと違うのは、DOSを使わないのでOSASKFDIをかなり大きくでき
ることです。600KBくらいまでOKです。なお、OSASKFDI.EXEではなく、
OSASKFDI.SYSにしてください。起動もDOSを経由しないぶんだけ速いで
す。普通のOSASK.SYSでもOKですが、FDを読みに行ってハングアップし
ないように、デフォルトでdrvcfやdrvataになるように設定してくださ
い(FDを入れておくという手もありますが)。

  僕はUSB-CFで起動して遊んでいるのですが、USB1.1のCFは嘘みたいに
遅いです。IDE-CFなら一瞬なのに・・・。btcfを使ったPCカード起動も
IDE-CF並みに速いので、USB-CFだけがやたらと遅いです。

  これもUSB2.0のデバイスにすれば思いっきり改善するのかなあ。試し
てみたいなあ。ということで、今はUSB2.0のカードリーダを物色中。

  なお、今回作ったMBRもいろいろ細工があって、「CFにアダプタAをつ
ないでインストールしたDOSが、アダプタBで接続すると起動しない」な
んていう問題を自動で克復できるようになっています。

  これは、アダプタによってCFをHDDとしてアクセスする際のCHS値が変
わってしまうためなのです。FAT12/FAT16ではこのパラメータをブート
セクタに書き込んで記憶しているため、アダプタが変わると正しくアク
セスできなくなるというわけです。

  そこで僕のMBRは、ブートセクタに書かれているCHS値と現在のデバイ
スのCHS値を比較して、不一致の場合はブートセクタを書き換えてしま
うという、そういう仕組みになっています。

  ・・・まあ結局、今回の「なんでも対応ブートセクタ」「パラメータ
変っても追随するMBR」は、KHBIOSがあればもはやお払い箱になるもの
ではありますが、KHBIOSインストーラには使えそうなので、全くの無駄
というわけではなさそうです。

  あとはOSASKからUSBデバイスにアクセスできるようになれば完璧です
ね。これも、EPIA-ME6000のおかげでちょっとずつ進展しそうです。

  それでは。

--
    川合 秀実(KAWAI Hidemi)
OSASK計画代表 / システム設計開発担当
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/

ML番号でジャンプ
ML単語検索