image header
Index >> Plamo Linux Fan >> VMwareメモ
                VMwareメモ
2003/11/11

1.目的

 ちょっと毛色の変わったところで、僕にしては珍しく(笑) X 上で動くアプリのメモを書いて見ます。いや、ちょっと必要に迫られてやってみたら、これが結構楽しく^H^H^H大変で、Plamo 上で動かしたメモが見つからなかったので、書いておく事にしました。

 VMwareとは、ご存知の方もいらっしゃるでしょうけど、最近巷で話題の「DOS/Vマシンエミュレータ」です。
 今までも、DOSエミュレータとかWindowsエミュレータってのは数々在りましたが、これはマシン自体をエミュレートするという点で新しい発想だと思います。なにせ、起動するとまずはPhoenixBIOSが起動して、メモリチェックしたりするんですからね(^o^)
 これを使うとどんな事ができるかというと、Plamo Linuxが動いているマシンのLinux上でもう一台のDOS/Vマシンを動かせます。

 そんなシステムですから、基本的にはDOS/V用のOSなら何でも動く*はず*で、従って NetWare なんかも動いたりしちゃうわけです ヽ(^o^)ノ
 NLM のアップグレードがらみのトラブルシューティングするのに、試験環境作ったりするために、マシンを余分に用意しなくてはならない手間が省けるので、険しい道のりながらトライして見ました。

 なお、VMware を Plamo-1.4.x 上で動かすには、別途 glibc2 をインストールしなくてはならないはずですが、僕は試していません。Plamo-2.x でしたら、インストールしたままの状態で動作しますので、こちらについてだけ試しました。

 現在は、VMware-4がカレントですが、手元ではまだVMware-3を使用中です。
 VMware-3は、最大128GBまでのIDE HDDエミュレーションができるので、とっても便利。ホストOS上には作成できる最大のファイルサイズに分割してくれるので、LFSとか考える必要なし。
 また、ホストOSは現在 Plamo-3.3 になっていますが、Plamo-2.x 時代とやることは概ね変わりません。適宜読み替えてください。

2.入手先

VMware-workstation-3.2.1-2242.tar.gz
VMware ホームページ上から常に最新のアーカイブへリンクされているので、要チェック。rpm 版もある。

