2007年7月16日月曜日

VMware-server-1.0.3のインストール

Fedora7ではカーネルのバージョンが上がっているためVMware Serverのインストーラがうまく動かない。ぐぐってみた。するとVMware serverのインストーラを走らせたらできる「/usr/lib/vmware/modules/source/vmmon.tar」というtarボールの中の「compat_kernel.h」にif文を追加してやることでエラーが回避できるようだ。

ということで、

tar zxf VMware-server-1.0.3-44356.tar.gz
で解凍。
cd vmware-server-distrib
./vmware-install.pl
でインストーラを実行。ほとんどデフォルトでOK。唯一カーネルソースの場所のみ入力。
Fedora系では、
/usr/src/kernels/2.6.21-1.3228.fc7-i686/include
こんな感じになる。↑これは現状の自分のパスですのでそれぞれの環境で確認してください。ディレクトリがない場合は、
yum install kernel-devel
でインストールします。ついでにxinetdも必要になるのでインストールされていない場合はインストールしておきます。
yum install xinetd
インストーラをどんどん進んでいくとコンパイル途中でエラーが出るので一旦中段。
適当なディレクトリで、
tar xf /usr/lib/vmware/modules/source/vmmon.tar
で問題の「compat_kernel.h」が含まれているtarボールを解凍します。
cd vmmon-only/include
に「compat_kernel.h」がありますので、
vi compat_kernel.h
で以下の赤字の行を追加します。
#define __NR_compat_exit __NR_exit

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)

static inline _syscall1(int, compat_exit, int, exit_code);
#endif
vmmon-onlyより一つ上のディレクトリに戻ります。
cd ..
cd ..
修正した「vmmon.tar」を作ります。
tar cpf vmmon.tar vmmon-only
修正した「vmmon.tar」をあるべきディレクトリに上書きコピーします。
mv -f vmmon.tar /usr/lib/vmware/modules/source
vmware-config.pl
これでコンパイルがアボートしなくなりうまくインストールできます。まあ、いずれ修正版が出るでしょう。

0 件のコメント: