How-to Install VMware Player / Workstation on 2.6.25 Kernel

Update: Looking for 2.6.26 howto – here you go !

After the successful How-to install VMware Player and Workstation on 2.6.24 Linux kernel and with 2.6.25 up and running on my Debian Unstable (Sid) I had no option but to update the procedure.

  1. Download latest and greatest products from VMware
  2. Install and patch as described in the previous post (use vmware-any-any-update-116.tgz)
  3. Download the vmware-any-any-update-117-very-ALPHA.tgz
  4. Extract the archive in /usr/lib/vmware/modules/source (or wherever are yours vmblock.tar, vmmon.tar, vmnet.tar)
  5. Run vmware-2.6.25.sh and then vmware-config.pl
  6. If compiles – have fun, if not drop me a line 🙂

Important notes:

  1. The original author of the patches is 6xx I have modified the vmmon.patch since otherwise I was getting the error at the bottom of the article. The original patches can be found here
  2. vmware-2.6.25.sh is a very dumb script – read it carefully before executing. It will be even better to paste the commands one by one
  3. This any-any patch has nothing to do with the original any-any patches by Petr therefor I do not want to take the credit for it. All I’m trying to achieve is to gather the Linux VMware community here and share ideas. If someone wants to help and make the patches more unified and smarter just drop me a mail (can be found on the home page)
  4. I take no responsibility for any problems or damage that may
    occur as a result of using any of the information contained in this article.
    Use the information at your own risk 😉

Error log:

