Such a way, there is a gap between VMware-server modules source code and awaited kernel source code.
It is absolutely needed to patch VMware-server modules source code to install it with recent kernel versions; this post gives instruction to do so with kernel 2.6.31, 2.6.32 or 2.6.33.
To begin, some header files have moved (you can read some information there), which can be fixed so:
cd /usr/src/kernels/$( uname -r )/include/linux
ln -s ../generated/utsrelease.h
ln -s ../generated/autoconf.h
Then to patch the VMware-server modules source code, it is needed to use this patch.
If you have downloaded the gunzip version, you can follow the instructions given with the patch, it is ok.
Otherwise, if you have downloaded the rpm version, those are some instructions to use this patch:
- install the rpm (do not launch the config script)
- backup source tar files (located under /usr/lib/vmware/modules/source), and then uncompress them
- create symbolic link (like if it was the tarball version)
mkdir -p /usr/lib/vmware/modules/source/a/lib/modules && ln -s /usr/lib/vmware/modules/source /usr/lib/vmware/modules/source/a/lib/modules/source
- use the patch
patch -N -p1 --directory="/usr/lib/vmware/modules/source/a" -s < /path/to/source-update.patch
- [re]create the source tar files, with patched source code
for tarFile in vmci vmmon vmnet vsock; do tar cf $tarFile".tar" "$tarFile"-only; done
- patch the config file
patch /usr/bin/vmware-config.pl < /path/to/config-file.patch
- launch the config file
Under Fedora (and perhaps others distribution ?), it is needed to perform additional instructions:
- edit /etc/services and add an entry linking TCP/902 port and vmware-authd
- disable SELinux, editing the /etc/selinux/config file (setenforce 0 can be used at runtime)
- move the VMware-server service file for haldaemon to start before it
mv /etc/rc3.d/S24vmware /etc/rc3.d/S27vmware