富士通製のちょっと古めのA4ノート、FMV BIBLO NU13DにPlan9をインストールしました。 マシンのスペックはここにあります。 ちょっと抜粋しておきます。
今回インストールしたNU13Dは、メモリを64MB増設し、さらに、HDDを元々Macintosh PowerBook G3に搭載されていた4.3GBの
物と入れ替えてあります。また、PCMCIAのスロット1にcoregaの
PCC-T3COMのEtherLink III (ジャンク品。OTTOで2000円)を、
マウスとして、エレコムのホイールつきマウス
を繋いでます。
元々は、FreeBSDをインストールしていたものです。
通例通り、ベル研究所のページから Floppy bootイメージと、Plan9本体をダウンロードします。
前述の様にNU13DはTrident Cyber 9382を使ってるのでサポートしているはずです。 フロッピーにrawrite.exeを使ってブートイメージを書き込み、Bootをしてみると、ビデオを認識してくれません。 認識してくれない時は、vgainfo.txtにvgaの情報をダンプします。この情報から、認識するようにvgadbに書き加えます。
ctlr 0xC7345="TVGA BIOS Z6.1I (0.02)" # IBM Thinkpad 760ED (U9A) 0xC7367="TVGA BIOS Z6.1I (0.05) " # IBM Thinkpad 560E 0xC7845="TVGA BIOS WEN 6.1 (31) " # NEC Versa SX 0xC7A95="TVGA BIOS WEN 6.1 (35) " # NEC Versa SX 0xC7A97="TVGA BIOS WEN 6.1 (36) " # NEC Versa SX 0xC007B="TRIDENT" # FMV BIBLO NU13D この行を追加 link=vga ctlr=cyber938x linear=1 hwgc=cyber938xhwgc
さて、これでカードは認識してくれますが、Tridentのリビジョンが違うと言って怒られます。 ではというので、ソースをみます。ところが、ここで問題が一つ。 ソースは、gzipで圧縮されていますが、.9形式のアーカイブになってます。 このままでは展開できないので、Macintosh上でPythonを使って展開する プログラム を作り、全ソースを展開しておきました。 このソースは、9xf.plを参考にしました。 ソースを見ていくと、/sys/src/cmd/aux/vga/cyber938x.cがエラーを出していることが分かりました。 Trident Cyber 9382を認識するのは下記の所です。
default: error("unknown Cyber revision 0x%uX¥n", vga->sequencer[0x09]); break; case 0x42: /* Cyber9382 */ /* * Try a little magic for DSTN displays. * May work on other chips too, who knows. */ if(!(vga->graphics[0x42] & 0x80) /* !TFT */ && (vga->graphics[0x43] & 0x20)){ /* DSTN */
NU13Dのリビジョンは0x43ですので、ここにパッチを当てれば多分動くはずです。 FreeBSD/Windows95 + Infernoの環境を構築してvgaを作成することはできたのですが、 boot Floppyを作成する方法が分かりません。 結局、vitanuovaとメールのやり取りを何度かやって、 vitanuovaでboot イメージを作ってもらいました。 Plan9がないと、boot イメージを作成する事自体が難しいとのことです。
vgaを作成するために試しに作成したFreeBSDのパーティションを削除して、インストールを行います。 上書きができるかとも思いましたが、実際にやってみると割り当てられているパーティションにはインストールできませんでした。
さて、Bootしていくと、plan9本体をどこから持って来るのかを聞いてきます。 NU13DにはCD-ROMが付いていますが、Plan9からは認識されません。 そのため、Windows95のパーティション側に、plan9.9gzを置いておく必要があります。 この場合、
Distribution is from(local, internet):local Distribution disk: /dev/sdC0/dos
となります。
bootsetupでplan9を選択しましたが、立ち上がってくれないので、win9xに変更しました。 plan9.iniの書き換えなどを考えると、win9xの方が正解です。
これで、無事plan9は立ち上がりますが、この時点では、HDD側のvgaがNU13DのTridentを認識してくれません。 そこで、vgaを作成し直すのですが、これにはsedを使いました。edで書き換えても良かったんですけどね。 まず、glendaでログインします。
disk/kfscmd allow cd /sys/src/cmd/vga cp cyber938x.c cyber938x.c.org sed 's/case 0x42/case 0x43/' < cyber938x.c.org > cyber938x.c mk mk install disk/kfscmd disallow disk/kfscmd halt
42を43に書き換えちゃってますんで、42のディスプレイだと動かなくなります。 無事ウィンドウが立ち上がったら、もう一度書き換えてやる必要があります。
さて、このパソコンに接続したPCC-Tですが、 この段階では認識してくれません。PCC-Tでは、 TAMARACK TC3299Aを使っているとのことです。 また、NE2000互換ということなので、NE2000のドライバを使えば動くはずです。Plan9にはNE2000のドライバと、NE2000互換の EC2Tのドライバの2つがあります。最初NE2000の方を試しましたが、うまく行きませんでした。今考えてみますと、Plan9.iniの書き方に 問題があったのだと思います。 さて、まず、Plan9がPCC-Tのカードを認識してくれるか が問題です。plan9.iniのマニュアルをみますと、pcmciaコマンドでカードの情報を表示するとあります。
aux/pcmcia '#y/pcm1attr'
pcm1attrとなっているのは、1番スロットを指します。0番の場合は、何もオプションを付けないでも出ます。 shは#以降をコメントとみなしますので、シングルクォートは必須です。
出てきたメッセージを見ますと、カードは認識しています。そこで、"PCC-T"をキーワードとして認識させれば良いことになります。 まず、Windowsで、使用しているIRQ、IOアドレスをメモしておきます。 次に、plan9.iniを書き換えます。 plan9.iniは、C:¥plan9にあります。
ether0=type=ec2t id=PCC-T port=0x300 irq=11
上記の1行をplan9.iniに付け加えて、rebootして、下記の行が現れていたら成功です。
ether#0: ec2t: port 0x300 irq 11 addr 0x4000 size 0x400
ということで、今の所rioで何かする訳ではないので、plan9.iniからmonitorを抜いてみておきます。 こうすると、vgaは通らなくなります。
と、書いたのですが、流石にedでは苦しいので、なんとかrioを動かす手段を模索してました。 まず最初に疑ったのは、当然coregaのPCC-Tです。 サポート状況にあるEtherLinkIIIをなんとか探し出して、接続、チェックを行いましたが、状況は変わりません。 この時点で9fansの方へも質問して、Russ Coxさんとなんどかメールもやり取りしてみたのですがはかばかしくありません。 ところが、noneでloginしてvga を動かすと画面に変化があることに気付きましたので、monitorを抜いて、 termrc内でrioを起動しないようにしたまま、起動後のコマンドプロンプトで下記のように入力すると、確実にrioが使えることが判明しました。
% vga -l $vgasize
% rio
まあ、なんか一手間かかるんで気持ちよくはないですが、次善の策と言うことでこのまま使うことにしました。
ちなみに、Windowsを起動した後にNICが認識されないと言うのは、良くある問題だそうで、「直すのは厄介だ」ということです。
今回のインストールにあたっては、下記のページを参考にしました。また、vitanuovaにはお世話になりました。 vitanuovaのPlan9パッケージはマニュアルだけでも 購入する価値があります。