For various reasons, having vmware running on my desktop would be kind of useful.Β VMware provide a Free (as in beer) version of their software called VMware Player. I downloaded the file VMware-Player-4.0.2-591240.x86_64.bundle off their website and tried to build it.
It failed to build. Given my previous lack of success with VMware server, I wasn’t too surprised.Β What was surprising was it wasn’t too hard to fix it.Β The problem was that the vmnet module would not compile and that was due to three things:
- net device ops no longer has set_multicast_list (in netif.c)
- the linux module header needs to be included to define THIS_MODULE
- skb_frag_t has been redefined and needs an adjustment
The patch is only a few lines and means I can compile vmware on my Debian sid computer running kernel 3.2.0-1
To use it, you will need to find where the modules are built, for me it is /usr/lib/vmware/modules/source
- mv vmnet.tar vmnet2.tar
- tar xf vmnet2.tar
- patch -p0 < vmnet.patch
- tar cf vmnet.tar vmnet-only
With that you can run the player which will try to build the modules and you’re done!
Related articles
- imabonehead: Cross-compiling VMWare View for ARM Linux (in Debian/Ubuntu) | CNXSoft – Embedded Software Development (cnx-software.com)
- Virtually Run Another OS in your System (tech2copycat.wordpress.com)
- Upgrade to Oneiric breaks VMWare Player (aslakjohansen.wordpress.com)
12 thoughts on “VMware Player on Debian”
also see this post http://tech2copycat.wordpress.com/2012/02/05/have-you-ever-t/
Your patch breaks multicast and promiscuous mode.
You need to s/ndo_set_multicast_list/ndo_set_rx_mode/.
ndo_set_multicast_list is assigned to VmNetifSetMulticast() is an empty function. So I think for this specific case, we’re safe. I’ve seen other examples of similiar code and they removed the function like what I did too.
But perhaps we (those that have done it that way) are all collectively doing the wrong thing too!
As a long time VMware user who has recently switched to Virtualbox, I suggest you do the same. π
Ooh, care to explain why? I’m not challenging your suggestion just curious about the reasons behind that; besides not having to do evil patches like my blog entry describes.
Worked perfect on my Debian Testing system!
Linux kernel 3.2.0-1-686-pae
Thanks for the patch.
Scott
did not work for me:
/usr/lib/vmware/modules/source# patch -p1 < vmnet.patch
can’t find file to patch at input line 4
Perhaps you used the wrong -p or –strip option?
The text leading up to this was:
|diff -u vmnet-only.orig/filter.c vmnet-only/filter.c
|— vmnet-only.orig/filter.c 2012-01-19 09:22:02.000000000 +1100
|+++ vmnet-only/filter.c 2012-02-16 21:03:24.000000000 +1100
File to patch:
As the error message says, you used (and I told everyone) the wrong -p option.
The correct command is patch -p0 < vmnet.patch so just change the “1” for “0” and you should be right to go.
works perfect! thanks π
these are the reasons i quit VMWare for VirtualBox a few years ago…. only problem is it’s very difficult to get a laptop to share USB devices with the vm, particularly a wireless Alfa card running on a Mac. ill send you a driver once i figure out how to build it!
Tanks a lot i had the same problem and i’ven fixed all becaouse of you.
Glad that it worked out for you! I got a little of the way forward by reading other blogs so figured it might help others; or me when I need to do it again and forget what I did.