vmware-modconfig --console --install-all
Good news Linux kernel 2.6.24.x users! VMware Workstation v6.0.3 build 80004 can be made to build on the current stable kernel (at the time of this writing, the current stable version is 2.6.24.3). However, it needs a little hacking to make work so please observe the following instructions;
1) untar the VMware Workstation distribution provided by this torrent
EXAMPLE:
tar xvf /path/to/the/file/VMware-workstation-6.0.3-80004.i386.tar.gz
2) move to the directory containing vmmon module source
EXAMPLE:
cd ./vmware-distrib/lib/modules/source
3) untar vmmon.tar
EXAMPLE:
tar xvf ./vmmon.tar
4) apply the following sed
DO THIS:
sed -i 's/asm\/bitops.h/linux\/bitops.h/' ./vmmon-only/include/vcpuset.h
5) Repackage the vmmon tarball
EXAMPLE:
rm ./vmmon.tar && tar cf ./vmmon.tar vmmon-only/
6) return to top level directory
EXAMPLE:
cd /path/to/vmware-distrib
7) build the package
sudo ./vmware-install.pl *OR*
su (requires root password) ./vmware-install.pl
The exact problem is in the file vcpuset.h, located inside the vmmon.tar file under the directory “vmmon-only/lib/modules/source/include”. On line 74 of vcpuset.h you will find:
#include "asm/bitops.h"
This *must* be changed to:
#include "linux/bitops.h"
Before the vmmon kernel module will compile. This works on the testing distro of Debian codename `Lenny' using a custom compiled kernel version 2.6.24.3
If you are using VLAN do the following (copy&paste from VMWARE forums)
unpack /usr/lib/vmware/modules/source/vmnet.tar to a working directory in vmnet-only edit bridge.c on line 838 change line:
if (bridge->dev->hard_header_len != ETH_HLEN) {
to:
if (bridge->dev->hard_header_len != ETH_HLEN && bridge->dev->hard_header_len != ETH_HLEN +4) {
save, pack vmnet-only to vmnet.tar and put back in /usr/lib/vmware/modules/source re-run vmware-config.pl to rebuild the kernel modules.