VMWare fails to start: Can’t find /dev/vmmon

VMWare won’t run under the 3.13.X kernel.

//Switch up to root
su -
//Change directories
cd /etc/rc.d/init.d
//Start vmware
./vmware
//A dialog box appears stating kernel modules need to be built and installed
Click Install
//Build fails.  READ the LOG!
//If you see a fail (READ the LOG!) because version.h isn't found, continue with the patch below.  Else, sorry.

Tested with kernel 3.13.9-100.fc19.x86_64, Fedora 19, Schrödinger’s Cat.

Here is the module patch from . Huge kudos!

205a206
> #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
206a208,210
> #else
> VNetFilterHookFn(const struct nf_hook_ops *ops,        // IN:
> #endif
255c259,263
< transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
---
>    #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
>       transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
>    #else
>       transmit = (ops->hooknum == VMW_NF_INET_POST_ROUTING);
>    #endif

Swith up to root and save that text as vmnet313.patch in your home dir.

Here’s the complete steps to implement

#Change directory into the vmware module source directory
cd /usr/lib/vmware/modules/source
# untar the vmnet modules
tar -xvf vmnet.tar
#run a the patch you should have just saved earlier
patch vmnet-only/filter.c < ~/vmnet313.patch
# re-tar the modules
tar -uvf vmnet.tar vmnet-only
#delete the previous working directory
rm -r vmnet-only
# run the vmware module build program. (alternatively just run the GUI app)
/usr/lib/vmware/bin/vmware-modconfig --console --install-all

This should patch the filter.c to be compatible with 3.13.

Leave a Reply