Skip to content
 

VMWare Workstation 6.5.4 with Linux kernel 2.6.33.4

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!

7 Comments

  1. Derek says:

    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.

  2. Jason says:

    Which version of VMware workstation are you using? 6.5.4? or 7.x? or something else?

  3. Stu says:

    Ooops! I’m using VMWare Workstation 6.5.4

  4. allanix says:

    thanks for the post, but I’m having an error of “Unable to start services. See log file /tmp/vmware-root/setup-19340″

  5. arcesyrup says:

    Thank you! Your tip of the files autoconf.h and utsrelease.h helped me a lot.

  6. Big thanks for the autoconf.h and utsrelease.h tips. Those of us who don’t mod kernels would never have found this.

Leave a Reply