3.導入方法

 Plamo-2.0 を CD からインストールしてあると、組み込まれるカーネルは標準ではマルチプロセッサ対応のものになります。たしかどっかにそうした理由が書いてあったと思うんですが、思い出せません(^^; なお、Plamo-2.1/2.2.x ではシングルプロセッサのものになっています。
 で、この状態ですと、インストールの中盤以降、各種モジュールのコンパイルをしなくてはならないんですが、その段階で「インクルードファイルがカーネルにあってない」(一度しか見てないので忘れてしまいました(^^;)みたいなメッセージがでてコンパイルできず、更にアンインストールするとか再コンフィグレーションするのに、いろいろと余計な手間が掛かります。なので、VMware のインストールにはやる気持ちを押さえて、まずはカーネルをハードウェアに合わせる作業をされる事をお勧めします。
 または、単にいっぺん make dep するだけでいいというようなうわさもありますが、未確認です。
 なお、もし別の回避の方法があったら、是非教えてくださいm(_ _)m

 このバージョンのVMwareは、カーネル2.4対応になっていますが、2.2系列も動くかと思ったら、2.2.19まであげないと動きませんでした(^^; いずれにしてもカーネルは一度コンパイルしなくてはなりませんね。

  1. いくつかのディレクトリを作成する

    前提がRedHat系ディストリビューション用(?)らしいので、/etc/rc.d/以下にいくつか前提としてなくてはならないディレクトリがある。これらをあらかじめ作っておかないとインストールできない。

    # mkdir /etc/rc.d/init.d
    # mkdir /etc/rc.d/rc0.d
    # mkdir /etc/rc.d/rc1.d
    # mkdir /etc/rc.d/rc2.d
    # mkdir /etc/rc.d/rc3.d
    # mkdir /etc/rc.d/rc4.d
    # mkdir /etc/rc.d/rc5.d
    # mkdir /etc/rc.d/rc6.d

     なお、Plamo-2.2 ではこれらディレクトリはすでに存在するので、作成の必要はない。

  2. 最新のアーカイブを展開する

    # tar xvfz VMware-workstation-3.2.1-2242.tar.gz

  3. インストールする

    # cd vmware-distrib
    # ./vmware-install.pl

     このあと、設問がたくさん出てくるが、一応全部 Enter するだけで大丈夫なはず。途中コンパイルなどもされる。

     なお、インストールしてから一度もカーネルを再構築したことがない環境だと、/usr/src/linux/include を探しにいくところで「見つからない」とごねられる。これに出くわしたら、別のコンソールを起動して、root になり、/usr/src/linux へ行って、make config して make depend してみると幸せになれる(はず)。

  4. 起動スクリプトをVMware起動用に追記する

    # vi /etc/rc.d/rc.local
    # less /etc/rc.d/rc.local
    ...
    if [ -x /etc/rc.d/init.d/vmware ]; then
      /etc/rc.d/init.d/vmware start
    fi

  5. 再起動する

     これで、ひとまずVMwareが起動する準備はできたはずなので、X を起動し、ターミナルなどから下記のようにタイプしてみましょう。

    # vmware &

     すると、VMware のメインの画面が X 上に起動するはず。さぁ、あとは好きなOSをインストールして楽しみましょう:-)

  6. VirtualDiskサイズ制限の緩和

     VMware上のGuestOSで使うディスクは、VirtualDiskとRawDiskの二種類から選べますが、パフォーマンスはVirtualDiskの方が上だと感じます。サイズが2Gまでしかダメだと言うあたりがやや難ですが・・・
     で、VMwareの言う通り、2GBまで出来るかと思いきや、実はできないんですねぇ、これが(^^;
     Plamo-2.0/2.1 では、ユーザが作成できるファイルの最大サイズが、デフォルトで1GBに制限されているのです。これを緩和してあげないと、VMwareの仕様である2GBまでも使えないのですね。これはどこで直すかというと、/etc/login.defs内の設定を変更する事で行います。

    # vi /etc/login.defs
    # cat /etc/login.defs | grep ULIMIT
    ULIMIT 4194304

     コメントを読めばわかる通り、ULIMITの値は512バイト単位のブロック数ですから、2GBを許可するためには、(2048*1024*1024/512=4194304)という値を設定する事になります。VMware 2.0.4 はカーネル2.4.x対応なので、近い将来Plamoのカーネルが2.4.xになれば、より大きな値に設定できるようになるのでしょうね。

    Special thanx to ...
    江後田@「ポータブルLinuxの世界」さん、松村@InfoWebさんに、VMware MLでお世話になりましたm(_ _)m

4.運用

  1. Windows98をゲストOSとしてインストール
     ま、なんのかんの言っても Linux だけじゃお仕事できませんからねぇ、これは仕方ないですね(^^;
     まずは単純にリテール版Windows98をインストールしました。
     Windows95/98のインストールには、生のマシン(表現が変だ(^^;)にインストールする場合に比べて2倍から3倍の時間が掛かります。なぜなのかはわかりません。
     また、インストール終了後の Windows 起動時に、多分固まるんじゃないかと思います。これは、付録のURLにあるFAQなどをみれば書いてあるとおり、EMS メモリ管理関係(?)の問題で EMM386.EXE が固まってしまうからです。これを回避するために、config.sys 上の EMM386.EXE の引数に "NOEMS" を追記してあげるか、この行自体をコメントアウトすると直ります。
     僕は、当初ホストOSであるPlamo-2.0のXを 1024x768 32Bit color で動かしていたため、インストール直後のWindows98の動作が非常にとろくて、「なんだぁ、VMwareってこんなもんか(-.-)」などと罰当たりな事を思ってしまいました。快適に動かすには、多少(相当?)のチューニングが必要なようでした(^^; 以下に、僕が行ったチューニングを示しますが、「もっと出来る」という方は是非教えてください。今回、性能向上があったかどうかの目安には、HDBench3.22を使いました。

    1. 色数を落とす
       VMware Tools のディスプレイドライバは、ホストOSのXの色数を継承するらしいですね。なので、ホストOSのXのデフォルトの色数を減らして見ました。
       まずは 16Bit color(65536色)に落として試して見ました。確かにグラフィック関係の速度が微妙に上がりましたが、トータルでは劇的な変化は見られませんでした。

       続いて、8Bit color(256色)まで落として見ましたら、Windowモードにしたとき、Xの色が変になったり、Window内のWindowsの色が変になったり、いろいろしました。しかも、速度がそれほど劇的に変わらない(^^;ので、あっさり止めました。

    2. HDDをDMAモードにする
       これは、生のWindowsをチューニングするときにも使う手法なんですよね。エミュレーションだから関係無いと思ったら大間違いで、効く効く(^o^)
       面白い事に、これでメモリリード・ライトや、ビデオのパフォーマンスまで変わってしまいました。ベンチマークのアルゴリズムを調べていないので、まぁそういう癖があるのだろうということで気にしない事にしました(笑)
      #性能はあがったと言ってるんだし(^o^)

     上記に示す一連のチューニングをHDBenchで行った結果を載せておきます。生マシンのスペックは、

    1. ASUStek CUBX Rev1.02
    2. intel Celeron 667MHz (FSB:66MHzのまま、x10clock(笑)
    3. 512MB PC100 memory
    4. IBM DTTA371010(hda:intel piix)
    5. Quantum FBEL10.2A(hde:CMD648 ATA66チップ)
    6. Creative CT6981 AGP(Riva TNT2 16MB)

    ってところです。

     ★ ★ ★  HDBENCH Ver 3.22  (C)EP82改/かず ★ ★ ★
    M/B Name    VMware on ASUStek/CUBX + Celeron667MHz
    Processor   Celeron 667.97MHz[GenuineIntel family 6 model 8 step 3]
    Cache       L1_Data:[16K]  L1_Instruction:[16K]  L2:[128K]
    VideoCard   VMware SVGA(FIFO)標準 PCI グラフィック アダプタ
    Memory      130,200 KByte
    OS          Windows 98 4.10 (Build: 1998)
    Date        2000/06/26  12:22
    
    HDC = Intel 82371AB/EB PCI Bus Master IDE Controller
    HDC = プライマリ IDE コントローラ (デュアル FIFO)
    HDC = セカンダリ IDE コントローラ (デュアル FIFO)
    
    A = GENERIC NEC  FLOPPY DISK
    C = GENERIC IDE  DISK TYPE01
    D = NECVMWar VMware IDE CDR10 Rev 1.00
    
    [Full Screen Mode]
    Resolution  1024x768 (32Bit color)
       ALL  Integer   Float  MemoryR MemoryW MemoryRW  DirectDraw
      6045    24737   25892     7981    7678    12477           3
    
    Rectangle   Text Ellipse  BitBlt    Read   Write    Copy  Drive
         1330   1170     618     270    4711     822    3699  C:\20MB
    
    Resolution  1024x768 (16Bit color)
       ALL  Integer   Float  MemoryR MemoryW MemoryRW  DirectDraw
      6570    25001   26074     7981    7266    11979           5
    
    Rectangle   Text Ellipse  BitBlt    Read   Write    Copy  Drive
         1916   2311     975     231    4353    3961    3513  C:\20MB
    
    Resolution  1024x768 (32Bit color) with DMA transfer
       ALL  Integer   Float  MemoryR MemoryW MemoryRW  DirectDraw
     15458    25462   26814     7110    6852    11250           3
    
    Rectangle   Text Ellipse  BitBlt    Read   Write    Copy  Drive
         2097   1179     577     224   56417    3036    6164  C:\20MB
    
    Resolution  1024x768 (16Bit color) with DMA transfer
       ALL  Integer   Float  MemoryR MemoryW MemoryRW  DirectDraw
     25583    25784   27034     8232    7369    12068          13
    
    Rectangle   Text Ellipse  BitBlt    Read   Write    Copy  Drive
         2148   3996    1437     270   67147   44715   12551  C:\20MB
    
付録1.参考文献
VMware, inc. のホームページ
VMwareの販売元のページ。今じゃ日本に代理店があるらしいですが、お高いですね(^^;
VMware-jpメイリングリストのご案内ページ
日本語で質問できるMLの案内サイトです。過去ログが検索できるので、質問の前には必ず一度検索して見ましょうね(^-^)b
※なくなっちゃいました(泣)
VMware 日本語FAQ
URLをご覧になればわかるとおり、これは TurboLinux にバンドルされた Express 版についてのものですが、どうしても英語は苦手だ、とっかかりだけでも日本語の情報が欲しい、という方にはいいんじゃないでしょうか(^^;
※でもやっぱり最後の最後は英文を読めないとつらい・・・
あさりさんのVMwareメモ
いろいろと試行錯誤された過程が記されていて、次のアプローチを考えるのに役立ちましたm(_ _)m
Index >> Plamo Linux Fan >> VMwareメモ

image footer