While testing out Slackware64 13.1, I found that VMWare Workstation doesn’t like kernel 2.6.33.4.
Installing VMWare workstation from the bundle worked fine, but it won’t run because the VMWare modules don’t compile. Running vmware-modconfig –console –install-all gives the cryptic message: “gcc and kernel headers must be installed.”
Um, gcc and the kernel headers are installed!
After a little digging, I found this VMware Fusion 3 on Mac OSX howto posted by Chris Willing at The University of Queensland Visilab: http://www.vislab.uq.edu.au/howto/vmware.html
This gave me my first clue: the files autoconf.h and utsrelease.h have moved from include/linux to include/generated. As much as I hate to hack my kernel source, I opted to link these files in include/linux.
cd /usr/src/linux/include/linux/ ln -sf ../generated/autoconf.h . ln -sf ../generated/utsrelease.h .
Now vmware-modconfig –console –install-all runs, but fails on compiling the vmnet stuff:
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:240: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
To fix this, I found the define for TASK_INTERUPTABLE (in /usr/src/linux/include/linux/sched.h). Now, to tell vnetUserListener.c about it:
cd /usr/lib/vmware/modules/source/ cp vmnet.tar was_vmnet.tar cd ~/tmp tar xf /usr/lib/vmware/modules/source/vmnet.tar cd vmnet-only
In vnetUserListener,c, add the line: #include <linux/sched.h> after #include "vnetInt.h"
cd .. tar cf vmnet.tar vmnet-only mv vmnet.tar /usr/lib/vmware/modules/source/
Now vmware-modconfig –console –install-all dies on the vmci stuff. As Chris Willing noted in the VMware Fusion 3 on Mac OSX (see above), adding a line to pgtbl.h fixes this:
cd /usr/lib/vmware/modules/source/ cp vmci.tar was_vmci.tar cd ~/tmp tar xf /usr/lib/vmware/modules/source/vmci.tar cd vmci-only/include
In pgtbl.h, add the line: #include <linux/sched.h> after #include "compat_page.h"
cd ../.. tar cf vmci.tar vmci-only mv vmci.tar /usr/lib/vmware/modules/source/
Finally, it all compiles and we have a working VMWare Workstation install!
Thanks for this, it was timely. I had the same problem but the links were all that was required for my 13.1 32-bit install. It is appreciated that you took the time to publish your notes.
Which version of VMware workstation are you using? 6.5.4? or 7.x? or something else?
Ooops! I’m using VMWare Workstation 6.5.4
thanks for the post, but I’m having an error of “Unable to start services. See log file /tmp/vmware-root/setup-19340″
Thank you! Your tip of the files autoconf.h and utsrelease.h helped me a lot.
Big thanks for the autoconf.h and utsrelease.h tips. Those of us who don’t mod kernels would never have found this.
[...] [1] “VMWare Workstation 6.5.4 with Linux kernel 2.6.33.4″ (http://bovitron.com/blogostu/2010/06/01/vmware-workstation-with-linux-kernel-2-6-33-4) [...]