Inferno-Install

Install

VMなので、簡単にinstall/uninstallできます。

http://202.33.57.92/inferno/beginners/index.html を参考にすればすぐですね。

(試用版)download

直接ダウンロード可能っぽいのでリンク貼っちゃいます。 でも、その前にちゃんとライセンスを読みましょう。

2004/12/17にInferno 4th editionがupdateされました。

これ以外に、下の中からホストOSを選んでダウンロードしてください。

Install

基本部とホスト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を実行すると、ウィンドウマネージャっぽいのが立ち上がる。

killしすぎると…

特に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ファイルにはありません。メモリ搭載量から自動 的に決定されるからじゃなかったかな。

Install on Windows

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

Yet Another Install

USBメモリにInfernoをまるごと入れて持ち歩いて、「どこでもどんなOS上でもイ ンフェルノでうはうはだぜー」計画。 see Inferno-service

準備

FreeBSDでLinux.tgzやNt.tgzなども併せて展開->install。だいたい90MBytesぐ らいになりました。今どきのUSBメモリはこれぐらいなら全然平気だね。インス トールしたものをFreeBSD上で起動できることを確認。

結果

smb mount

FreeBSDから、Inferno以下をsambaに放りこんで、Windowsからmountしてみる。

Nt/386/bin/emu.exeをダブルクリック。あっさり起動。いえーい。

USBメモリ

実際には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から実行できたのが不思議だ。

考察および今後の課題