Post new topic   Reply to topic
View previous topic Printable version Log in to check your private messages View next topic
Author Message
diblOffline
Post subject: VMware patch for 3.0 kernel  PostPosted: 14.08.2011, 19:42



Joined: 2010-09-12
Posts: 302
Location: Dayton, Ohio, USA
Status: Offline
PM me and I will share the procedure. VMware Player 3.1.4 64-bit is working correctly now on 3.0-x aptosid kernels.
 
 View user's profile Send private message Visit poster's website  
Reply with quote Back to top
kris99Offline
Post subject: RE: VMware patch for 3.0 kernel  PostPosted: 15.08.2011, 07:25



Joined: 2010-09-11
Posts: 21

Status: Offline
Why don't you share this information in the forum?
 
 View user's profile Send private message  
Reply with quote Back to top
diblOffline
Post subject: Re: RE: VMware patch for 3.0 kernel  PostPosted: 15.08.2011, 13:29



Joined: 2010-09-12
Posts: 302
Location: Dayton, Ohio, USA
Status: Offline
      kris99 wrote:
Why don't you share this information in the forum?


OK, since you asked. How to patch for kernel 3.0x:

0. 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)
1. 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)
2. Fix the issue with the kernel nomenclature change from 2.6.x to 3.x as follows from the root prompt:
#
      Code:
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

#
      Code:
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

3. Download the vmware2.6.39patchv3.tar.bz2 patch from here, extract and untar it (disregard/delete the script "patch-modules_2.6.39.sh" -- we do not use it)
4. Download the patch3031vmware741.patch file (link named "vmware fix for 3.1") from here
5. Open terminal, become root, and change directory to /usr/lib/vmware/modules/source
6. Issue "ls". You should see the following 5 files (and nothing else):
      Code:
vmblock.tar   vmci.tar   vmmon.tar   vmnet.tar   vsock.tar

7. Issue
      Code:
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:
      Code:
vmblock-only   vmci-only   vmmon-only   vmnet-only   vsock-only

8. Back up the original source .tar files with
      Code:
