はてさて、先日の Vmware に関する挑戦の続き。 Vmware の Version 2.0 がついにリリースされました。 そこで、Vmware on FreeBSD のページから、 2.0 beta 対応の ports を持ってきて、 以下のパッチを当てれば (pkg/PLIST の変更もいるんだけど、 とりあえず無視無視) OK です。 このバージョンでは SMP に対応しているということで、 そちらも楽しみ楽しみ。
diff -ur vmware.orig/Makefile vmware/Makefile --- vmware.orig/Makefile Mon Jan 24 07:29:24 2000 +++ vmware/Makefile Sun Mar 5 04:44:47 2000 @@ -7,7 +7,7 @@ # VERSION= 2.0 -BUILD= 438 +BUILD= 476 VMMON_FREEBSD_VERSION = 0.95 VMNET_FREEBSD_VERSION = 0.11 LINUX_DIR= /compat/linux diff -ur vmware.orig/files/md5 vmware/files/md5 --- vmware.orig/files/md5 Mon Jan 24 07:30:49 2000 +++ vmware/files/md5 Sun Mar 5 04:44:50 2000 @@ -1,3 +1,3 @@ -MD5 (VMware-2.0-438.tar.gz) = 72876e3451a66a4419a9c6e412dd8ccb +MD5 (VMware-2.0-476.tar.gz) = 64d330c9a2476c93c66dacf4aab16fe3 MD5 (vmmon-freebsd-0.95.tar.gz) = 8e0413c523afd11a137d90743d8643e7 MD5 (vmnet-freebsd-0.11.tar.gz) = 9cbf5873139efaa136bb0b7ca7583821
まあ、そのうちこちらもリリース版に対応すると思いますが。 ちなみに、FreeBSD-current メーリングリストによると、 現状では Raw ディスクを使用する際には、 Linux エミュレータの機能が足りないらしいですが、 私は Virtual ディスクしか使っていないので関係ないです。
と、いうわけで、 取りだしましたるは、 Windows 2000 Professional の CD-ROM。 色つき「三田マーク」、 じゃなかった、Windows マークのホログラムが派手ですねぇ。
CD-ROM にこのディスクを突っ込んで、 vmware を起動します。
Windows 2000 用の新しいプロファイルを用意しましょう。 これは Vmware Wizard から作ることができます。
CD-ROM から起動する場合は、 [F2] キーを押して Phoenix BIOS の BIOS Setup を起動して、 ブートシーケンスで CD-ROM を最上位に持っていけば大丈夫です。
というわけで、起動しました。
CD-ROM にアクセスしながら、 インストーラが起動してきます。 Vmware は今度のバージョンから、 下の方にディスクアクセスなどがアイコンで表示されるようになったみたいですね。
32bit OS であるということで、 Windows 98 の時のようなトラブルもなく、 素直にセットアップが起動してきました。
NTFS でフォーマットするか FAT でフォーマットするか訊いてきますが、 当然のことながら NTFS です。 確かこの NTFS って、以前の NTFS と互換性のない新仕様なんですよね。 ぶつぶつ。 あとで FreeBSD からアクセスできるかどうか調べてみようかな?
ってなわけで、 VGA の画面が上がってきました。
まずはデバイスの検出が動きます。
これが終わると、 システムロケールとキーボードレイアウトの設定を尋ねてきますので、 日本語ロケール、英語キーボードを選択します。
次はネットワークコンポーネントを読み込みます。 telnet サーバなんて上がるんですよねぇ。 やめときゃいいのに…。
と、いうわけでうだうだとしているうちに、 結構簡単にインストールは終了します。 ここまで特にノートラブル。
オートログインにするか、 ログインプロンプトを出すかを訊いてきますが、 まあ、オートにすることもないよなぁ。 そういえば、日本語のユーザ名で登録すると、 インターネットの設定 (って何だ ^^; ?) が行われないという問題があるそうですが、 見事にデフォルトでは日本語になってますね。 いったいどういうバグなんじゃろう?
と、いうわけで、ログインプロンプトが出てきました。 めでたしめでたし。
でもまだ標準 VGA で、640x480 ピクセル 16 色なんですよね。 ドライバを入れねばなりません。
以前のバージョンの VMware では、 これらのドライバは vmware tools という形で、 独立してダウンロードする必要があったのですが、 2.0 では標準添付されており、 メニューから勝手にマウントも可能のようです (ただし、FreeBSD をゲストにするための vmware tools は、 相変わらず独自にダウンロードする必要がある…)。 が、PLIST でインチキをやったせいかこれではダメ臭いので、 手動でやってみましょう。 Vmware の configuration ウィンドウから、 Floppy Drive の設定を選択します。
この Type を Device を File に変更します。
そして、ファイル名を、 vmware-distrib/lib/floppies/windows.flp に設定して、 メニューから Floppy Drive を connect します。 これで、windows.flp のイメージが、 A: ドライブに仮想的にマウントされたように見えます。
をを、ちなみにサブディレクトリには win2k, win9x, winnt があります。 というわけで、Windows 2000 は標準サポートですね。
"Vmware Tools" アイコンをダブルクリックすると、 インストーラが起動してきます。
あとは普通に Installshield 系の操作でインストールするだけです。
ディスプレイドライバのインストールをするところで、 デジタル署名がないと表示されます。 あ、そうか、Win2K の HCL に入るわけないよね、Vmware みたいなツールって (でも最近なら入るのかな?)。 無視無視。
で、再起動してみます。楽勝で起動してきました。
ということで、32bit の 1024x768 ピクセルに設定しました。
これで、メニューから Full Screen に設定すると、 ほとんど Windows 2000 マシンそのもののような外見になってしまいました。 このモードだと、結構なスピードで動くのでそこそこ使えます。
ためしに、迷路やフラワーのスクリーンセーバを起動してみましたが、 これが意外にちゃんと動くのです。うーむ。
次はネットワークの設定ですね。 とは言っても、Host-only ネットワークなので、 前回の Windows 98 の時と基本的に一緒です。
インターネット接続ウィザードで設定しましょう。 両方とも LAN 接続ね。
よし、IE が起動しました。
さて、前は複数の vmware を起動できなかった (Linux で動かした場合はできる) んだけど、 今度はどうかなぁ。
と、思ったら /dev/vmmon がオープンできないと怒られた。 これは vmmon モジュールの作り方の問題でしょうね。たぶん。 さすがにこればかりは vmware の FreeBSD native 版が欲しいなぁ… (まあ、エミュレータで動くだけで十分すごいんだけど)。
ちなみに kldstat を取ってみると、 こんな感じ。
% kldstat Id Refs Address Size Name 1 4 0xc0100000 2ce1bc kernel 2 1 0xc0de5000 10000 linux.ko 3 1 0xc0e0c000 9000 vmmon_smp.ko 4 1 0xc0e17000 3000 vmnet.koあ、SMP 用の vmmon が自動認識で上がっているのね。 素晴らしい。 だけど、どうも何となく体感速度は SMP の方が遅い気がする。 確かめてみようと思って HDBENCH を試してみました (on Windows 2000)。 ついでに、ネットワーク経由でも試してみました (ただし、画像関連は 800x600 の 16bpp です)。
Int | Float | Mem:Rd | Mem:Wrt | Mem:R&W | Rect | Text | Ellip | BitBlt | DDraw | Dsk:Rd | Dsk:Wrt | Dsk:Cpy | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Single(local) | 26503 | 26218 | 9614 | 11458 | 14948 | 906 | 1530 | 718 | 13 | 5 | 15609 | 11961 | 3092 |
SMP(local) | 20633 | 20835 | 7678 | 8033 | 11250 | 976 | 1196 | 572 | 9 | 4 | 24065 | 3287 | 2576 |
Single(net) | 21300 | 21154 | 7779 | 8129 | 11158 | 296 | 3326 | 692 | 49 | 11 | 19485 | 2871 | 2260 |
SMP(net) | 19503 | 20444 | 7627 | 7875 | 11160 | 296 | 3148 | 1038 | 48 | 11 | 22729 | 3266 | 2333 |
所々に謎の値もありますが、 全般的に Disk の Read 以外はほとんどシングルプロセッサの方が速いですね。
さて、 それでは FreeBSD 4.0 (4.0-20000214-CURRENT) のインストールをしてみましょうか。 Vmware はフロッピーのイメージファイルをフロッピーディスクとしてマウントできます。 ということで、configuration メニューからフロッピーの設定を選び、 これらの配布ファイルを /1 というディレクトリに置いて、 /1/4.0-20000214-CURRENT/floppies/boot.flp というファイルにまずは設定します。 これでうまくいけばラッキー。
さて、これでブートしてみましょう。
あ、でもやっぱりダメだ。 エラーが出てしまった。
というわけで、素直に kern.flp にしてみましょう。
あ、ブートした。MFS root floppy に代えろとのメッセージが出ていますので、 やってみましょう。
フロッピーは、 メニューから「Disconnect and Edit」を選択します。 これで仮想フロッピーの入れ替えができます。
というわけで、 同じディレクトリの mfsroot.flp を指定しましょう。
お、起動してきましたね。 素晴らしい。
インストールは着実に進んでいます。 ネットワークの設定には Windows と同等のパラメータを設定します。
インストールは安直に終わりました。 次は Vmware tools for FreeBSD をインストールしましょう。 Vmware tools for FreeBSD には、 Vmware 用の X サーバとその他インストール用ツール (でも大多数はホストの Linux 関係のツール) が入っています。
インストール用ツールはあるのですが、 試してみるとうまく動きませんでした (途中までは動くんだけど)。
インストールが中途半端に終わったら、まず
# cd "vmware tools のディレクトリ" # cp XF86Config.dist /etc/XF86Configとして、まずは /etc/XF86Config 中の、 Section "Screen" の中の Modes "800x600" などの行を有効化して、 ポインタの所を /dev/psm0 の PS/2 から /dev/sysmouse の sysmouse にします。 で、
# cd /usr/X11R6/bin # ln -s XF86_VMware Xとすれば、startx で X が動いてきます。おお。
この環境で、カーネルの make の時間を比較してみました。
make kernel | |
---|---|
VMware on Single | 460 秒 |
VMware on SMP | 409 秒 |
Single | 282 秒 |
さて、 3.4-RELEASE から 4.0 へのアップグレードのシミュレーションでもやってみようかな? こういうテスト目的には、Vmware って最高ですね。 ためしに多国語化インストーラでやってみましょう。
で、ハングルモードを有効に (^^;。 自分で企画したソフトだが……語学力がなくて読めない……。 そういえばこのインストーラも多分に個人的趣味からはじめたプロジェクトだけど、 「遊び」は普通の人には良く分からないところにしか入れていないぞ (^^; (すでに「遊び」は消してしまった気もする…)。 まあ、例の論争も、 文句を言う人の気分も微妙に分からないでもないところが辛いな。 私だってたとえば何か操作をやるたびにビル・ゲイツのたわわな笑顔が出てきてやさしく語りかけてきたり、 一時配布元ページに行ったらビル・ゲイツが至福の笑顔でほほえみかけてくれるようなフリーソフトがあったとしたら、 いくら有用なソフトであっても、 またいくら個人の趣味で違法ではないとは言え、 やっぱりちょっとゴメンしたいだろうし、 本当は有用なソフトであればあるほど、 愚痴の一つでも言っちゃいそうだもんなぁ…。 ま、人間ができていないということだな (^^;。
をを、順調に進んでいる進んでいる。
じゃあ、ホスト OS の -current 側では、 アップグレード対象の -current の配布ファイルを、 make release するかなぁ (こういうことができるのがすごい)。