«前の日記(2008-04-15) 最新 次の日記(2008-05-18)» 編集

meta's blog - The Power To Serve

筆者について

FreeBSDを通じてOSSにささかな貢献を。

OSS活動をご支援いただける方を募集しています


2008-04-16 vmware-package

Debian lenny で VMware の deb パッケージを作る

前の日記の派生です。

vmware-packages を使って VMware を deb パッケージ化しようとすると、ビルドに失敗のエラーになる。

# make-vmpkg -k VMware-workstation-6.0.3-80004.i386.tar.gz
-- 8< ( snip ) ----
make: *** [kdist_build] エラー 2
BUILD FAILED!
See /tmp/vmware-workstation/var_cache_modass/vmware-kernel-source.buildlog.2.6.24-1-686.1208229700 for details.
ビルドに失敗しました。続けるには Return を押してください...

 ===> error, exiting with return value 7

ビルド失敗の原因は前回の日記で明らかになっているので、該当箇所のソースを書き換えてパッケージ化に再チャレンジ。

オフィシャルの tarball の中の vmmon.tar の中に vcpuset.h があるので展開して書き換えて元に戻せばよい。具体的な手順は以下。

一度オフィシャルの tarball を展開する。

$ tar zxf  VMware-workstation-6.0.3-80004.i386.tar.gz
$ cd vmware-distrib/lib/modules/source

tarball の中の vmmon.tar を展開する。

$ tar xf vmmon.tar
$ cd vmmon-only/include

ここに問題の vcpuset.h があるので 74行目あたりの、

#include "asm/bitops.h"

という行を

#include "linux/bitops.h"

と書き換える。

vcpuset.h を書き換えたら vmmon.tar を固め直す。

$ cd ../..
$ rm vmmon.tar
$ tar cf vmmon.tar vmmon-only/
$ rm -rf vmmon-only/

元の .tar.gz に固め直す。

$ cd ../../../..
$ rm -f VMware-workstation-6.0.3-80004.i386.tar.gz
$ tar zcf VMware-workstation-6.0.3-80004.i386.tar.gz vmware-distrib/

最後に deb パッケージ化に再チャレンジするが、中身を書き換えたことで MD5SUM が変わってしまったので -s オプションをつけて実行する。

# make-vmpkg -k -s VMware-workstation-6.0.3-80004.i386.tar.gz

なんの問題もなく完了したので、出来上がったパッケージをインストールしておしまい。

vmware-workstation/
|-- vmware-bin_6.0.3.80004.0.22.0_i386.deb
|-- vmware-blobs_6.0.3.80004.0.22.0_all.deb
|-- vmware-common_6.0.3.80004.0.22.0_all.deb
|-- vmware-eclipse_6.0.3.80004.0.22.0_all.deb
|-- vmware-kernel-modules-2.6.24-1-686_6.0.3.80004.0.22.0+2.6.24-5_i386.deb
|-- vmware-kernel-source_6.0.3.80004.0.22.0_all.deb
|-- vmware-lib_6.0.3.80004.0.22.0_i386.deb
|-- vmware-player_6.0.3.80004.0.22.0_i386.deb
|-- vmware-vix_6.0.3.80004.0.22.0_i386.deb
|-- vmware-workstation_6.0.3.80004.0.22.0_i386.changes
`-- vmware-workstation_6.0.3.80004.0.22.0_i386.deb

インストール。

# dpkg -i *.deb