Here we go again, with VMware Workstation 6.5.2 (including VMware Player 2.5.2).
Here is a patch to get their modules to cleanly build on Linux kernel version 2.6.29.
It's a followup from this earlier thread, that was for the earlier 6.5.1 version:
http://communities.vmware.com//thread/202340
The changes between 6.5.1 and 6.5.2 are minimal. VMware, thankfully, no longer attempts to re-define the APIC_BASE_MSR symbol, making one part of the patch no longer necessary on 2.6.29, so it has been removed. That was what was causing the earlier error: the patch was attempting to patch something that no longer existed in the code.
Here's the new 6.5.2 patch, and a shellscript to help you apply it, attached.
Make sure your /usr/lib/vmware/modules/source directory is pristine. Reinstall 6.5.2 if you have to, in order to return this directory to its unchanged settings, if you had trouble applying the patch earlier.
Use the bash command to run the script:
bash ./vmware-6.5.2-modules-2.6.29-fix.sh
It should now apply cleanly, and there should be no errors.
Hope this helps!
Josh
fw114: It does feel weird to be doing VMware's job for them.
You're right, VMware should be aware of the latest Linux kernels and at least try to keep up. It usually takes fewer than one day of effort to make a patch, and probably less if one is already familiar with the VMware code. 2.6.30 is right around the corner
It sucks not to get the direct support from VMWare on that matter, anyway your help is highly appreciated.
Thank you very much for the excellent script (I really liked your bash programming style - it's clear and easily comprehensible) and patches, everything worked just fine!
Keep up your great work. I suppose once 2.6.30 is out new incompatibilities appear and you'll have to slightly rework your patches.
I just installed your patch on my Ubuntu 9.04 System with the 2.6.29.1 Kernel and it's working!!
( It wouldn't be working without it )
THANK YOU!!
Tim
Have anyone produced a patch for 2.6.30 yet?
I know it's still on RC2 state, but I've just upgrade to Ubuntu 9.04 and had to install 2.6.30-020630rc2 in order to get any decent i910 graphics performance and, of course, vmware modules compilation does not work (using vmware workstation 6.5.1).
Has anyone tried the patch for 6.5.2/2.6.29 on 2.6.30-rc2?
I'm willing to beta test any patch provided.
Thanks a lot
I am try to compile VMware-Workstation-6.5.2 buil 156735 with your patch as you have specified, and result is not fair:
ls -al
total 3356
drwxr-xr-x 2 root root 4096 Apr 29 09:24 .
drwxr-xr-x 4 root root 4096 Apr 29 09:21 ..
-rw-rr 1 root root 317440 Apr 29 09:21 vmblock.tar
-rw-rr 1 root root 655360 Apr 29 09:21 vmci.tar
-rw-rr 1 root root 1034240 Apr 29 09:21 vmmon.tar
-rw-rr 1 root root 798720 Apr 29 09:21 vmnet.tar
-rw-rr 1 root root 51200 Apr 29 09:21 vmppuser.tar
-rw-rr 1 root root 9307 Apr 29 09:24 vmware-6.5.2-modules-2.6.29-fix.patch
-rw-rr 1 root root 3495 Apr 29 09:24 vmware-6.5.2-modules-2.6.29-fix.sh
-rw-rr 1 root root 522240 Apr 29 09:21 vsock.tar
sh vmware-6.5.2-modules-2.6.29-fix.sh
Found tar file for vmppuser module
Found tar file for vmnet module
Found tar file for vmci module
Found tar file for vsock module
Found tar file for vmmon module
Found tar file for vmblock module
Using patch file: /usr/lib/vmware/modules/source/vmware-6.5.2-modules-2.6.29-fix.patch
Using module directory: /usr/lib/vmware/modules/source
Using backup directory: /usr/lib/vmware/modules/source-backup
Backing up ./vmppuser.tar to /usr/lib/vmware/modules/source-backup/./vmppuser.tar
Backing up ./vmnet.tar to /usr/lib/vmware/modules/source-backup/./vmnet.tar
Backing up ./vmci.tar to /usr/lib/vmware/modules/source-backup/./vmci.tar
Backing up ./vsock.tar to /usr/lib/vmware/modules/source-backup/./vsock.tar
Backing up ./vmmon.tar to /usr/lib/vmware/modules/source-backup/./vmmon.tar
Backing up ./vmblock.tar to /usr/lib/vmware/modules/source-backup/./vmblock.tar
Untarring vmppuser.tar
Untarring vmnet.tar
Untarring vmci.tar
Untarring vsock.tar
Untarring vmmon.tar
Untarring vmblock.tar
Testing patch
patching file vmblock-only/Makefile
patching file vmci-only/Makefile
patching file vmmon-only/include/x86apic.h
patching file vmmon-only/linux/driver.c
patching file vmmon-only/linux/hostif.c
patching file vmmon-only/Makefile
patching file vmnet-only/Makefile
patching file vmnet-only/netif.c
patching file vsock-only/Makefile
Applying patch!
patching file vmblock-only/Makefile
patching file vmci-only/Makefile
patching file vmmon-only/include/x86apic.h
patching file vmmon-only/linux/driver.c
patching file vmmon-only/linux/hostif.c
patching file vmmon-only/Makefile
patching file vmnet-only/Makefile
patching file vmnet-only/netif.c
patching file vsock-only/Makefile
Preparing new tar file for vmppuser module
Preparing new tar file for vmnet module
Preparing new tar file for vmci module
Preparing new tar file for vsock module
Preparing new tar file for vmmon module
Preparing new tar file for vmblock module
Trying to compile vmnet module to see if it works
Using 2.6.x kernel build system.
make -C /lib/modules/2.6.29.1/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/home/dimedrol/kernels/linux-2.6.29'
CC /usr/lib/vmware/modules/source/vmnet-only/driver.o
CC /usr/lib/vmware/modules/source/vmnet-only/hub.o
CC /usr/lib/vmware/modules/source/vmnet-only/userif.o
CC /usr/lib/vmware/modules/source/vmnet-only/netif.o
CC /usr/lib/vmware/modules/source/vmnet-only/bridge.o
CC /usr/lib/vmware/modules/source/vmnet-only/filter.o
CC /usr/lib/vmware/modules/source/vmnet-only/procfs.o
CC /usr/lib/vmware/modules/source/vmnet-only/smac_compat.o
CC /usr/lib/vmware/modules/source/vmnet-only/smac.o
CC /usr/lib/vmware/modules/source/vmnet-only/vnetEvent.o
CC /usr/lib/vmware/modules/source/vmnet-only/vnetUserListener.o
LD /usr/lib/vmware/modules/source/vmnet-only/vmnet.o
Building modules, stage 2.
MODPOST 1 modules
CC /usr/lib/vmware/modules/source/vmnet-only/vmnet.mod.o
LD /usr/lib/vmware/modules/source/vmnet-only/vmnet.ko
make[1]: Leaving directory `/home/dimedrol/kernels/linux-2.6.29'
make -C $PWD SRCROOT=$PWD/. postbuild
make[1]: Entering directory `/usr/lib/vmware/modules/source/vmnet-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/usr/lib/vmware/modules/source/vmnet-only'
cp -f vmnet.ko ./../vmnet.o
Trying to compile vmci module to see if it works
Using 2.6.x kernel build system.
make -C /lib/modules/2.6.29.1/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/home/dimedrol/kernels/linux-2.6.29'
CC /usr/lib/vmware/modules/source/vmci-only/linux/driver.o
CC /usr/lib/vmware/modules/source/vmci-only/linux/driverLog.o
CC /usr/lib/vmware/modules/source/vmci-only/linux/vmciKernelIf.o
CC /usr/lib/vmware/modules/source/vmci-only/common/vmciContext.o
CC /usr/lib/vmware/modules/source/vmci-only/common/vmciDatagram.o
CC /usr/lib/vmware/modules/source/vmci-only/common/vmciDriver.o
CC /usr/lib/vmware/modules/source/vmci-only/common/vmciDs.o
CC /usr/lib/vmware/modules/source/vmci-only/common/vmciEvent.o
CC /usr/lib/vmware/modules/source/vmci-only/common/vmciGroup.o
CC /usr/lib/vmware/modules/source/vmci-only/common/vmciHashtable.o
CC /usr/lib/vmware/modules/source/vmci-only/common/vmciProcess.o
CC /usr/lib/vmware/modules/source/vmci-only/common/vmciQueuePair.o
CC /usr/lib/vmware/modules/source/vmci-only/common/vmciResource.o
LD /usr/lib/vmware/modules/source/vmci-only/vmci.o
Building modules, stage 2.
MODPOST 1 modules
CC /usr/lib/vmware/modules/source/vmci-only/vmci.mod.o
LD /usr/lib/vmware/modules/source/vmci-only/vmci.ko
make[1]: Leaving directory `/home/dimedrol/kernels/linux-2.6.29'
make -C $PWD SRCROOT=$PWD/. postbuild
make[1]: Entering directory `/usr/lib/vmware/modules/source/vmci-only'
cp -f /usr/lib/vmware/modules/source/vmci-only/./Module.symvers /tmp/VMwareVMCIModule.symvers
make[1]: Leaving directory `/usr/lib/vmware/modules/source/vmci-only'
cp -f vmci.ko ./../vmci.o
Trying to compile vsock module to see if it works
Using 2.6.x kernel build system.
Building VMCI Sockets with VMCI module symbols.
cp -f /tmp/VMwareVMCIModule.symvers ./Module.symvers
make -C /lib/modules/2.6.29.1/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/home/dimedrol/kernels/linux-2.6.29'
CC /usr/lib/vmware/modules/source/vsock-only/linux/af_vsock.o
CC /usr/lib/vmware/modules/source/vsock-only/linux/driverLog.o
CC /usr/lib/vmware/modules/source/vsock-only/linux/util.o
CC /usr/lib/vmware/modules/source/vsock-only/linux/vsockAddr.o
LD /usr/lib/vmware/modules/source/vsock-only/vsock.o
Building modules, stage 2.
MODPOST 1 modules
CC /usr/lib/vmware/modules/source/vsock-only/vsock.mod.o
LD /usr/lib/vmware/modules/source/vsock-only/vsock.ko
make[1]: Leaving directory `/home/dimedrol/kernels/linux-2.6.29'
make -C $PWD SRCROOT=$PWD/. postbuild
make[1]: Entering directory `/usr/lib/vmware/modules/source/vsock-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/usr/lib/vmware/modules/source/vsock-only'
cp -f vsock.ko ./../vsock.o
Trying to compile vmmon module to see if it works
Using 2.6.x kernel build system.
make -C /lib/modules/2.6.29.1/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/home/dimedrol/kernels/linux-2.6.29'
CC /usr/lib/vmware/modules/source/vmmon-only/linux/driver.o
CC /usr/lib/vmware/modules/source/vmmon-only/linux/driverLog.o
CC /usr/lib/vmware/modules/source/vmmon-only/linux/hostif.o
CC /usr/lib/vmware/modules/source/vmmon-only/common/comport.o
CC /usr/lib/vmware/modules/source/vmmon-only/common/cpuid.o
CC /usr/lib/vmware/modules/source/vmmon-only/common/hashFunc.o
CC /usr/lib/vmware/modules/source/vmmon-only/common/memtrack.o
CC /usr/lib/vmware/modules/source/vmmon-only/common/phystrack.o
CC /usr/lib/vmware/modules/source/vmmon-only/common/task.o
CC /usr/lib/vmware/modules/source/vmmon-only/common/vmx86.o
CC /usr/lib/vmware/modules/source/vmmon-only/vmcore/moduleloop.o
LD /usr/lib/vmware/modules/source/vmmon-only/vmmon.o
Building modules, stage 2.
MODPOST 1 modules
CC /usr/lib/vmware/modules/source/vmmon-only/vmmon.mod.o
LD /usr/lib/vmware/modules/source/vmmon-only/vmmon.ko
make[1]: Leaving directory `/home/dimedrol/kernels/linux-2.6.29'
make -C $PWD SRCROOT=$PWD/. postbuild
make[1]: Entering directory `/usr/lib/vmware/modules/source/vmmon-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/usr/lib/vmware/modules/source/vmmon-only'
cp -f vmmon.ko ./../vmmon.o
Trying to compile vmblock module to see if it works
Using 2.6.x kernel build system.
make -C /lib/modules/2.6.29.1/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/home/dimedrol/kernels/linux-2.6.29'
CC /usr/lib/vmware/modules/source/vmblock-only/linux/block.o
CC /usr/lib/vmware/modules/source/vmblock-only/linux/control.o
CC /usr/lib/vmware/modules/source/vmblock-only/linux/dbllnklst.o
CC /usr/lib/vmware/modules/source/vmblock-only/linux/dentry.o
CC /usr/lib/vmware/modules/source/vmblock-only/linux/file.o
CC /usr/lib/vmware/modules/source/vmblock-only/linux/filesystem.o
CC /usr/lib/vmware/modules/source/vmblock-only/linux/inode.o
CC /usr/lib/vmware/modules/source/vmblock-only/linux/module.o
CC /usr/lib/vmware/modules/source/vmblock-only/linux/stubs.o
CC /usr/lib/vmware/modules/source/vmblock-only/linux/super.o
LD /usr/lib/vmware/modules/source/vmblock-only/vmblock.o
Building modules, stage 2.
MODPOST 1 modules
CC /usr/lib/vmware/modules/source/vmblock-only/vmblock.mod.o
LD /usr/lib/vmware/modules/source/vmblock-only/vmblock.ko
make[1]: Leaving directory `/home/dimedrol/kernels/linux-2.6.29'
make -C $PWD SRCROOT=$PWD/. postbuild
make[1]: Entering directory `/usr/lib/vmware/modules/source/vmblock-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/usr/lib/vmware/modules/source/vmblock-only'
cp -f vmblock.ko ./../vmblock.o
Replacing original file vmppuser.tar with patched file
Replacing original file vmnet.tar with patched file
Replacing original file vmci.tar with patched file
Replacing original file vsock.tar with patched file
Replacing original file vmmon.tar with patched file
Replacing original file vmblock.tar with patched file
Done!
I have changed the files in here:
/usr/lib/vmware/modules/source
I have placed a backup of the original files in here:
/usr/lib/vmware/modules/source-backup
The original VMware modules directory is still in the way.
Please move this directory somewhere else, because it confuses VMware:
/usr/lib/vmware/modules/binary
This command should work now, to install the modules:
vmware-modconfig --console --install-all
mv /usr/lib/vmware/modules/binary /usr/lib/vmware/modules/binary.old
vmware-modconfig --console --install-all
gcc and kernel headers must be installed
I use 2.6.29.1 linux kernel
Can you help me?
dimedroli4: That's a strange error you're getting from vmware-modconfig. I don't know what the problem would be. For some reason, it thinks your gcc and kernel headers aren't installed. That's not true, of course, because otherwise you wouldn't have been able to compile the VMware modules with the patch at all. Strange. Hopefully somebody else knows how to fix the problem with vmware-modconfig.
Thanks a lot for this patch !
man this patch just perfect, saved us a lot of time. U should be the director of that company u so own!
Hello,
If the VMware Player has no difference with Workstation, here is a source directory for compile on 2.6.30 :
http://communities.vmware.com/thread/208478
Bye,
I recently had some time to work on VMware again.
Here is the patch for the Linux 2.6.30 kernel:
http://communities.vmware.com/thread/208963
I tested this on Linux 2.6.30-rc4 and it works.
Hope this helps all the people who have been asking for a 2.6.30 patch!
Josh
Nice one
Does anyone notice that there are many 'Undefined' Warnnings when 'Using 2.6.x kernel build system. Building VMCI Sockets with VMCI module symbols.' . Enven throuth it doesn't matter at all,but i think it not so perfect,can it be fixed?
it says:
__FreeBSD__
MSCVER
undifined
I'm using ESX and it provides only vmware-tools 3.5.0. Where I can find the proper tools I could patch for 2.6.29?
I'm trying the latest Workstation 6.5.2 on Fedora 11 (2.6.29.4-167.fc11.x86_64) but I get this errors several times when running your script (vmware-6.5.2-modules-2.6.29-fix.sh):
warning: "_MSC_VER" is not defined
warning: "__FreeBSD__" is not defined
As a result the script doesn't do the magic.
Searching on google did me believe it has something to do with (non) installed packages, so I did this command "yum list * kernel *" and got this:
Loaded plugins: refresh-packagekit
Installed Packages
kernel.x86_64 2.6.29.4-167.fc11 installed
kernel-debug.x86_64 2.6.29.4-167.fc11 installed
kernel-debug-devel.x86_64 2.6.29.4-167.fc11 installed
kernel-devel.x86_64 2.6.29.4-167.fc11 installed
kernel-doc.noarch 2.6.29.4-167.fc11 installed
kernel-firmware.noarch 2.6.29.4-167.fc11 installed
kernel-headers.x86_64 2.6.29.4-167.fc11 installed
kerneloops.x86_64 0.12-5.fc11 installed
Available Packages
abrt-plugin-kerneloops.x86_64 0.0.3-1.fc11 fedora
abrt-plugin-kerneloopsreporter.x86_64 0.0.3-1.fc11 fedora
arm-gp2x-linux-kernel-headers.noarch 2.6.12.0-3.fc11 fedora
What should I do?
Thanks!
UPDATE : rebooted and did the command "vmware-modconfig --console --install-all" which DID work now! I'm such a newbie! Thanks a lot!
UPDATE2 : VMware itself seems to work, but my virtual machine doesn 't start up anymore.
Unable to change virtual machine power state: VMware Workstation cannot connect to the virtual machine. Make sure you have rights to run the program and to access all directories it uses and rights to access all directories for temporary files..
UPDATE3 : I did a complete uninstall, rebooted and dit it all over again. Now it works like a charm.
I'm also running this (testing) on fedora11, 64bit 2.6.29.4-167.fc11.x86_64 ... it works great for running machines. The problem I'm having however is stopping (or pausing) machines. When I try to shutdown or pause a machine, workstation will hang for a while (minute or so unresponsive), then it will crash. However if I do a ps, sure enough the vmx of that machine is still left running.
Anyone else experiencing this? Any ideas ?? I typically run multiple machines at the same time so this is a show-stopper for my planned upgrade to fed11.
Thanks!
I had the same observations. Fresh install of VMware Workstation 6.5.2, Krellan's patches (wow, lots of updates!), vmware-modconfig... Running a i686 kernel on a Pentium with hyperthreading.
Ran vmware from a terminal session. After a very long minute, it crashed, printed
terminate called after throwing an instance of 'vmdb::Error'
what(): Internal error
and exited with 0 status.
While vmware was busy hanging, the rest of the system was running normally. Top showed no abnormal usage from any vmware processes.
Tried again, but instead of waiting a very long minute, kill the vmware-vmx process. My vmware process went away immediately.
When I installed "acr38u" and "beid" in Mandriva 2009.1 x86_64 PowerPack with kernel 2.6.29, VMware Workstation 6.5.2 with patches crashes on shutdown of Windows Vista virtual machine. These are modules to connect a smart card device and read Belgian electronic identity cards. From a fresh install, VMware workstation works perfectly. After installation of these modules, when Vista is shutting down, the VMware workstation seems frozen for a minute and then suddenly disappears. Restarting VMware workstation does not help: Vista can not be started anymore. I already tried to turn off sharing of smart card, as described in the workstation manual on page 343 by adding usb.ccid.useSharedMode = "FALSE" in /etc/vmware/config. It did not help. Does anyone see a solution?
Any patch for Workstation 6.5.2 64-bit on Linus 2.6.30 kernel?
Hello,
Yes I have release a patch.
A minor fix from the patch available on this post.
You can download on -> http://communities.vmware.com/message/1243821#1243821
I work on VMWare Player (kernel 2.6.30 stable release), there are no reason for don't work on Workstation version but you can test and report please ...
Bye,