注意: この文書は NetBSD 1.1 がリリースされる前に書かれたもので、今では 内容がだいぶ古くなっています。
NetBSD のメーリングリストは沢山ありますが、mac68k 関連のものは macbsd-general と macbsd-development の二つです。このうち macbsd-development のほうは NetBSD/mak68 そのものの開発者向けと いうことなので、普通は macbsd-general だけで充分でしょう。なお、 トラフィックは一日 10 〜 20 通程度あります。
※ 現在、この二つのメーリングリストは統合されて、ports-mac68k に なっています。NetBSD/mac68k 専用の ftp サイトとして、NetBSD/mac68k の開発者 Allen Briggs が管理している puma.bevd.blacksburg.va.us があります。 ここには、新しいパッケージやテスト版のカーネルなどが置いてあります。
日本国内の情報源は... よく知りません。NetBSD のメーリングリストは あるようです。WWW や ftp は、どうなんでしょう?
※ WWW は、SRA に BSD UNIX 情報索引 という ページがあります。私は 7 月から macbsd-general と macbsd-development を購読して いましたが、8 月に入って MacIIvx でも安定して NetBSD が動くように なったという報告があったので、そろそろ試してみることにしました。
まずはハードディスクのフォーマットです。余っていた 100MB の ハードディスクを Silverlining 5.5 でフォーマットし、A/UX 用の パーティションを切り、Mkfs を実行しました。
次はインストールです。MacBSD Install Utility 1.0 で /dev を作り、 BASE10 と ETC10 を展開し、MiniShell モードに入って cpin コマンドで netbsd.iivx を /netbsd にコピーしました。展開する際に、Console ウィンドウに展開しているファイルの名前が表示されますが、必要な ものはほとんど BASE10 に含まれているようなので、残りはあとで試す ことにします。
いよいよ起動です。MacBSD Booter 1.6 を起動し、SCSI ID などを設定し、 Boot... を実行します。メッセージウィンドウが現れ何やらメッセージが 出た後、画面が真っ白になり NetBSD が立ち上がりました。この際、 Booter のバージョンが期待していた 1.8 よりも古いというメッセージが 出ますが、Allen Briggs によるとこれは無視して良いそうです。
※ その後、Booter 1.8 がリリースされました。root でログインして ls や vi が使えることを確かめます。どうやら ちゃんと動いているようです。さて、次は何をしようかな。
※ ftp://ftp.iij.ad.jp/pub/NetBSD/arch/mac68k/binary/ にも同じものが あるようです。標準の MacBSD Install Utility 1.0 は分割されたファイルを取り扱うことが できません。もちろん、Mac の適当なユーティリティを使ってハードディスク 上でつなげても良いのですが、ハードディスクの空きが少ないので Installer に手を入れて、アーカイブの終りの前に EOF になったら次のファイルを要求 するようにしました。CodeWarrior でコンパイルしたところ、山のように Pointer type mismatch が出ましたが、適当に直したらちゃんと動きました。
1.0 を消すためにもう一度 Mkfs して、base と etc と comp をインストール しました。この時点でディスクの残りが少なくなってきたので、X はもう一台の ハードディスクにインストールすることにしました。このディスクは二つの MacOS パーティションに分けて使っていたのですが、フォーマットはせずに、 片方のパーティションを潰して A/UX パーティションにしました。この新しい パーティションは Mkfs はできますが、Installer ではマウントできません。 どうやら Installer は a パーティションしか (/ としては) マウントできない ようで、そのためにはフォーマットし直す必要があるようなのです。(/ 以外の ファイルシステムとしてはマウントできるようですが、まだ試してません。) 仕方がないので、分割した X.11Mar95.tgz をそのまま / に cpin し、NetBSD を起動して zcat + tar xvf しました。
PATH に /usr/X11R6/bin を追加し、共有ライブラリの設定をして startx を 実行すると、X server は画面サイズが 320x240 で rowBytes が 2048 だと 思っているようで、画面左側に行が間引かれて表示されます。(それでも、 一応動いてはいるようですが...) どうやら私の Futura MX とは相性が悪い ようです。残念。コンソールは何の問題もないのになあ。
で、会社につないで SLIP で普段使っているマシンに rlogin し、メール (もちろん英語のみ) を読めるようになりました。また、ftp はできるよう ですが、自分のマシン上で rcp リモートマシン:ファイル . とすると転送が 途中で止まってしまいます。ネットワーク回りはまだ不安定のようです。
さて、X の質問に関する返事が来ました。内容は、NetBSD/mac68k の画面 デバイスには ite と grf[01] があって、コンソールは ite を使っているが X や dt などは grf[01] を使っている、ite は Booter から画面サイズなどの 情報を得ているが、grf[01] はビデオカードに直接アクセスしているため、 Futura MX のように複数の画面モードを持つものは現在どのモードかカーネル には分からない、Booter 1.8 以降では現在の画面モードの情報をカーネルに 渡すようにしようと思っているが、Booter 1.8 はまだリリースできる状態では なく、Booter 1.6 のソースも出せない、というものでした。
カーネルのソースは展開されているものと、それを週に一度固めたものとが NetBSD の ftp サイト、および世界中の mirror サイトで公開されています。 展開されたものを拾ってくるのは大変ですから、多少古くても固めたものを ftp://gatekeeper.dec.com/pub/BSD/NetBSD/NetBSD-current/tar_files/src/ から持って来ました。カーネルのソースは sys.tar.gz に全部含まれています。 (ftp.iij.ad.jp のものはとても古かったのでやめました。また、ftp.sra.co.jp には tar_files はありません。他に日本国内に mirror サイトはありますか?)
Build-HOWTO によると、コンパイルの方法は
次に NuBus ビデオカードを制御している grf_mv.c をいじって、画面サイズ などを ite の持っている値を使うように書き換えて make し直しました。 今度は grf_mv.c をコンパイルしてリンクし直すだけですからそんなに時間は かかりません。これで Futura MX でも白黒の X11R6 が動くようになりました。
※ fj.os.bsd.netbsd での議論によると、 これは locale の問題ではなく、k14 などの漢字フォントが壊れているための ようです。なんでも、gcc -O2 でコンパイルした libfont.a と bdftopcf が おかしかったようで、これらを gcc -O でコンパイルし直して k14, jiskan{16,24} を作り直せば良いそうです。(私はまだ試してませんが。)MacIIvx なんてすでに何世代も昔のマシンですが、それなりに使えます。 これでカラーの X server が動くといいんですがねえ。あと、私は 17 インチ のディスプレイで使っていて、Mac として使うには充分な大きさなのですが、 X のアプリケーションはそれより大きな画面を前提として作られているものが 結構あります。で、Mac のアプリケーションと違って画面サイズに応じて自分の ウィンドウを小さくするなんてことはもちろんありません。困ったものだ。
MacOS と NetBSD を切り替えて使うのは面倒なんじゃないかな、と思って いましたが、それほどでもありません。むしろ、MacOS のアプリケーションが NetBSD を道連れにして落ちるなんてことはありませんので、かえって安心です。 それでも、Mac として使っている間に裏でコンパイルできたら便利だろうなあ、 という気はしますが。
... てなところです。御意見・御感想お待ちしています。