Inferno on MacBook (ソースからコンパイル)

"Inferno Programming with Limbo"がAmazonマーケットプレイスで安く売られていたので思わずポチッとな。著者のPhilip Stanley-Marbellは執筆当時はCMUの博士課程の学生だったようで、講義資料が公開されている。また、同氏がDr.Dobb'sに書いた記事「Inferno Application Development with Limbo」もWebで読める。

本書は3rd editionを対象にしているが、4th edition、現在のバージョンとの差異はどのくらいあるのだろう? Inferno MLで流れていたが、近刊の"Principles of Operating Systems: Design and Applications"はInfernoとLinuxを例題にしたOSの教科書みたい。ちょっと気になる。他にもRITの講義資料もあったな。日本で講義に使われている例はあるのかな? ネイティブでもホストOS上でも動くし、教育用にもよさげだけど。

Google, Limbo, Inferno and Plan 9」なんて注目のされ方もあるし、Googleを目指す若者は要チェック!?

さて、以前InfernoをMacBookにバイナリインストールする方法を書いたが、今回はソースコードからコンパイルしてみよう。Infernoの総本山はVita Nuovaだけど、Google SoC用に用意されたSubversionリポジトリにもアクセスできるので、こっちを使うことにする。

$ svn checkout http://inferno-os.googlecode.com/svn/trunk/ inferno

まずはmkconfigのROOT、SYSHOST、OBJTYPEを変更する。ROOTがinfernoのルートディレクトリになる。

ROOT=/Users/oraccha/inferno
SYSHOST=MacOSX          # build system OS type (Hp, Inferno, Irix, Linux, Nt, Plan9, Solaris)
OBJTYPE=386                     # target system object type (s800, mips, 386, arm, sparc)
#OBJTYPE=$objtype

Infernoのコンパイルにはmakeじゃなくてmkが必要になるので、makemk.shを実行し、mkにパスを通す。

$ sh makemk.sh
$ export PATH=$PATH:/Users/oraccha/inferno/MacOSX/386/bin

あとはひたすらmk。

$ mk nuke
$ mk install

で、Inferno起動!

$ emu
;

acmeはフォントがないとか言われて起動しないので、適当に"-f /fonts/misc/unicode.6x13.font"とかフォントファイルを指定する。すべてのフォントがSubversionにあるわけじゃないのね。

Inferno Programming with Limbo

Inferno Programming with Limbo

Principles of Operating Systems: Design & Applications (Advanced Topics)

Principles of Operating Systems: Design & Applications (Advanced Topics)