VMware Communities
Noel
Expert
Expert

VMware Workstation 7.1.3 Linux kernel 2.6.37 (and 2.6.36) patch

UPDATE: These patches are obsoleted by Workstatioin 7.1.4, for which only a BKL-less kernel needs any patch (to vmnet).


Attached is the patch for VMware Workstation 7.1.3 on Linux Kernel 2.6.37.  Tested against Ubuntu Natty 11.04 2.6.37-2-generic.

The patch also includes the necessary change for 2.6.36, and should work with both kernels, since the 2.6.37 change is protected by a version check.  The plain 2.6.36 patch, which does not support 2.6.37 is available here.

List of changes:

  • define VMW_HAVE_UNLOCKED_IOCTL in vmmon's driver.c as required for 2.6.36

  • the semaphore patch for 2.6.37, applied only to those modules that actually need it: vmci, vmnet, and vsock.

[UPDATE: The attached patch is updated to work through 2.6.37-11]

Updated to reflect Workstation 7.1.4.

0 Kudos
109 Replies
moebiusstrip
Contributor
Contributor

> Would rebuilding VM with your newer patch be worthwhile?

No.

> In other words, why does the older patch work?

If you can build the old 2.6.37 patch on 2.6.38-1 then your kernel has BKL enabled.

The new patch just replaces BKL usage with private muxes.

Big Kernel Lock is an old and deprecated feature which was scheduled for removal in 2.6.38.

Debian and others ship kernels with BKL disabled by default but it seems that Ubuntu is trying to keep this feature for retrocompatibility purpose.

0 Kudos
Noel
Expert
Expert

moebiusstrip wrote:

> Would rebuilding VM with your newer patch be worthwhile?

No.

The question might be whether or not the BKL-less patch might perform better under conditions for which there would be BKL contention.  In any event, I'm using the BKL-less patch with this kernel.

0 Kudos
martyfelker
Enthusiast
Enthusiast

2.;6.38 patch  using 61 shell  script modified for corect fpatch works on host openSUSE 11.4 kernel 2.6.38-24-vanilla. Guest was Slackware  13.37.

Both host and guerst 64-bit.

Thanks

Marty Felker
0 Kudos
kensai
Contributor
Contributor

Under Ubuntu 10.04 LTS (Lucid Lynx) server edition running 2.6.38-7 I tried at first time only the vmware-7.1.3-2.6.38-1-generic.patch which didn't work well. With patch-modules_v62.sh which takes care about running the patch everything compiled well and is running without any problems.

Note: Copied original message which is found also in this forum thread

For a quick overlay patch, I changed the script a little  patch-modules_v61.sh, which now can be run: ./patch-modules_v62.sh  ./vmware-7.1.3-2.6.38-1-generic.patch Thanks to the author of the  initial script.

I did it with these files:

http://communities.vmware.com/servlet/JiveServlet/download/1722130-58827/patch-modules_v62.sh

http://communities.vmware.com/servlet/JiveServlet/download/1721368-58749/vmware-7.1.3-2.6.38-1-gener...

Thank you very much for this code.

Ladislav

0 Kudos
Djarum123
Contributor
Contributor

idiot proof simple install x64 version of VMware Player 3.1.4 on OpenSuse 11.4 x64
probably works with x86 aswell, and with Workstation. pls check and comment

this fixes problems with vmware complaining about:

gcc
kernel headers
"Cannot execute command ' ''\''/usr/bin/vmware-modconfig'\''  --icon='\''vmware-player'\'' --appname='\''VMware'\''  --gcc='\''/usr/bin/gcc'\''  --headers='\''/lib/modules/2.6.37.1-1.2-desktop/build/include'\''  --gcc-ignore-minor ''. -blablabla"

download latest vmware bundle from vmware homepage, for example VMware-Player-3.1.4-385536.x86_64.bundle

install vmware player by:
terminal: (change the name of the bundle according to your version
sudo sh VMware-Player-3.1.4-385536.x86_64.bundle

choose yast -> software management: (if you have some of this installed, make sure you update to the latest version)
install latest gcc
install latest gcc45
install latest libgcc45
install latest libgcc45-32bit
install latest libgcj45
install latest kernel-devel
install latest kernel-syms

terminal:
sudo vmware-modconfig --console --install-all

now you may start vmware player or workstation

perfect, all works

no need to hassle with patches, hacks, tricks or tweaks.

CREDIT TO ME.

0 Kudos
iainj
Contributor
Contributor

Hi Noel,

Can you help please?

I'm having real trouble with my Opensuse 11.4 (kernel 2.6.37.1-1.2-desktop) and VM Workstation 7.1.4

I used the previous patch for 7.1.3 which worked beautifully but since upgrading to 7.1.4 it just refuses to compile and install vmmon.

I'm not sure what you mean by "These patches are obsoleted by Workstatioin 7.1.4, for which only a BKL-less kernel needs any patch (to vmnet)" and in particular the 'BKL-less kernel?

I not hugely experienced in linux but am getting there so keeping your reply to relative layman's terms would be appreciated.

I've heard of other people having instant success with 7.1.4 from a clean install. I've tried though to completely uninstall 7.1.3 and remove any traces of the patch and then install 7.1.4 from scratch but still the same problems.

Any advice would be much appreciated.

Thanks,

Iain.

0 Kudos
fenice
Contributor
Contributor

BKL referes to the 'Big Kernel Lock' and if you're interested you can read more details here: http://www.computerworlduk.com/news/open-source/3255451/linux-kernel-update-improves-security-adds-d...

As far as I know the BKL was removed from the openSUSE 11.4 (from the 2.6.37rc3 11.4 M4 kernel) and therefore is not in the current 11.4 2.6.37 kernel. You should have no need to modify Workstation to run with openSUSE 11.4, I have Workstation running without problems on 11.4 using the 2.6.38 kernel.

0 Kudos
Atmegas
Contributor
Contributor

Djarum123,

Thanks for this it works GRRRRRRRRREAT!

0 Kudos
Atmegas
Contributor
Contributor

BTW, Does anyone know how to give credit to a poster?

0 Kudos
Djarum123
Contributor
Contributor

If everything works, thats just great. Sometimes the installation messes up after first reboot.

If after reboot you still get an error, then just run:

terminal:
sudo vmware-modconfig --console --install-all

This command fixes it permanently for me.

Have fun!

0 Kudos