VMware Communities
Noel
Expert
Expert

VMware Workstation 7.1 patch for linux kernel 2.6.35 (e.g., Ubuntu 10.10 aka Maverick Meerkat)

Attached is the patch for VMware Workstation 7.1.0 build-261024 to run on the 2.6.35 linux kernel.

USE AT YOUR OWN RISK! If it reformats your drive, steals your identity, corrupts your children, or eats your homework, that's your problem.

Two changes:

iommu_map_range --> iommu_map, q.v., http://kerneltrap.org/mailarchive/git-commits-head/2010/5/18/33306

fix sk_sleep references, similar to http://bugs.gentoo.org/show_bug.cgi?id=322245

Reply
0 Kudos
35 Replies
chantra
Contributor
Contributor

Arg, shame I stumbled on that once I was done with my patch Smiley Happy

Anyway, I have posted a patch at http://www.debuntu.org/how-wmware-workstation-7.1-ubuntu-maverick-meerkat-10.10

Hopefully, the patch is a bit less intrusive and should be functionning on Linux version pre 2.6.34.

This only fixes the vsock module as I did not have issue with ommu_map_range .

Anyway, patch attached, and a tarball, which include a shell script to apply the patch, is available from the link above.

Reply
0 Kudos
martyfelker
Enthusiast
Enthusiast

Thank you!! Worked like a charm!!

Marty Felker

Marty Felker
Reply
0 Kudos
lagriffe
Contributor
Contributor

Yes, thank you. I've been trying to upgrade to WS 7.1.1 for Linux (I run ArchLinux). I had tried separate patches for the vmmon module problem and the vsock module problem, but I still couldn't get all modules to build. Your patch finally did the trick, and I appreciated it.

Reply
0 Kudos
pak33m
Contributor
Contributor

Noel,

I wanted to mention that I installed VMware-Workstation-Full-7.1.1-282343.x86_64.bundle, applied the patch (Noel provided) on Ubuntu 10.10 2.6.35-15-generic #21-Ubuntu SMP x86_64 and successfully loaded all modules, except of course the vmci sockets.

This will certainly come in handy at work Smiley Happy

Thank you,

Jimmy

Reply
0 Kudos
birdie
Expert
Expert

I have rewritten the patch script to make it foolproof and easier to read.

To the OP: please, replace your script with this one, if you find it better Smiley Happy

Reply
0 Kudos
martyfelker
Enthusiast
Enthusiast

I'v egot kernel 2.6.36 working on Fedora 14 Rawhide. The splash screen

is a bit funky but lit uses KDE 4.5.1 and Gnome 32.31 desktioops. Of

course this is a long way from general deployment but perhaps you could

be thinking of a patch for this kernel. Like I mentioned earlier your