for i in ./*.tar; do mv $i $i.original; done

9. Copy both downloaded patch files to the current directory /usr/lib/vmware/modules/source, and "chmod +x ..." each file to make it executable
10. Now issue the command (the character after "-p" is the numeral one, not the letter L)
      Code:
patch -p1 < vmware2.6.39fixedv3.patch
It should run to completion with no error output -- this replaces selected files in the -only directories.
11. Next issue the command
      Code:
patch -p1 < patch3031vmware741.patch
which patches vmnet-only/compat_netdevice.h and should return no error
12. Next, "tar cvf" all of the files in the vxxx-only subdirectories. So, for example,
      Code:
tar cvf vmblock.tar vmblock-only/*
and do this for each vxxx-only directory.
13. You are done -- 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 Linux kernel is too new", but it does not affect the running VM.

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


Last edited by dibl on 13.10.2011, 19:29; edited 1 time in total
 
 View user's profile Send private message Visit poster's website  
Reply with quote Back to top
dieresOffline
Post subject:   PostPosted: 22.09.2011, 21:48



Joined: 2010-09-12
Posts: 30

Status: Offline
at this moment vmware-player 4.0.0 is availibale at

http://softwareupdate.vmware.com/cds/vmw-desktop/player/4.0.0/471780/linux/core/

Works out of the box with slh kernel
 
 View user's profile Send private message  
Reply with quote Back to top
diblOffline
Post subject:   PostPosted: 23.09.2011, 11:24



Joined: 2010-09-12
Posts: 302
Location: Dayton, Ohio, USA
Status: Offline
Hmmm -- that didn't work so well -- some kind of architecture-related issue with the 32-bit package.

      Code:
root@tosh205:/tmp# infobash -v3
Host/Kernel/OS  "tosh205" running Linux 3.0-4.slh.6-aptosid-686 i686 [ aptosid 2011-01 Γῆρας - kde-lite - (201102051540) ]
CPU Info        2x Intel Atom N280 @ 512 KB cache flags( sse3 ht nx ) clocked at [ 1000.000 MHz ]
Videocard       Intel Mobile 945GME Express Integrated Graphics Controller  X.Org 1.11.0  [ 1024x600@60.0hz ]
Network cards   Realtek RTL8101E/RTL8102E PCI Express Fast
                Atheros AR9285 Wireless
Processes 139 | Uptime 14min | Memory 244.7/2016.7MB | HDD OCZ-VERTEX2 Size 40GB (11%used) | Client Shell | Infobash v3.37


Anyone else see this?
 
 View user's profile Send private message Visit poster's website  
Reply with quote Back to top
dieresOffline
Post subject:   PostPosted: 23.09.2011, 11:36



Joined: 2010-09-12
Posts: 30

Status: Offline
sorry, I only have amd64 here. So I supposed that the 32bit Install Files works too.

edit:
the only 32 bit CPU I have is in my netbook, also a atom but only 270 single, there I get the same issue.
But if I'm right this CPU lacks virtual hardware extensions. I think this can be the reason for that error.
 
 View user's profile Send private message  
Reply with quote Back to top
detaosOffline
Post subject:   PostPosted: 27.09.2011, 04:09
Team Member


Joined: 2010-08-26
Posts: 166
Location: floating in the ether
Status: Offline
i didn't think you could virtualize 64-bit code on a 32-bit processor ... only the other way around ...

_________________
#aptosid-art ftw!
(what would cleary do?)
 
 View user's profile Send private message Send e-mail Visit poster's website  
Reply with quote Back to top
diblOffline
Post subject:   PostPosted: 27.09.2011, 12:10



Joined: 2010-09-12
Posts: 302
Location: Dayton, Ohio, USA
Status: Offline
      detaos wrote:
i didn't think you could virtualize 64-bit code on a 32-bit processor ... only the other way around ...


That is correct. The error posted above was a result of installing the -i386 (32-bit) package on a 32-bit netbook. It seems like a packaging problem.

FYI, upon accepting the upgrade message on two 64-bit systems, Version 4 was installed and both systems lost bridged and NAT networking for the VM. When they were rebooted, the needed vmmon and vmnet kernel modules were not loaded automatically. Moreover, when the modules were modprobed manually, the VM would still not connect to eth0. So I have reinstalled 3.1.4 on both systems, and they are back to working correctly.
 
 View user's profile Send private message Visit poster's website  
Reply with quote Back to top
DeepDayzeOffline
Post subject:   PostPosted: 27.09.2011, 13:25



Joined: 2010-09-11
Posts: 616
Location: USA
Status: Offline
      detaos wrote:
i didn't think you could virtualize 64-bit code on a 32-bit processor ... only the other way around ...


It is possible to virtualize 64 bit code as long as the host cpu is 64 bits even if running a 32 bit OS.
 
 View user's profile Send private message  
Reply with quote Back to top
diblOffline
Post subject:   PostPosted: 18.10.2011, 19:32



Joined: 2010-09-12
Posts: 302
Location: Dayton, Ohio, USA
Status: Offline
UPDATE 18 OCT 2011: Today the VMware Player Ver. 4.0 64-bit package installed correctly on 3 aptosid systems, so I don't know what has changed since it originally failed.

Uninstall the prior version using (as root):

      Code:
vmware-installer -u vmware-player


and delete everything under /usr/lib/vmware before installing the new package. Win XP and Win 7 guests are both working, including networking, with the "bridged" setting.

On the one 32-bit installation that I have, a couple weeks ago an update to Ver. 3.1.5 was offered, and I accepted that, and it is also working correctly.
 
 View user's profile Send private message Visit poster's website  
Reply with quote Back to top
towoOffline
Post subject:   PostPosted: 18.10.2011, 21:23



Joined: 2010-09-13
Posts: 496
Location: Pößneck / Thüringen
Status: Offline
And the game goes on if kernel 3.1 is released Wink
 
 View user's profile Send private message  
Reply with quote Back to top
diblOffline
Post subject:   PostPosted: 18.10.2011, 21:56



Joined: 2010-09-12
Posts: 302
Location: Dayton, Ohio, USA
Status: Offline
      towo wrote:
And the game goes on if kernel 3.1 is released Wink


Heh heh -- (pinning my kernel version now ....) Laughing
 
 View user's profile Send private message Visit poster's website  
Reply with quote Back to top
towoOffline
Post subject:   PostPosted: 18.10.2011, 22:00



Joined: 2010-09-13
Posts: 496
Location: Pößneck / Thüringen
Status: Offline
The patch is there allready:
      Code:

#!/bin/bash
# -*- coding: UTF8 -*-

FOLDER=/tmp/$RANDOM$RANDDOM


mkdir $FOLDER

cd  $FOLDER
cp /usr/lib/vmware/modules/source/{vmnet.tar,vmnet.tar.old}
tar xvf /usr/lib/vmware/modules/source/vmnet.tar
patch -p0 <<EOF>= KERNEL_VERSION(3, 1, 0)
+#define HAVE_ALLOC_NETDEV              /* feature macro: alloc_xxxdev
+                                          functions are available. */
+#define HAVE_FREE_NETDEV               /* free_netdev() */
+#define HAVE_NETDEV_PRIV               /* netdev_priv() */
+#define HAVE_NETIF_QUEUE
+#define HAVE_NET_DEVICE_OPS
+#endif
 
 /*
  * SET_MODULE_OWNER appeared sometime during 2.3.x. It was setting
EOF
tar cf /usr/lib/vmware/modules/source/vmnet.tar vmnet-only
vmware-modconfig --console --install-all
rm -rf  $FOLDER
 
 View user's profile Send private message  
Reply with quote Back to top
diblOffline
Post subject:   PostPosted: 24.10.2011, 17:17



Joined: 2010-09-12
Posts: 302
Location: Dayton, Ohio, USA
Status: Offline
On my 32-bit VMware Player (Ver. 3.1.5) the modules compiled correctly for the new 3.1 slh kernel. But on the 64-bit system that I tested it on (VMware Ver. 4.0), there was a failure of the vmnet module to compile correctly. The error output in the log is useless -- it just says it failed on module vmnet. The other modules did compile correctly.

EDIT: If you untar the /usr/lib/vmware/modules/source/vmnet.tar directory, then apply the patch3031vmware741.patch patch as stated above, then re-tar vmnet-only, the vmnet module builds correctly and VMware Player runs as expected.
 
 View user's profile Send private message Visit poster's website  
Reply with quote Back to top
Display posts from previous:     
Jump to:  
All times are GMT - 12 Hours
Post new topic   Reply to topic
View previous topic Printable version Log in to check your private messages View next topic
Powered by Zafenio