The patch attached to this blog post is needed to successfully run VMware Workstation 8.0.1 on the current Linux kernel 3.2.0-rc2. So, it will be needed for the final 3.2 release, too. If you need instructions how to apply the patch please consult my other blog entries. Have fun!
VMware Workstation 8.0.0 won't work on Linux Kernel 3.1.0 out of the box. But, some clever guy coded a very neat script that you can use to patch the workstation in a few easy steps:
$ cd /tmp
$ wget http://126.96.36.199/vmware3.1rc.sh
$ chmod +x vmware3.1rc.sh
That should patch the modules source, recompile it and start the vmware services. I've also attached the courtesy copy of the script to this article, in case the remote location becomes unavailable.
VMware Workstation 7.1.4 worked correctly on kernel 2.6.38, e.g. the modules built without problems.
Unfortunately, it's not working correctly anymore, after you upgrade to the latest linux kernel 2.6.39.
Thanks to Weltall, we now have a patch that brings Workstation (and probably Player, too) up-to-date with the newest kernel. Here's the original article: Running VMware Workstation / Player on linux 2.6.39 - UPDATED
I've also attached the patch to this article, because Weltall's blog is quite slow and sometimes even unreachable. If you need help applying the patch, follow the instructions on this page: VMware Workstation 7.1.3 runs great on Linux kernel 2.6.37.
Of course, only after you patch the installation. :) I can't remember when was the last time Workstation run without patching, that was really long long time ago. Maybe it's Linus' fault, he moves too fast, who can tell... :)
Also, you won't be able to compile and run the 2.6.37 kernel with the legacy BKL (Big Kernel Lock) disabled, Workstation still depends on lock_kernel() and unlock_kernel() primitives. Let's hope VMware fixes that in their next revision.
Anyway... the patch is relatively small this time, but many files had to be patched for the modules to compile properly, so I propose a slightly different methodology for patching.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-root/modules/vmmon-only'
make -C /lib/modules/2.6.36/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
make: Entering directory `/usr/src/linux'
CC [M] /tmp/vmware-root/modules/vmmon-only/linux/driver.o
/tmp/vmware-root/modules/vmmon-only/linux/driver.c: In function 'init_module':
/tmp/vmware-root/modules/vmmon-only/linux/driver.c:425: error: 'struct file_operations' has no member named 'ioctl'
This time compilation fails with:
make: Entering directory `/tmp/vmware-root/modules/vsock-only'
make -C /lib/modules/2.6.35/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
make: Entering directory `/usr/src/linux'
CC [M] /tmp/vmware-root/modules/vsock-only/linux/af_vsock.o
/tmp/vmware-root/modules/vsock-only/linux/af_vsock.c:312: warning: initialization from incompatible pointer type
/tmp/vmware-root/modules/vsock-only/linux/af_vsock.c:359: warning: initialization from incompatible pointer type
While shrinking virtual disks is very functional using VMware tools from the guest machine while it is running, from time to time it may be convenient to do it offline, from command line. Here's the procedure to do that (linux host, windows guest):
First we have to mount the virtual disk on the host machine, to prepare it for shrinking:
vmware-mount vmachine.vmdk /mnt
If your guest is also windows OS, you need to make sure that you have ntfs-3g installed on your system. Most linux distributions nowadays have it enabled by default.
If you upgrade GTK library to the newest 2.18 version (comes with the new Gnome 2.28) your VMware Workstation 6.5.3 won't work well. Even if you have "Grab when cursor enters window" option set, VMware won't grab your pointer when you move mouse into the VMware window. Also, if you use ctrl-G to capture the pointer, VMware window will release it as soon as you move mouse around a little bit. Quite annoying behavior...
With the attached patch you can persuade your VMware Workstation to work on the newest Linux kernel 2.6.29. There are no guarantees, but it works for me(tm).
Unpack tar's from /usr/lib/vmware/modules/source into some directory (except vmppuser.tar), patch the source (patch -p1), run make in every subdirectory, copy resulting kernel modules to /lib/modules/2.6.29/misc and run depmod -a. Then you can run /etc/init.d/vmware start and check that all modules loaded correctly. That should be it.
Virtualization is a hot topic these days. With hardware getting more and more capable, by means of cheap multi-core processors and gobs of memory, we can expect virtualization to become only more important in the coming years. Virtualization promises reduced costs for IT organizations, both hard (machines, power, cooling) and soft (admin and operations personnel).