patch (as well as Ubuntu. - the released versions - with the 2.6.36

kernel installed.

Cheer's,

Marty

Marty Felker
Reply
0 Kudos
lagriffe
Contributor
Contributor

Reply
0 Kudos
qhartman
Contributor
Contributor

Thanks! This worked for me on Ubuntu 10.10 with the new 7.1.2 released this morning.

Reply
0 Kudos
Noel
Expert
Expert

perhaps you could be thinking of a patch for 2.6.36

Done. See VMware Workstation 7.1 patch for linux kernel 2.6.36

Reply
0 Kudos
martyfelker
Enthusiast
Enthusiast

Thank you Noel!

It's late at night but I'll work with Fedora tomorrow. It seems

to be the only distro I've found that has that kernel with the headers

as well as the iamge.

marty

Marty Felker
Reply
0 Kudos
Noel
Expert
Expert

I'll work with Fedora tomorrow. It seems to be the only distro I've found that has that kernel with the headers

as well as the iamge.

It is also available for Ubuntu Maverick in the mainline kernel PPA

Reply
0 Kudos
martyfelker
Enthusiast
Enthusiast

When the patch is applied to 2.6.36-0.27.rc5.git6.fc15.x86_64 the output is:

diff: `-8' option is obsolete; use `-U 8'

diff: Try `diff --help' for more information.

./vmware-7.1-2.6.36-generic.patch: line 2: ---: command not found

./vmware-7.1-2.6.36-generic.patch: line 3: +++: command not found

./vmware-7.1-2.6.36-generic.patch: line 4: @@: command not found

./vmware-7.1-2.6.36-generic.patch: line 5: vmware-7.1-2.6.36-generic.patch: command not found

./vmware-7.1-2.6.36-generic.patch: line 6: *----


: command not found

./vmware-7.1-2.6.36-generic.patch: line 7: */: No such file or directory

./vmware-7.1-2.6.36-generic.patch: line 8: syntax error near unexpected token `('

./vmware-7.1-2.6.36-generic.patch: line 8: ` static int LinuxDriver_Open(struct inode *inode, struct file *filp);'

Of coursed this could be the reuslt of conditiions such as

1) The kernel is still only rc

2) I'm using Fedora 14 Rawhid so msot of the progreams (including the complier) are actually preliminary code from FC15 (Laughlin).

Thanks for the pointer to the Ubuntu version of 2.6.36. I obvioulsy didn't add that plpla to my sources.list. I will try your lpatch iln Ubuntu but I must say I'm getting fairly tired of VMwaer not making its code compatible with more kernels (espacially since you are suppodesly able to install generic 2.6.xx x64 releases) Also there must be someway to recompile the modules with unconfiguring a previous version of WS. Virtualbox does that with one command -- /etc/init.d/vboxdrv setup.

Suggestion/challenge to Vmwared WS developers.

Marty Felker

Marty Felker
Reply
0 Kudos
Noel
Expert
Expert

When the patch is applied to 2.6.36-0.27.rc5.git6.fc15.x86_64 the output is:

diff: `-8' option is obsolete; use `-U 8'

diff: Try `diff --help' for more information.

./vmware-7.1-2.6.36-generic.patch: line 2: ---: command not found

./vmware-7.1-2.6.36-generic.patch: line 3: +++: command not found

./vmware-7.1-2.6.36-generic.patch: line 4: @@: command not found

./vmware-7.1-2.6.36-generic.patch: line 5: vmware-7.1-2.6.36-generic.patch: command not found

./vmware-7.1-2.6.36-generic.patch: line 6: *----------------------------------------------------------------------: command not found

./vmware-7.1-2.6.36-generic.patch: line 7: */: No such file or directory

./vmware-7.1-2.6.36-generic.patch: line 8: syntax error near unexpected token `('

./vmware-7.1-2.6.36-generic.patch: line 8: ` static int LinuxDriver_Open(struct inode *inode, struct file *filp);'

Odd. The only real difference between the 2.6.35 and 2.6.36 patches should be:

 #if defined(HAVE_UNLOCKED_IOCTL) || defined(HAVE_COMPAT_IOCTL)
+#define VMW_HAVE_UNLOCKED_IOCTL
 static long LinuxDriver_UnlockedIoctl(struct file *filp,
                            u_int iocmd, unsigned long ioarg);
 #endif

Reply
0 Kudos
matthewls
Enthusiast
Enthusiast

Many thanks to all! Patch works great on Ubuntu 10.04 with 2.6.35 kernel.

One more time, 3 cheers to you, Noel and lagriffe ! Script worked perfectly on both 2.3.65.4 and .5

Reply
0 Kudos
Drewdin
Contributor
Contributor

is this patch needed for workstation version 7.1.2? thanks

Reply
0 Kudos
jprog
Contributor
Contributor

@lagriffe and all.

Your patch script from 24.08. works like a charme for vmware workstation 7.1.2 on Ubuntu 10.10 (Maverick) kernel 2.6.35-22.

Thanks, Thomas

Reply
0 Kudos
mirla
Contributor
Contributor

Reply
0 Kudos
gturoczi
Contributor
Contributor

@mirla

tried your steps but i get the following.

lxtest@lxtest-desktop:~$ wget http://communities.vmware.com/servlet/JiveServlet/download/1553530-39784/patch-modules.sh

2010-10-13 10:22:28 http://communities.vmware.com/servlet/JiveServlet/download/1553530-39784/patch-modules.sh

Resolving communities.vmware.com... 184.84.252.226, 184.84.252.185

Connecting to communities.vmware.com|184.84.252.226|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 404

Saving to: `patch-modules.sh'

100%[======================================>] 404 --.-K/s in 0s

2010-10-13 10:22:28 (36.3 MB/s) - `patch-modules.sh' saved

lxtest@lxtest-desktop:~$ wget http://communities.vmware.com/servlet/JiveServlet/download/1553530-39785/vmware-7.1-2.6.35-3-generic...

2010-10-13 10:22:39 http://communities.vmware.com/servlet/JiveServlet/download/1553530-39785/vmware-7.1-2.6.35-3-generic...

Resolving communities.vmware.com... 184.84.252.185, 184.84.252.226

Connecting to communities.vmware.com|184.84.252.185|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 8567 (8.4K)

Saving to: `vmware-7.1-2.6.35-3-generic.patch'

100%[======================================>] 8,567 --.-K/s in 0.06s

2010-10-13 10:22:39 (147 KB/s) - `vmware-7.1-2.6.35-3-generic.patch' saved

lxtest@lxtest-desktop:~$ sudo sh patch-modules.sh

password for lxtest:

patch-modules.sh: 7: patch: not found

Stopping VMware services:

VMware USB Arbitrator done

VM communication interface socket family done

Virtual machine communication interface done

Virtual machine monitor done

Blocking file system done

Using 2.6.x kernel build system.

make: Entering directory `/tmp/vmware-root/modules/vmmon-only'

make -C /lib/modules/2.6.35-22-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \

MODULEBUILDDIR= modules

make[1]: Entering directory `/usr/src/linux-headers-2.6.35-22-generic'

CC /tmp/vmware-root/modules/vmmon-only/linux/driver.o

CC /tmp/vmware-root/modules/vmmon-only/linux/driverLog.o

CC /tmp/vmware-root/modules/vmmon-only/linux/hostif.o

/tmp/vmware-root/modules/vmmon-only/linux/hostif.c: In function ‘HostIFReadUptimeWork’:

/tmp/vmware-root/modules/vmmon-only/linux/hostif.c:2004: warning: ‘newUpBase’ may be used uninitialized in this function

CC /tmp/vmware-root/modules/vmmon-only/linux/iommu.o

/tmp/vmware-root/modules/vmmon-only/linux/iommu.c: In function ‘IOMMU_SetupMMU’:

/tmp/vmware-root/modules/vmmon-only/linux/iommu.c:156: error: implicit declaration of function ‘iommu_map_range’

/tmp/vmware-root/modules/vmmon-only/linux/iommu.c: In function ‘IOMMU_VMCleanup’:

/tmp/vmware-root/modules/vmmon-only/linux/iommu.c:403: error: implicit declaration of function ‘iommu_unmap_range’

make[2]: *** Error 1

make[1]: *** Error 2

make[1]: Leaving directory `/usr/src/linux-headers-2.6.35-22-generic'

make: *** http://vmmon.ko Error 2

make: Leaving directory `/tmp/vmware-root/modules/vmmon-only'

Unable to install vmmon

what am i doing wrong?

Reply
0 Kudos
prorus
Contributor
Contributor

Have exactly the same output after applying the patch:

Unable to install vmmon

PR

Reply
0 Kudos