VMなので、簡単にinstall/uninstallできます。
http://202.33.57.92/inferno/beginners/index.html を参考にすればすぐですね。
直接ダウンロード可能っぽいのでリンク貼っちゃいます。 でも、その前にちゃんとライセンスを読みましょう。
2004/12/17にInferno 4th editionがupdateされました。
これ以外に、下の中からホストOSを選んでダウンロードしてください。
基本部とホストOS部を展開して、setup、あるいはinstall/(ホストOS).shを実行。
% sh /home/faw/tmp/inferno/install/FreeBSD-386.sh /home/faw/Work/inferno
FreeBSD-386.shを指定するのに、相対パスではなく、絶対パスで/から書いてい くのがポイントです。
インストールし終わってkilledと言われても慌てないように。
FreeBSDでインストールすると、以下のようにでて止まる。
[faw:/home/faw/src/inferno/install]sh /home/faw/src/inferno/install/FreeBSD-386.sh /home/faw/Work/inferno Inferno Third Edition (20030603) main (pid=461) compile Initialize Dis: /dis/emuinit.dis panic: loading "/dis/emuinit.dis": file does not exist Killed mv: rename /home/faw/Work/inferno/FreeBSD/386/bin/emu.new to /home/faw/Work/inferno/FreeBSD/386/bin/emu: No such file or directory
/home/faw/src/inferno がsrcで、/home/faw/Work/inferno がインストー ル先。
386/bin/emuを単独実行しても同じ。
よくわからないので、別のうまくインストールしたマシンからディレクトリを 丸ごとコピーしたらうまくうごいた。なんだったんだろう。
/home/faw/srcは、他のファイルシステム(FAT32)へのシンボリックリンクだ ったからでした。同じファイルシステム上にコピーしたら無事実行されました。
emuを実行する。以下にその例を書きます。aliasなどするといいでしょう。 Windows版も基本は一緒です。ショートカットをはって、プロパティから、リン ク先のところで、オプションをいじりましょう。
引数は-rがworking ディレクトリを指定、-gがウィンドウの大きさ指定。-cは良 く分からないけど、命令セット最適化の設定らしい。とりあえず設定しておく。
% /home/faw/Works/inferno/FreeBSD/386/bin/emu -r/home/faw/Works/inferno/ -g1024x768 -c1
その後、wm/wmを実行すると、ウィンドウマネージャっぽいのが立ち上がる。
特にwmをいじっていると、なにも受け付けなくなることがある。
しょうがないから、Host OSのほうからemuのプロセスをkillしまくっていると、
panic: rendezvous: failed to allocate 20 semaphores from semaphore pool: No space left on device
とでて、emuが起動できなくなる。これはインストールの時などにも起こります。
これはセマフォが足りないために起こります。。ipcs(1)でセマフォの利用状況 確認してipcrm(1)で消します。
また、こうならないように、セマフォがたっぷり使えるカーネルを作り直すのも いいでしょう。
具体的にはFreeBSD4系統だと、
options SYSVSEM options SEMMNI=256 options SEMMNS=512 options SEMMNU=256 options SEMMAP=256
の値を適当に入れカーネルを再構築してください。まあ、この例ぐらいあればい いと思います。
ちなみに、5系統だと、configファイルにはありません。メモリ搭載量から自動 的に決定されるからじゃなかったかな。
inferno.tgz, Nt.tgzを解凍すると、inferno, Ntというディレクトリができる。
これを以下のようにする。わかりやすいように一部のファイルしか書いてないです。
inferno +-dis +-install - setup.exe - inferno.template + Nt -11033....tgz + inferno -11033....tgz +-mnt +-n +-tmp +-Nt +i386 +bin +emu.exe
Creating start-menu item でERRORが出てくるけど、まあ気にしない。そこは自 分でemu.exeにリンクを貼りましょう。c:\Infernoだったら、以下にemu.exeがあ ります。
c:\Inferno\Nt\386\bin
USBメモリにInfernoをまるごと入れて持ち歩いて、「どこでもどんなOS上でもイ ンフェルノでうはうはだぜー」計画。 see Inferno-service。
FreeBSDでLinux.tgzやNt.tgzなども併せて展開->install。だいたい90MBytesぐ らいになりました。今どきのUSBメモリはこれぐらいなら全然平気だね。インス トールしたものをFreeBSD上で起動できることを確認。
FreeBSDから、Inferno以下をsambaに放りこんで、Windowsからmountしてみる。
Nt/386/bin/emu.exeをダブルクリック。あっさり起動。いえーい。
実際には128MBSDカードにいれてみました。それをUSBなリーダに突っ込んで、PC に刺します。WindowsではGドライブとして認識されました。
んで、同じようにG:\INFERNO\NT\386\BIN\EMU.EXEをダブルクリック。
Can't find /dis/emuinit.dis
と言われて、あえなく沈没。
ショートカットを貼り、オプションとして-r.や-rG:\INFERNO\などをいれるが同 様にだめ。
デスクトップにコピーして実行すると、
Can't find C:\Inferno
という感じのエラーがでたので、C:の直下にコピーして見たが、/disが見付から ないといわれる。
sambaから実行できたのが不思議だ。