近畿地方にお住まいのペンネーム:ケイくん大好き(嘘)さんから、Vine Linux 4.2でVMware Serverを動かす方法を知りたいというお便りをいただきました。私がこのブログでVineにVMServerを入れているのを見たのだが手順が書いてねぇぞボケと。ちなみにケイくん大好き(嘘)というのはケイくんを大好きなのが嘘なのではなく、私が勝手にペンネームをつけたので「ペンネーム:ケイくん大好き」が嘘という意味だ。

手順は以下の通り

  1. apt-getで現在入っているソフトウェアを最新のものにする
  2. gcc、inetd、kernerl-sourceパッケージをダウンロードする
  3. カーネルソースをvmware-serverが使えるように準備する
  4. vmware-serverをインストールする

以下、それぞれの段階でやる事をくわしく見ていこう。
ところで、この手順はVine Linux 4.2をゲストOSとしてvmware-toolsをインストールする際にも利用できる(VMware server、workstation、player)。

まず、apt-getで全てを最新版にする。これは必須ではなく、そちらの方がトラブルが少ないですよという事。さらに、gccとinetdを入れておく。

# apt-get update
# apt-get -y upgrade
# apt-get -y install gcc
# apt-get -y install inetd

カーネルがアップグレードされた場合は再起動する。Vine Linux 4.2のカーネルはまだアップグレードは(2008年1月6日現在)出ていないはず。kernel-2.6.16-0vl76.27というものだ。さて、万全を期すために現在動作しているカーネルのフルネームを確認。

# uname -a
Linux anmochi.dip.jp 2.6.16-0vl76.27 #1 SMP Tue Dec 18 23:38:48 JST 2007 i686 i686 i386 GNU/Linux

これで2.6.16-0vl76.27が動作している事が分かる。それではカーネルソースをapt-getで取ってくる。カーネルソースを取得する方法は以下の2つ。

# apt-get source kernel      (*1) kernelパッケージのソースパッケージ(srpm)を取得
# apt-get install kernel-source  (*2) kernel-sourceのバイナリパッケージ(?)を取得

このうち、mkkpkgなどを使ってカスタムカーネルを作成する場合は(*1)で取ってくる方が便利だ。ここでは、ディストリビュータオリジナルカーネルを用いる(*2)の方法を解説する。どちらもパッケージサイズがかなり大きいのでそこんとこ気をつけろ。

取得したカーネルソース(uname -aの結果と一致するバージョンである事を確認する事。確認方法は # rpm -q kernel-source)は/usr/src/linux-2.6.16以下に展開される。後でVMware-serverが探しやすいように/usr/src/linuxにシンボリックリンクをはる。

# cd /usr/src
# ln -s linux-2.6.16 linux

ではオリジナルカーネルを再コンパイルしましょう。その前に一つおまじない。

# cd /usr/src/linux
# vi Makefile

Makefileを開くと、4行目にEXRTAVERSION = -0vl76.27customという行がある。customという文字を削るべし。

(*3)
# make menuconfig

いくつかのコンパイルが実行された後コンソールスクリーン上にカーネルの設定一覧が出てくる。もう一度確認。画面上部に「Linux Kernel v2.6.16-0vl76.27 Configuration」と書かれているだろうか。ここがv2.6.16-0vl76.27customとなっていれば、もう一度Makefileを見直そう。後はexit。「Do you wish to save your new kernel configuration?」と聞いてくるのでYesと答える。これから作成するカーネルはVMwareのローダブルモジュールを作成するためのものなので、(たとえば「このマシンはCPUがアスロンだからCPUの設定を・・・・」などの)詳細な設定は不要だ。一応、カーネルコンフィグも既存カーネルと同じにしたければ、/usr/src/linux/configsの中に入っているコンフィグファイルをコピーすれば良い。(*3)の所で、

# cp configs/kernel-2.6.16-????.config ./.config

とする。????の所は、Pentium、MMX Pentiumだとi586、Pentium II, Pentium iii、Pentium M、Pentium 4、Core2あるいはそれに対応するCeleronやXeonの場合はi686、Athron x64はx86_64だ。例えば私が今自宅サーバに使っているPentium iii 700MHzだと

# cp configs/kernel-2.6.16-i686.config ./.config

となる。設定は以上で終わり。

# make

でカーネルを再構築しよう。くどいようだが構築したカーネルは使わない。コンパイルされたカーネルモジュールやヘッダが必要なだけだ。このカーネルのmakeはものすごく時間がかかるのでmakeを始めたらしばらく音楽でも聴いていていただきたい。コンビニに出かけて今のうちに食料品を買っておくというのも良いアイディアです(なんか英語を翻訳した文書にこういう言い回し多いよね)。実際はvmwareが必要とするものが用意できれば途中で止めても良いはずなのだが、止めるタイミングを説明するのが難しいので全部行なう方がトラブルが少なくて良いだろう。

カーネルの再構築が終わったら、あともう一息だ。やっとvmware-serverのインストールに入る。ここでは、VMware-server-1.0.4-56528.tar.gzを/tmpにダウンロード済みという前提で話をする。

# cd /tmp
# tar xzf VMware-server-1.0.4-56528.tar.gz
# vmware-server-distrib/vmware-install.pl

後は必要に応じてvmwareが質問をしてくるので適当に答えてあげれば完了だ。rpmを使う場合はVMware-server-1.0.4-56528.i386.rpmをダウンロードし、

# rpm -i VMware-server-1.0.4-56528.i386.rpm
# vmware-config.pl

でOKだ。ダウンロードは必ず英語サイト(www.vmware.com)から行う事。日本語サイト(www.vmware.com/jpやwww.vmware.jp)は意味不明なユーザ登録、個人情報入力を強要してくる上にダウンロードできるブツは英語サイトと何も変わらない。
近畿地方のケイちゃん大好きさん、これで、大体の事は分かったかな?