PDA

View Full Version : VMware Player/Workstation with Linux 3.x kernel -- patch procedure



dibl
Sep 9th 2011, 05:29 PM
I wrote this guide after I solved the challenge on my aptosid systems. I just tested it on Kubuntu 11.10, and it works correctly.

How to patch VMware Player/Workstation for Linux 3.x


1. Uninstall VMware Player or Workstation, and rm -rf /usr/lib/vmware/modules/source (or if you backed up the original source .tar files, restore them now and delete any patched xxx-only directories)
2. Install VMware Player 3.1.4 or Workstation 7.1x (unless you have restored original source .tar files and deleted the prior xxxx-only directories), but don't try to run it yet.
3. Fix the issue with the kernel nomenclature change from 2.6.x to 3.x as follows in a user terminal:

sudo sed 's/\x83\xe8\x03\x83\xf8\x01\x0f\x96\xc0/\x83\xe8\x02\x83\xf8\x01\x0f\x96\xc0/' -i /usr/lib/vmware/lib/libvmware-modconfig-console.so/libvmware-modconfig-console.so

sudo sed 's/\x83\xe8\x03\x83\xf8\x01\x0f\x96\xc0/\x83\xe8\x02\x83\xf8\x01\x0f\x96\xc0/' -i /usr/lib/vmware/lib/libvmware-modconfig.so/libvmware-modconfig.so
4. Download the vmware2.6.39patchv3.tar.bz2 patch from here (http://weltall.heliohost.org/wordpress/wp-content/uploads/2011/05/vmware2.6.39patchv3.tar.bz2), extract and untar it (disregard/delete the script "patch-modules_2.6.39.sh" -- we do not use it). Note that the actual patch name is vmware2.6.39fixedv3.patch.
5. Download the patch3031vmware741.patch file (link named "vmware fix for 3.1") from here (http://weltall.heliohost.org/wordpress/2011/08/)
6. Open terminal, and change directory to /usr/lib/vmware/modules/source
7. Issue "ls". You should see the following 5 files (and nothing else):
vmblock.tar vmci.tar vmmon.tar vmnet.tar vsock.tar
8. At this point you need to change to root with "sudo su". Then issue
for i in ./*.tar; do tar -xvf $i; done to untar the five .tar files. Each one will extract into a new directory with "-only" as the directory name suffix. When you are finished you should have, in addition to the original .tar files, the following new directories:
vmblock-only vmci-only vmmon-only vmnet-only vsock-only
9. Next, back up the original source .tar files with
for i in ./*.tar; do mv $i $i.orginal; done
10. Now copy both downloaded patch files to the current directory /usr/lib/vmware/modules/source, and "chmod +x ..." each file to make it executable
11. Now issue the command (the character after "-p" is the numeral one, not the letter L)
patch -p1 < vmware2.6.39fixedv3.patch It should run to completion with no error output -- this replaces selected files in the -only directories.
12. Next issue the command
patch -p1 < patch3031vmware741.patch which patches vmnet-only/compat_netdevice.h and should return no error
13. Next, "tar cvf" all of the files in the vxxx-only subdirectories. So, for example,
tar cvf vmblock.tar vmblock-only/* and do this for each of the 5 vxxx-only directories.
14. You are done -- exit the terminal, and you can launch VMware Player now and the 3.0 kernel modules will build. When you start a VM, you will see a warning about "this version of the Linux kernel is too new", but it does not affect the running VM (tested WinXP, Win7, and Kubuntu).

p.s. This is put together from parts found in 3 different locations (Arch forum, VMware forum, & weltall.heliohost.org).

Fintan
Feb 28th 2012, 10:02 AM
Hey Dible, I just upgraded to version 4.0.2 from the vmplayer stratup window. Upgrade went well, reaplied the patch accorfing to:
http://aptosid.com/index.php?name=PNphpBB2&file=viewtopic&t=2069&start=0&postdays=0&postorder=asc&highlight=

Now when I run a machine I get:

Version mismatch with vmmon module: expecting 264.1, got 264.0.
You have an incorrect version of the `vmmon' kernel module.
Try reinstalling VMware Player.

when I do a complete uninstall and remove all vmware stuff and reinstall, reply the patch I still get the same error.

Back to 4.01 for now.

dibl
Feb 29th 2012, 05:59 PM
Now when I run a machine I get:


when I do a complete uninstall and remove all vmware stuff and reinstall, reply the patch I still get the same error.

Back to 4.01 for now.

Hi Fintan -- YES, as far as I know that problem does not have a fix. We can't go past VMware Player 4.0.1 until a fix for that issue is published.

EDIT: It looks like maybe a patch is at the bottom of this (http://weltall.heliohost.org/wordpress/2012/01/26/vmware-workstation-8-0-2-player-4-0-2-fix-for-linux-kernel-3-2-and-3-3/) page. Why don't you try it and tell us how it works (since my VM happens NOT to be broken at this time ....)? ;-)

SteveRiley
Feb 29th 2012, 10:11 PM
I can confirm, this patch works. Just applied it last night.

dibl
Mar 1st 2012, 12:24 AM
I can confirm, this patch works. Just applied it last night.

COOLIO!

Thanks Steve! :)

dibl
Mar 1st 2012, 08:32 PM
Yep that works great (you can still dump the patch-modules.sh script -- it still doesn't work).

What I find weird is that the original error/conflict was about vmmon, but this patch only patches vmnet. Go figure ...