Patch VMware Tools source code for a variety of VMware Tools and kernel versions.
$ git clone https://github.com/rasa/vmware-tools-patches.git
$ cd vmware-tools-patches
$ ./patched-open-vm-tools.sh
The above script has been provided which generally should always work, automatically invoking commands described in the following section "Quick Start"
To update and re-patch later, remove the vmware-tools-patches
subdirectory with the previous download and re-run the script.
To build VMware Tools, do the following:
-
Checkout the repository:
$ git clone https://github.com/rasa/vmware-tools-patches.git
-
(Optional) Copy your patch(es) into the appropriate directory in the
patches
directory. Patches must end in.patch
, or.diff
and be properly formatted. For example:$ cp great-new.patch vmware-tools-patches/patches/vmhgfs
-
Copy or download the version of VMware Tools you wish to use into the
vmware-tools-patches
folder. One way to do this is using download-tools.sh and pass it the associated VMWare Fusion version number:$ cd vmware-tools-patches $ ./download-tools.sh 7.1.2
It is strongly suggested to use the latest version of VMware Tools.
VMware Tools is also included inside the
linux.iso
file that is shipped with VMware Fusion, Player, and Workstation. -
Untar the tarball, and apply the patches:
$ cd vmware-tools-patches $ ./untar-and-patch.sh
-
Run the
vmware-install.pl
installer to install VMware Tools:$ ./compile.sh
With the patches applied, at least one version of VMware Tools listed below, compiles successfully with the following Linux kernels:
We have not received any reports of the patches failing on the following kernels, so presumably they apply successfully:
The included patches have been tested with the following versions of VMware Tools:
- VMwareTools-10.0.0-2977863.tar.gz (VMware Fusion 8.0.0 & Workstation 12.0.0)
- VMwareTools-9.9.3-2759765.tar.gz (VMware Fusion 7.1.2 & Workstation 11.1.2)
- VMwareTools-9.9.2-2496486.tar.gz (VMware Fusion 7.1.1 & Workstation 11.1.0)
- VMwareTools-9.9.0-2304977.tar.gz (VMware Fusion 7.1.0 & Workstation 11.0.0)
- VMwareTools-9.8.4-2202052.tar.gz (VMware Fusion 7.0.1)
- VMwareTools-9.8.3-2075148.tar.gz (VMware Fusion 7.0.0)
- VMwareTools-9.6.6-2649738.tar.gz (VMware Fusion 6.0.6 & Workstation 10.0.5/6/7)
- VMwareTools-9.6.2-1688356.tar.gz (VMware Fusion 6.0.3/4/5 & Workstation 10.0.2/3/4)
- VMwareTools-9.6.1-1378637.tar.gz (VMware Fusion 6.0.2 & Workstation 10.0.1)
- VMwareTools-9.6.0-1294478.tar.gz (VMware Fusion 6.0.0/1 & Workstation 10.0.0)
- VMwareTools-9.2.4-1398046.tar.gz (VMware Fusion 5.0.5 & Workstation 9.0.3)
- VMwareTools-9.2.3-1031360.tar.gz (VMware Fusion 5.0.4 & Workstation 9.0.2)
If one or more patches do not apply successfully, you may get an error during compilation, such as
vmhgfs-only/link.c:186:10: error: implicit declaration of function ‘vfs_readlink’ [-Werror=implicit-function-declaration]
This indicates the vmhgfs
kernel module failed to build and was not installed. That may be acceptable, as VMware Tools still installed successfully, but without the "shared folder" functionality provided by the vmhgfs
module.
Please note your patches must contain only one directory name in them. For example, the following patches will work:
+--- vmhgfs-only/link.c.orig 2014-04-23 10:11:34.891106441 +0100
++++ vmhgfs-only/link.c 2014-04-23 00:49:03.000000000 +0100
or
+--- vmhgfs-only.orig/link.c 2014-04-23 10:11:34.891106441 +0100
++++ vmhgfs-only/link.c 2014-04-23 00:49:03.000000000 +0100
The following patches will not work:
+--- link.c.orig 2014-04-23 10:11:34.891106441 +0100
++++ link.c 2014-04-23 00:49:03.000000000 +0100
or
+--- path/to/vmhgfs-only/link.c.orig 2014-04-23 10:11:34.891106441 +0100
++++ path/to/vmhgfs-only/link.c 2014-04-23 00:49:03.000000000 +0100
If you use download-tools.sh, to download a VMware Tools file, the script will need the following installed:
- sevenzip or sudo rights
- unzip
- wget
- zip
If apt-get
is installed on your system, the following packages will be installed when you first run compile.sh or untar-and-patch-and-compile.sh.sh:
- linux-headers-$(uname -r)
- build-essential
- dkms
- patch
- perl
- psmisc
If yum
is installed on your system, the following packages will be installed when you first run compile.sh or untar-and-patch-and-compile.sh.sh:
- gcc
- glibc-headers
- kernel-devel
- kernel-headers
- make
- perl
If neither apt-get
or yum
is installed, you will need to install these (or equivalent) packages manually, before starting.
To contribute to this project, please see CONTRIBUTING.md.
To view existing bugs, or report a new bug, please see issues.
To view the version history for this project, please see CHANGELOG.md.
This project is MIT licensed.
This project was created and is maintained by Ross Smith II
Feedback, suggestions, and enhancements are welcome.