2013-06-17

← Older revision

Revision as of 22:16, 17 June 2013

Line 59:

Line 59:

VMware Workstation 9 and Player 5 both support kernels up to 3.9.

VMware Workstation 9 and Player 5 both support kernels up to 3.9.

+

+

==== Patch for fuseless systems (optional) ====

+

+

Systems that don't have {{pkg|fuse}} will not be able to use the {{ic|/usr/lib/vmware/bin/vmware-vmblock-fuse}} client. These systems will fall back to the original {{ic|vmblock.ko}} module, which won't load due to the symbol {{ic|putname}} being replaced by {{ic|__putname}}:

+

+

{{hc|# modprobe vmblock|

+

modprobe: ERROR: could not insert 'vmblock': Unknown symbol in module, or unknown parameter (see dmesg)

+

}}

+

{{hc|$ dmesg
|
tail -1|

+

[ 8896.222258] vmblock: Unknown symbol putname (err 0)

+

}}

+

+

The patch can be found [http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-emulation/vmware-modules/files/264-putname.patch?&view=markup here]:

+

+

$ cd /tmp

+

$ curl -O http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-emulation/vmware-modules/files/264-putname.patch

+

$ cd /usr/lib/vmware/modules/source

+

# tar -xvf vmblock.tar

+

# patch -p1 -i /tmp/264-putname.patch

+

# tar -cf vmblock.tar vmblock-only

+

# rm -r vmblock-only

+

# vmware-modconfig --console --install-all

+

{{Note|

{{Note|



*
This section
is
currently
useful only for VMware Workstation and Player lower than 9.0.2 and 5.0.2, respectively.

+

*
The following
is useful only for VMware Workstation and Player lower than 9.0.2 and 5.0.2, respectively.

* Due to different VMware versions, you may need to set the {{ic|vmreqver}} or {{ic|plreqver}} variable for VMware Workstation or Player respectively in the {{ic|patch-modules_3.X.0.sh}} script.

* Due to different VMware versions, you may need to set the {{ic|vmreqver}} or {{ic|plreqver}} variable for VMware Workstation or Player respectively in the {{ic|patch-modules_3.X.0.sh}} script.

}}

}}

Line 82:

Line 105:

# ./patch-modules_3.8.0.sh

# ./patch-modules_3.8.0.sh



==== 3.5 / 3.6 / 3.7 kernels ====

+

==== 3.5 / 3.6 / 3.7 kernels
(optional)
====

A change in the format of the kernel exception table introduced back in [http://repo.or.cz/w/linux-2.6.git/commit/706276543b699d80f546e45f8b12574e7b18d952 April] affecting the {{ic|vmmon}} module is known to cause crashes in [http://communities.vmware.com/thread/400616 Fedora guests]. The patch [http://communities.vmware.com/message/2092356#2092356 here] creates a portable exception table (packaged together with the script [http://communities.vmware.com/message/2103172#2103172 in here], which will also reload the {{ic|vmmon}} module):

A change in the format of the kernel exception table introduced back in [http://repo.or.cz/w/linux-2.6.git/commit/706276543b699d80f546e45f8b12574e7b18d952 April] affecting the {{ic|vmmon}} module is known to cause crashes in [http://communities.vmware.com/thread/400616 Fedora guests]. The patch [http://communities.vmware.com/message/2092356#2092356 here] creates a portable exception table (packaged together with the script [http://communities.vmware.com/message/2103172#2103172 in here], which will also reload the {{ic|vmmon}} module):

Line 266:

Line 289:

{{Note|Upgrading the kernel and the headers will require you to boot to the new kernel to match the version of the headers. This is a relatively common error.}}

{{Note|Upgrading the kernel and the headers will require you to boot to the new kernel to match the version of the headers. This is a relatively common error.}}





=== Host-guest interactions not working ===





Symptoms: no drag and drop between host and guest, Unity quirkiness, possibly others.





Current versions of Workstation and Player prefer a FUSE-based client, {{ic|vmware-vmblock-fuse}}, over the older kernel module {{ic|vmblock.ko}}. If the FUSE client fails to load, VMware falls back to the module. If the module failed to compile for some reason, the above symtoms will appear.





Although Player and Workstation ship with an included {{ic|libfuse.so.2}}, this library doesn't work. During startup, the following is called:



/usr/lib/vmware/bin/vmware-vmblock-fuse -o subtype=vmware-vmblock,default_permissions,allow_other /var/run/vmblock-fuse





Even though the directory exists, the call fails with this error, visible only if you invoke the above by hand:



fuse: failed to exec fusermount: No such file or directory





There is likely some kind of binary incompatibility here. Fortunately, a workaround exists: simply install Arch's current {{pkg|fuse}} library. In fact, it might be a good thing to ensure you've installed all of the requirements listed for {{pkg|open-vm-tools}} even if you're using VMware's tools instead.





I noticed in my testing that the fallback method fails as well. {{ic|vmblock.ko}} won't load:



# modprobe vmblock



modprobe: ERROR: could not insert 'vmblock': Unknown symbol in module, or unknown parameter (see dmesg)



# dmesg



[] vmblock: Unknown symbol putname (err 0)





Fixing this is not necessary if the FUSE client is working. However, if you wish to, you'll need to [http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-emulation/vmware-modules/files/264-putname.patch patch one file in VMware's source].

=== USB devices not recognized ===

=== USB devices not recognized ===

Show more