VMware Workstation and RHEL 6.1 and vmmon and trouble

If you have VMware Workstation and are thinking of upgrading your OS to RHEL (or its clone) 6.1, be prepare to go through some extra steps. VMware WS and EL6.1 won’t work together. 🙁 See, for example, this VMware community forum post: the vmmon.ko module won’t load. Technical details of this issue can be found in this Red Hat bugzilla entry. Apparently, a patch introduced in the EL 6.1 kernel (2.6.32-131.0.15.el6) changed the smp_ops symbol and that prevents the vmmon kernel module from loading.

In VMWare Workstation 7.1.4 build-385536, I see this info with the modinfo command:

vermagic:       2.6.32-71.el6.x86_64 SMP mod_unload modversions

A workaround is to compile the vmmon module on EL 6.1.
Make sure you have kernel-devel installed that matches the running kernel.
Start as a user (not root):

(1) mkdir ~/vmsrc ; cd ~/vmsrc
(2) tar xvf /usr/lib/vmware/modules/source/vmmon.tar
(3) cd vmmon-only
(4) make [Note: this builds vmmon.ko]
(5) strip --strip-debug vmmon.ko [This is optional. Note the two dashes]
(6) su -
(7) cd /lib/modules/`uname -r`/misc
(8) mv vmmon.o vmmon.o.dist [Note: save the original just in case]
(9) cp /(path to user's home)/vmsrc/vmmon-only/vmmon.ko vmmon.o

That should do it!

36 thoughts on “VMware Workstation and RHEL 6.1 and vmmon and trouble

  1. Hello TC ,
    Thanks for the workaround . I tried it with strip , but ended up corrupting the file . And vmware could not start . Second time around I skipped strip , it created a much bigger file , but working perfectly .

    Best Regards
    Milorad

  2. When running the strip command, please be sure to add the –strip-debug option (two dashes). Otherwise it won’t work. As you noted, this would greatly reduce the size. Apparently, the original modules provided by VMware are also strip’d.

  3. Thanks for the help. Worked fine but had to omit the strip command. i did note the double dash, tried twice and got corrupted module both times.

    Cheers

  4. Hmmm, you are the second person to report the problem with the strip command. It worked for me, so I have to try again. In the meantime, let’s skip that step because it is not required.

  5. Great post TC. Thank you. Worked perfectly for me. For reference to others readers, my VMs at VMware Player 3.1.4 build-385536 running in Scientific Linux 6 x86_64 stopped to run after linux package update where kernel goes to 2.6.32-131.2.1.el6.x86_64. Before update, kernel was 2.6.32-71.el6.x86_64 where VMware Player was initial installed. I have no issue with strip step in procedure above by TC.
    Cheers,
    Cristiano, from Brazil.

  6. Hi toracat,

    thanks a lot for this short and fine working instruction. It works perfect with my rhel 6.1.

    Cheers Thomas

  7. I got the following fix from Bugzilla site. Very simple and it worked.

    Workaround:
    1. Install the kernel header and devel packages needed to build kernel modules
    and gcc.
    2. Execute the following (as root):

    # mv /usr/lib/vmware/modules/binary/bld-2.6.32-*-rhel6 ~
    # vmware-modconfig --console --install-all

    [ Note added by toracat: due to a display issue, a double dash became a single dash. If you are copying the command, make sure you use two dashes for “console” and “install-all” options. ]

  8. Thankyou very much for publishing this. What would we do without people like you taking the time to help others. I had the same issue with vmware player on RHEL 6.1. Its working now.

  9. TC,
    re: –strip-debug

    Folks having problems with this are most likely doing a copy/paste from the web page here; which is displaying one long dash instead of the two short dashes needed.

  10. BTW, your fix didn’t work for me with SL 6.1 so I ended up removing then reinstalling VMware under the more recent kernel, and that solves it too.

  11. troglobyte,

    Thank you for pointing that (the --strip-debug issue) out. I’ve changed the format and now it shows the two dashes.

  12. thanks much!
    Note NomadAU’s solution also has dashes incorrectly formatted in his comment. Should be double-dash console, double-dash install-all.

  13. td3,

    It is a display issue due to the software/setup of this blog. A double dash gets converted to a single long dash on display unless a proper font can be defined. 🙁

  14. As a host. The latest VMware Workstation 8 seems to have added support for RHEL-6 but I see it only for a guest OS.

  15. Hi all, I had too many challenges with getting VMWare Player 3.x to work on my RHEL Workstation 6.1, so as soon as VMWare Player 4 came out, I downloaded it and was able to install it without any probs. It is working fine so far.

  16. Thanks so much! Worked like a charm. I don’t know why I pay VMware for their products when they rely on other people (like yourself) to get their stuff to work on “supported” platforms. Qemu is looking like a better and better alternative…

  17. Excellent!
    This did the trick, now my VMware 7 is working again on Centos.
    Thanks very much 🙂

  18. I’ve also found that when I cut and paste the – it is sometimes an “em” dash and sometimes an “en” dash. They are different characters but look almost identical. Messed me up on the start up parameters of a WebSphere server one time.

  19. Hello everyone..
    This is a nice post that comes against my situation but I am stuck on step 4(make)
    [ vmmon-only]$ ls
    autoconf common COPYING include linux Makefile Makefile.kernel Makefile.normal README vmcore
    [vmmon-only]$ make
    Using standalone build system.
    In file included from ./autoconf/geninclude.c:20:
    ./include/compat_autoconf.h:36:31: error: linux/autoconf.h: No such file or directory
    In file included from .././autoconf/geninclude.c:20:
    .././include/compat_autoconf.h:36:31: error: linux/autoconf.h: No such file or directory
    Dependencies for iommu.c
    In file included from .././linux/iommu.c:27:
    .././include/driver-config.h:42:5: error: #error “No Module support in this kernel. Please configure with CONFIG_MODULES”
    make[1]: *** [iommu.d] Error 1
    make: *** [deps] Error 2
    Can anybody help?
    Thanks

  20. @Valdecir

    Please try following the procedures posted by NomadAU on Jul 18th, 2011. It is much simpler.

  21. Hi everybody
    I’m just new of linux, and your suggestions helped me to solve the problem.
    Just thanks
    (I run vmware 3 on CentOS6.2 – the pc is a dell precision 650)

  22. It worked very well in Centos 6.3 . Vmware stopped working when upgrading from Centos 6.2.

    Thanks a lot !

  23. Thanks for the useful advice, which I find still to be good on CentOS 6.4. At first I wasn’t so sure, however, because after installing the new vmmon kernel module build, my VMware-workstation refused even to start. It claimed every time that it needed to build and load kernel modules (which was false, and which it didn’t actually do anyway when I tried to let it).

    I finally traced the problem to permissions on file /lib/modules//modules.dep. It seems that the user running VMware needs to be able to read that file, but mine was owned by root:root with permissions 0640. Likely that was related to my personal umask being 027. Anyway, once I updated the file permissions to 0644, VMware started working like a champ.

  24. With CentOS 6.6 kernel 2.6.32-504-3.3 vmware workstation 10.0.4 only starts under root,
    not a ‘normal’ user. With a normal user there is nothing odd in the log files but it (a)
    always says it has to install the kernel modules and (b) exits silently. The kernal modules
    are there, before starting… and I’ve rebuilt vmmon.ko under 504.3.3.

    As root, vmware starts up just fine with no request to rebuild the modules.

Comments are closed.