include/asm/page.h: In function ‘pte_t native_make_pte(pteval_t)’:
include/asm/page.h:128: error: expected primary-expression before ‘)’ token
include/asm/page.h:128: error: expected ‘;’ before ‘{’ token
include/asm/page.h:128: error: expected primary-expression before ‘.’ token
include/asm/page.h:128: error: expected `;' before ‘}’ token
include/asm/paravirt.h: In function ‘pte_t __pte(pteval_t)’:
include/asm/paravirt.h:955: error: expected primary-expression before ‘)’ token
include/asm/paravirt.h:955: error: expected ‘;’ before ‘{’ token
include/asm/paravirt.h:955: error: expected primary-expression before ‘.’ token
include/asm/paravirt.h:955: error: expected `;' before ‘}’ token
include/asm/paravirt.h: In function ‘void pmd_clear(pmd_t*)’:
include/asm/paravirt.h:1171: warning: missing braces around initializer for ‘pud_t’
include/asm/paravirt.h:1171: warning: missing braces around initializer for ‘pgd_t’
include/asm/paravirt.h:1171: error: cannot convert ‘pud_t’ to ‘pgdval_t’ in initialization
make[2]: *** [/tmp/vmware-config2/vmmon-only/common/task.o] Error 1
make[1]: *** [_module_/tmp/vmware-config2/vmmon-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.25-1-686'
make: *** [vmmon.ko] Error 2
make: Leaving directory `/tmp/vmware-config2/vmmon-only'
Unable to build the vmmon module.
Be Sociable, Share!

Tags: , , , ,

74 Responses to “How-to Install VMware Player / Workstation on 2.6.25 Kernel”

  1. Davy Says:

    VMPlayer 2.0.4 on Opensuse 11:

    I only had to use the 117 patch. I got some errors during the patching process but vmware-config did not throw exceptions and I was able to open my vmware image.
    I think the 116 patch is only required for VMPlayer 2.0.3 and older.

  2. Paul Says:

    VMware Workstation 5.5.5 build-56455
    FC8 x86_64

    Works great after a minor modification to your vmware-2.6.25.sh script. I had to comment out all the vmblock references, then away she went! Created the new modules with no errors and works perfectly.

    Thank you!

  3. Colin Says:

    Fedora 8 x86_64
    2.6.25.6-27.fc8
    VMWare Server 1.0.6 build-91891

    Works like a charm! Thank you so much for putting this up Peter.

  4. Jim Snyder Says:

    Minor problems with FC8 x86_64 and 2.6.25-6.27.fc8 on vmware workstation 6.0.4.

    The common/task.c patch for vmmon is unnecessary, AFAICT.

    The vmblock patch works.

    The patch to vmnetInet.h seems to be totally whacked for workstation 6.0.4, I wound up using:

    #define SET_SK_DEAD(_sk) sock_set_flag(_sk, SOCK_DEAD)

    which seemed very odd, but when I grep in the vmnet-only directory, the macro SET_SK_DEAD() doesn’t seem to be used, so I’ll bet that you could simply delete the macro and everything would be Just Peachy(tm).

  5. Jim Snyder Says:

    uh, one (ahem) minor problem mentioned elsewhere, the guest clock is running about 4x real-time.

    Makes XP somewhat more responsive, but double-clicking doesn’t work particularly well. 🙂

  6. Jim Snyder Says:

    Either I was mistaken about the clock, or else re-installing VMware tools has fixed the clock problem.

    I was relying on the clock in the date/time control panel, but now that I look at it more carefully, the second hand sweeps at a rate that depends on the system load. Post-VMware tool re-install, the host and guest clocks continue to track after an hour or so; instantanteously the guest clock will race ahead on occasion or fall behind.

  7. Nati CT Says:

    Works Great!

    I had some strange errors while running ./vmware-2.6.25.sh:

    patching file include/vcpuset.h
    Hunk #1 succeeded at 70 with fuzz 2.
    patch unexpectedly ends in middle of line
    patching file common/task.c
    patch unexpectedly ends in middle of line
    Hunk #1 FAILED at 25.
    1 out of 1 hunk FAILED — saving rejects to file common/task.c.rej
    patching file bridge.c
    patching file filter.c
    patching file vmnetInt.h
    Hunk #1 FAILED at 78.
    1 out of 1 hunk FAILED — saving rejects to file vmnetInt.h.rej
    patching file linux/dentry.c
    patching file linux/filesystem.c
    patching file linux/super.c

    But still, vmware-config.pl is completing successfully now 🙂

    Thanks!

  8. Clive Long Says:

    Hi,

    I upgraded from Fedora 7 to Fedora 9, kernel 2.6.23 to 2.6.25. Running VMWare workstation 6.0.4 build-93057

    vmware-config.pl failed on FC9 so I followed your instructions above. I still cannot run vmware-config.pl successfully under the 2.6.25. Thankfully the config routine still works under 2.6.23 – so I can still run vmware WS

    Why is vmware workstation so difficult to run on upgraded Fedora? Always fiddling required – such a cumbersome method to get working on Linux.

    Any suggestion on how to get VM WS working on 2.6.25 ?

    Messages below

    Thanks

    Clive

    ******************
    ….

    [root@Linux26G source]# ./vmware-2.6.25.sh
    patching file include/vcpuset.h
    Hunk #1 succeeded at 70 with fuzz 2.
    patch unexpectedly ends in middle of line
    patching file common/task.c
    patch unexpectedly ends in middle of line
    Hunk #1 FAILED at 25.
    1 out of 1 hunk FAILED — saving rejects to file common/task.c.rej
    patching file bridge.c
    Hunk #1 FAILED at 32.
    Hunk #2 FAILED at 853.
    2 out of 2 hunks FAILED — saving rejects to file bridge.c.rej
    patching file filter.c
    patching file vmnetInt.h
    Hunk #1 FAILED at 78.
    1 out of 1 hunk FAILED — saving rejects to file vmnetInt.h.rej
    patching file linux/dentry.c
    patching file linux/filesystem.c
    patching file linux/super.c
    [root@Linux26G source]#

    [root@Linux26G bin]# ./vmware-config.pl
    Making sure services for VMware Workstation are stopped.

    Using 2.6.x kernel build system.
    make: Entering directory `/tmp/vmware-config12/vmnet-only’
    make -C /lib/modules/2.6.25-14.fc9.i686/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
    make[1]: Entering directory `/usr/src/kernels/2.6.25-14.fc9.i686′
    CC [M] /tmp/vmware-config12/vmnet-only/driver.o
    In file included from /tmp/vmware-config12/vmnet-only/vnet.h:13,
    from /tmp/vmware-config12/vmnet-only/vnetInt.h:10,
    from /tmp/vmware-config12/vmnet-only/driver.c:40:
    /tmp/vmware-config12/vmnet-only/vm_basic_types.h:170: error: conflicting types for ‘uintptr_t’
    include/linux/types.h:40: error: previous declaration of ‘uintptr_t’ was here
    In file included from /tmp/vmware-config12/vmnet-only/vm_basic_asm.h:28,
    from /tmp/vmware-config12/vmnet-only/vm_oui.h:14,
    from /tmp/vmware-config12/vmnet-only/vnetInt.h:11,
    from /tmp/vmware-config12/vmnet-only/driver.c:40:
    /tmp/vmware-config12/vmnet-only/x86cpuid.h:383:1: warning: “BIT_MASK” redefined
    In file included from include/linux/kernel.h:15,
    from /tmp/vmware-config12/vmnet-only/driver.c:9:
    include/linux/bitops.h:7:1: warning: this is the location of the previous definition
    make[2]: *** [/tmp/vmware-config12/vmnet-only/driver.o] Error 1
    make[1]: *** [_module_/tmp/vmware-config12/vmnet-only] Error 2
    make[1]: Leaving directory `/usr/src/kernels/2.6.25-14.fc9.i686′
    make: *** [vmnet.ko] Error 2
    make: Leaving directory `/tmp/vmware-config12/vmnet-only’
    Unable to build the vmnet module.

    For more information on how to troubleshoot module-related problems, please
    visit our Web site at “http://www.vmware.com/download/modules/modules.html” and
    “http://www.vmware.com/support/reference/linux/prebuilt_modules_linux.html”.

    Execution aborted.

    [root@Linux26G bin]#

  9. Peter Says:

    @Clive Long – the reason is vmnetInt.h was not patched successfully. I will have to check out the reasons

  10. Bob Says:

    Pete,

    Works great for me!

    Thanks,
    Bob

    VMware Workstation 6 on Fedora Core 9
    ————————————————–

    Kernel: 2.6.25.9-76.fc9.i686 #1 SMP

    Get VMware-workstation-6.0.4-93057.i386.tar.gz
    Get vmware-any-any-update-117-very-ALPHA.tgz

    Need to get kernel headers to compile vmware:
    kernel-devel-2.6.25.9-76.fc9.i686
    kernel-headers-2.6.25.9-76.fc9.i386

    Need to disable FC9 kvm since it interferes with starting vmware (rename, or uninstall):
    /lib/modules/2.6.25.9-76.fc9.i686/kernel/arch/x86/kvm/kvm-amd.ko
    /lib/modules/2.6.25.9-76.fc9.i686/kernel/arch/x86/kvm/kvm-intel.ko
    /lib/modules/2.6.25.9-76.fc9.i686/kernel/arch/x86/kvm/kvm.ko

    Need to reboot after the kvm disable, “modprobe -r kvm” is not enough!

    Apply Peter’s 117 patches to vmware, some hunks will fail. This is OK.

    run vmware-config.pl. vmware will build cleanly, except for the
    “drag & drop” module (which is not needed).

    Run vmware!

  11. Kevin Says:

    Pete,

    First, thanks for this, it helps greatly (I’m much closer now than I was before to getting this working).

    I tried this out on Fedora 9 (x86_64), kernel “2.6.25.9-76.fc9.x86_64 #1 SMP”, with VMWare Workstation 6.0.4 (build 93057, x86_64 version from tarball). It configures and compiles/builds beautifully, but although I can start the VMware application, I am unable to run any of my virtual machines.

    Whenever I try to start a VM, I get the error: “Version mismatch with vmmon module: expecting 168.0, got 167.0. You have an incorrect version of the `vmmon’ kernel module. Try reinstalling VMware Workstation.”

    I think this is because during vmware-config.pl, I get the following output when it builds the vmmon module: “Unknown VMware Workstation 6.0.4 build 93057 detected. Building for Workstation 6.0.0.”

    Do you have any idea how to get it to build for the correct VMWare version? I’m not sure what it’s checking/consulting to find a list of “known” versions.

    Thanks!

  12. Kevin Says:

    OK, so after some more googling, I found the answer to the question I just asked…

    The “vmmon.tar” file in the any-any 116 patch is out of date for VMWare 6.0.4. If you just replace the “vmmon.tar” in the patch with the original Vmware 6.0.4 file, it works fine. In other words, after you extract the vmware-any-any-update-116.tgz file, but before you run it’s “runme.pl” script, just copy /usr/lib/vmware/modules/source/vmmon.tar to /tmp/vmware-any-any-update116 (assuming you extracted to /tmp) to overwrite the patch’s vmmon.tar file, then run runme.pl, and follow the rest of your instructions above. It detects the VMware version correctly and builds flawlessly.

    However, as Bob said, you also need to remove the “kvm” package and reboot. I guess it interferes with VMWare’s use of Intel’s VT technology somehow.

    Incidentally, the “vmblock” module built fine for me on Fedora 9.

    Thanks for the great how-to!

  13. ric_k Says:

    @motoprogger

    the problem with “init_mm” is, that it is not present in those new kernels anymore. in order to compile the vmmon-module successfully you need to activate the option “Enable unused/obsolete exported symbols” in “Kernel Hackings” for your kernel (and recompile it).

  14. Bob Says:

    Kevin,

    Did you apply just the any-any-116 patch, or just the any-any-117 patch, or both?

  15. julz Says:

    Hi,

    does anyone had installed it correctly with Debian 2.6.25 and wireless bridge? I got it compiled and running correctly expcept the wireless bridge.

    My Syslog is showing following error at startup:

    Jul 17 13:28:29 zion kernel: [ 5062.126518] bridge-wlan0: enabling the bridge
    Jul 17 13:28:29 zion kernel: [ 5062.126523] bridge-wlan0: is a Wireless Adapter
    Jul 17 13:28:29 zion kernel: [ 5062.126526] vmnet: You are trying to use wireless bridged networking together with
    Jul 17 13:28:29 zion kernel: [ 5062.126527] vmnet: vmware-any-any-update. This is not supported configuration, and
    Jul 17 13:28:29 zion kernel: [ 5062.126528] vmnet: your wireless bridge will probably not work.
    Jul 17 13:28:29 zion kernel: [ 5062.126531] bridge-wlan0: up
    Jul 17 13:28:29 zion kernel: [ 5062.126533] bridge-wlan0: already up
    Jul 17 13:28:29 zion kernel: [ 5062.126537] bridge-wlan0: attached

    I’am able to ping all my local IP’s but nothing outside my host. What to do?

    Cheers
    -j

  16. Jens Kuehnel Says:

    Hi,

    work great on VMwareWorkstation-6.0.4-93057 and Fedora 8 with kernel 2.6.25.11-60.fc8. But you have to change the VMMON_VERSION from 167 to 168.

    other than that I works great. Thanks a lot!

    Greeting from Germany
    Jens

  17. Jens Kuehnel Says:

    The file is vmmon-only/include/iocontros.h and vmmon-only/include/iocontros_compat.h.

  18. Martin Says:

    Works perfectly on an OpenSuSe 11 (i386), after upgrade from OpenSuSe 10.3. The vmware installation was the original one as on OpenSuSE 10.3, where the appropriate any-any patch was installed earlier. After the upgrade it was only needed to apply the vmware-any-any-update-117-very-ALPHA patch as offered here above.
    The vmware-config.pl script complained:

    ‘Your kernel was built with “gcc” version “4.3.1”, while you are trying to use “/usr/bin/gcc” version “4.3”.’

    but that is incorrect, installed is also gcc 2.3.1. Dunno why vmware doesn’t get it. Just ignore the warning and compile anyway.

  19. Martin Says:

    oops, typo, of course the last line of my comment above should be
    “but that is incorrect, installed is also gcc 4.3.1.”
    (not 2.3.1)

  20. foxi Says:

    quote:
    Hey, just wanted to let you know – I actually had bad workstation tarball. Re-synced it from backup, reinstalled, patched 116 with 117 and in the end all worked fine – 5.5 builds on Fedora’s 2.6.25 kernel. Checked the server 1.0.5, no problems either.

    That’s what I’m trying to do: Workstation 5.5 on kernel 2.6.25. It doesn’t work.
    I cannot apply the patch 117, because there are no patches in the directory.

  21. Bogô Says:

    Hi,

    I had the same problem with my vmware, i followed your instructions and didn’t workout for me.
    I could install vmware and run it.
    The only way to compile in this kernel is using any any 116.
    But when i start the vm i got the message “vmware expecting 161.0, got 167.0”.
    I’m using Debian Lenny Beta 2 Kernel 2.6.24-1 and vmware 6.0.0 45731.
    I extracted vmmon-only.tar from any any 116, and changed this 2 files:
    vmmon-only/include/iocontrols_compat.h (Line 18)
    vmmon-only/include/iocontrols.h (Line 48)
    167 to 161 and it workout.
    A re-run vmware-config.pl

    []

  22. Sal Says:

    Thank you soooo much! I’ve been struggling to get this installed for weeks.

  23. dumb linux user Says:

    Hi,

    well after using it to patch FC9 2.6.25.14-108.fc9.i686 succesfully I found myself today with a new kernal version 2.6.26.3-29.fc9.i686 in FEDORA 9. I looked if there was a more modern patch available and installed it. The vmware-any-any-update117d.tar.gz but if gave me an error message of

    “Version mismatch with vmmon module: expecting 169.0, got 168.0”.

    So I went back to this patch vmware-any-any-update-117-very-ALPHA.tgz and followed the instruction on this page and :-))) happy vmware is working again. THANKS!!

    Hope this might be helpfull. So this also works for 2.6.26 kernel!!
    Take care

  24. Opensuse Says:

    Just to update………….

    I successfully installed VMware Player 4.0.1 from bundle without any patch reqirement in Opensuse 11.0 (kernal 2.6.25)……….

Leave a Reply