さて、ベースシステムの準備が完了したので、次にカーネルを構築する。 方法はおなじみの config, make
depend, make を使い、 GENERIC カーネルをコンパイルする (ただし、現時点では config を
bootstrap 時には構築していない。この段階で古い config を使うと
失敗する危険性があるので、将来的には toolchain の構築に加えるつもりだ)。
ここでまで来たら make build まであと一歩である。 kerberosIV/lib と kerberosV/lib
を構築してインストール、 あらためて /usr/src を make clean, make depend して、 libroken
を構築しなおしておく。
さて、ここで cd /usr/src && make とすれば make build になるのだが、
まだまだ落し穴がある。game/boggle/Makefile には /usr/share/dict/words
と絶対パス指定で書かれている部分があり、DESTDIR を変更するとコンパイルに失敗する。 なので、make
の前に修正を加えておく。
あとは make, make install すれば、ベースシステムの構築は完了だ。
もちろん、release 作成の場合はまだ作業は終わらない。 make distribution
を行なって、配布用のツールや文書を構築する。 ここでもう一つ落し穴がある。/usr/src/etc/Makefile
に /usr/libexec/sendmail/sendmail という絶対パスがあるので、${DESTDIR}/...
に書き換えておく。
make distribution が終わったら、make release 相当の処理が必要になる。
しかし、/usr/src/Makefile の release ターゲットは使用しない。 chroot 環境下では、release
ターゲットが依存している snap_md を実行することはできないからだ。
Virtual PC という PC のソフトウェアエミュレータを使って OpenBSD/i386
を動作させる方法を書いたページが公開されているという情報をいただいたので、 紹介したいと思う。
Virtual PC とは、Connectix 社が販売している PC エミュレータである。 これは Macintosh
上において Windows が動作する、いわゆる Intel IA-32
アーキテクチャをエミュレーションすることが可能で、ゲスト OS として DOS, Windows9x/ME/NT/2000/XP,
Linux を公式にサポート、 動作環境は G3/G4 Mac で Mac OS 9.1 以降, Mac OS X (10.01
以降) に対応している。 Virtual PC 5 の日本語版は 2/28 に発売予定となっており、
最近は Windows で動作するバージョンもリリースされているようだ。
詳しくは文末にあるベンダへのリンクを参照してほしい。
こういった PC エミュレータとしてはもう一つ、VMware がある。 佐藤のまわりでも
Windows2000 をホスト OS, FreeBSD を ゲスト OS として Vmware
利用している人が何人かいるのだが、 彼らは「*BSD を使いたいけれども Windows
も使わなければならない、 かといってデュアルブートは手間がかかるし...」という意見なのだそうだ。
確かに仕事で使っている場合などは Windows を完全に捨てることは難しいし、
両環境間をシームレスに切り替えられる VMware の利便性は高い。 最近は PC
の価格も下がってきているので「マシンを増やせば良い」 という意見もあるかと思うが、
移動端末としてノート型 PC などを使っている場合は重宝するだろう。
さて、the OpenBSD on Virtual PC project とは、Virtual PC
上で OpenBSD を動作させようというプロジェクトである。 Virtual PC は *BSD
を公式にサポートしていないが、 このページではゲスト OS としてインストールするために必要な
起動イメージなど、必要なファイル一式が提供されている。
もちろん G3/G4 Mac は NetBSD や OpenBSD
がネイティブにサポートしているアーキテクチャなのだが、
こうしたエミュレーション環境を利用する利点というのはいくつかある。 まず大きいのは Mac OS
のアプリケーションを使いつつ *BSD を使うことができること、また、導入時の手間が省けることだ。
デュアルブートするためのインストール手順は複雑であり、 OS
のインストール/アンインストール操作は慣れていないと難しい。
Darwin ベースの Mac OS X には Unix-like OS
で広く使われているライブラリの移植が積極的に行なわれているため、 別個に *BSD
を導入しなくとも同様のアプリケーション環境を構築することは不可能ではない。 しかし、Mac OS X
はまだ発展途上であり、 そのような環境の整備にはノウハウを必要とするのも事実である。 Windows
でも VMware のようなエミュレータに対して cygwin を使ったアプローチがあるが、 VMware や
Virtual PC のように PC をまるごとエミュレーションしてしまう方法は、
導入さえできてしまえば特別な知識を必要としない。 また、既存の *BSD
環境を移行する手間なども低減してくれるだろう。
Virtual PC を使えば、実績のある OpenBSD を手軽に導入できる。 快適な *BSD
環境を比較的簡単に手に入れられるという点で、 検討する価値があるのではないだろうか。