vmware-tools-patches
Tools
Shell
Patch VMware Tools source code for a variety of VMware Tools and kernel versions.
Quickest Start (The easiest way)
$ 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.
Quick Start
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 latest
<p> It is strongly suggested to use the <a rel="nofollow noopener" target="_blank" href="#tested-vmware-tools-versions">latest version</a> of VMware Tools.<br /> VMware Tools is also included inside the <code>linux.iso</code> file that is shipped with VMware Fusion, Player, and Workstation. </li> <li> Untar the tarball, and apply the patches:</p> <pre>$ cd vmware-tools-patches
$ ./untar-and-patch.sh
<li>
Run the <code>vmware-install.pl</code> installer to install VMware Tools:</p> <pre>$ ./compile.sh</pre>
</li></ol>
<h2 dir="auto">
<a rel="nofollow noopener" target="_blank" id="user-content-tested-kernels" class="anchor" aria-hidden="true" href="#tested-kernels"></a>Tested Kernels
</h2>
<p>
With the patches applied, at least one version of VMware Tools listed <a rel="nofollow noopener" target="_blank" href="#tested-vmware-tools-versions">below</a>, compiles successfully with the following Linux kernels:
</p>
<ul dir="auto">
<li>
<a rel="nofollow noopener" target="_blank" href="http://kernelnewbies.org/Linux_4.0">4.0.x</a>
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="http://kernelnewbies.org/Linux_3.19">3.19.x</a>
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="http://kernelnewbies.org/Linux_3.18">3.18.x</a>
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="http://kernelnewbies.org/Linux_3.17">3.17.x</a>
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="http://kernelnewbies.org/Linux_3.16">3.16.x</a>
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="http://kernelnewbies.org/Linux_3.13">3.13.x</a>
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="http://kernelnewbies.org/Linux_3.12">3.12.x</a>
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="http://kernelnewbies.org/Linux_3.11">3.11.x</a>
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="http://kernelnewbies.org/Linux_3.8">3.8.x</a>
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="http://kernelnewbies.org/Linux_3.5">3.5.x</a>
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="http://kernelnewbies.org/Linux_2.6.32">2.6.32</a>
</li>
</ul>
<p>
We have not received any reports of the patches failing on the following kernels, so presumably they apply successfully:
</p>
<ul dir="auto">
<li>
<a rel="nofollow noopener" target="_blank" href="http://kernelnewbies.org/Linux_3.15">3.15.x</a>
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="http://kernelnewbies.org/Linux_3.14">3.14.x</a>
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="http://kernelnewbies.org/Linux_3.10">3.10.x</a>
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="http://kernelnewbies.org/Linux_3.9">3.9.x</a>
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="http://kernelnewbies.org/Linux_3.7">3.7.x</a> and earlier
</li>
</ul>
<h2 dir="auto">
<a rel="nofollow noopener" target="_blank" id="user-content-tested-vmware-tools-versions" class="anchor" aria-hidden="true" href="#tested-vmware-tools-versions"></a>Tested VMware Tools Versions
</h2>
<p>
The included patches have been tested with the following versions of VMware Tools:
</p>
<ul dir="auto">
<li>
<a rel="nofollow noopener" target="_blank" href="https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/8.5.0/4352717/packages/com.vmware.fusion.tools.linux.zip.tar">VMwareTools-10.0.10-4301679.tar.gz</a> (VMware Fusion 8.5.0/1/2 & Workstation 12.5.0/1/2)
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/8.1.1/3771013/packages/com.vmware.fusion.tools.linux.zip.tar">VMwareTools-10.0.6-3595377.tar.gz</a> (VMware Fusion 8.1.1 & Workstation 12.1.1)
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/8.1.0/3272237/packages/com.vmware.fusion.tools.linux.zip.tar">VMwareTools-10.0.5-3228253.tar.gz</a> (VMware Fusion 8.1.0 & Workstation 12.1.0)
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/8.0.2/3164312/packages/com.vmware.fusion.tools.linux.zip.tar">VMwareTools-10.0.1-3160059.tar.gz</a> (VMware Fusion 8.0.2 & Workstation 12.0.1)
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/8.0.1/3094680/packages/com.vmware.fusion.tools.linux.zip.tar">VMwareTools-10.0.0-2977863.tar.gz</a> (VMware Fusion 8.0.1)
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/8.0.0/2985594/packages/com.vmware.fusion.tools.linux.zip.tar">VMwareTools-10.0.0-2977863.tar.gz</a> (VMware Fusion 8.0.0 & Workstation 12.0.0)
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/7.1.3/3204469/packages/com.vmware.fusion.tools.linux.zip.tar">VMwareTools-9.9.4-3193940.tar.gz</a> (VMware Fusion 7.1.3 & Workstation 11.1.3)
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/7.1.2/2779224/packages/com.vmware.fusion.tools.linux.zip.tar">VMwareTools-9.9.3-2759765.tar.gz</a> (VMware Fusion 7.1.2 & Workstation 11.1.2)
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/7.1.1/2498930/packages/com.vmware.fusion.tools.linux.zip.tar">VMwareTools-9.9.2-2496486.tar.gz</a> (VMware Fusion 7.1.1 & Workstation 11.1.0)
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/7.1.0/2314774/packages/com.vmware.fusion.tools.linux.zip.tar">VMwareTools-9.9.0-2304977.tar.gz</a> (VMware Fusion 7.1.0 & Workstation 11.0.0)
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/7.0.1/2235595/packages/com.vmware.fusion.tools.linux.zip.tar">VMwareTools-9.8.4-2202052.tar.gz</a> (VMware Fusion 7.0.1)
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/7.0.0/2075534/packages/com.vmware.fusion.tools.linux.zip.tar">VMwareTools-9.8.3-2075148.tar.gz</a> (VMware Fusion 7.0.0)
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/6.0.6/2684343/packages/com.vmware.fusion.tools.linux.zip.tar">VMwareTools-9.6.6-2649738.tar.gz</a> (VMware Fusion 6.0.6 & Workstation 10.0.5/6/7)
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/6.0.3/1747349/packages/com.vmware.fusion.tools.linux.zip.tar">VMwareTools-9.6.2-1688356.tar.gz</a> (VMware Fusion 6.0.3/4/5 & Workstation 10.0.2/3/4)
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/6.0.2/1398658/packages/com.vmware.fusion.tools.linux.zip.tar">VMwareTools-9.6.1-1378637.tar.gz</a> (VMware Fusion 6.0.2 & Workstation 10.0.1)
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/6.0.1/1331545/packages/com.vmware.fusion.tools.linux.zip.tar">VMwareTools-9.6.0-1294478.tar.gz</a> (VMware Fusion 6.0.0/1 & Workstation 10.0.0)
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/5.0.5/1945692/packages/com.vmware.fusion.tools.linux.zip.tar">VMwareTools-9.2.4-1398046.tar.gz</a> (VMware Fusion 5.0.5 & Workstation 9.0.3)
</li>
<li>
<a rel="nofollow noopener" target="_blank" href="https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/5.0.4/1435862/packages/com.vmware.fusion.tools.linux.zip.tar">VMwareTools-9.2.3-1031360.tar.gz</a> (VMware Fusion 5.0.4 & Workstation 9.0.2)
</li>
</ul>
<h2 dir="auto">
<a rel="nofollow noopener" target="_blank" id="user-content-encountering-failures" class="anchor" aria-hidden="true" href="#encountering-failures"></a>Encountering Failures
</h2>
<p>
If one or more patches do not apply successfully, you may get an error during compilation, such as
</p>
<pre class="notranslate"><code>vmhgfs-only/link.c:186:10: error: implicit declaration of function ‘vfs_readlink’ [-Werror=implicit-function-declaration]
<p>
This indicates the <code>vmhgfs</code> 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 <code>vmhgfs</code> module.
</p>
<h2 dir="auto">
<a rel="nofollow noopener" target="_blank" id="user-content-required-patch-format" class="anchor" aria-hidden="true" href="#required-patch-format"></a>Required Patch Format
</h2>
<p>
Please note your patches must contain only one directory name in them. For example, the following patches will work:
</p>
<pre class="notranslate"><code>+--- 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
<p>
or
</p>
<pre class="notranslate"><code>+--- 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
<p>
The following patches will not work:
</p>
<pre class="notranslate"><code>+--- link.c.orig 2014-04-23 10:11:34.891106441 +0100
++++ link.c 2014-04-23 00:49:03.000000000 +0100
<p>
or
</p>
<pre class="notranslate"><code>+--- 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
<h2 dir="auto">
<a rel="nofollow noopener" target="_blank" id="user-content-dependencies" class="anchor" aria-hidden="true" href="#dependencies"></a>Dependencies
</h2>
<p>
If you use download-tools.sh, to download a VMware Tools file, the script will need the following installed:
</p>
<ul dir="auto">
<li>
sevenzip or sudo rights
</li>
<li>
unzip
</li>
<li>
wget
</li>
<li>
zip
</li>
</ul>
<p>
If <code>apt-get</code> 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:
</p>
<ul dir="auto">
<li>
linux-headers-$(uname -r)
</li>
<li>
build-essential
</li>
<li>
dkms
</li>
<li>
patch
</li>
<li>
perl
</li>
<li>
psmisc
</li>
</ul>
<p>
If <code>yum</code> 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:
</p>
<ul dir="auto">
<li>
gcc
</li>
<li>
glibc-headers
</li>
<li>
kernel-devel
</li>
<li>
kernel-headers
</li>
<li>
make
</li>
<li>
perl
</li>
</ul>
<p>
If neither <code>apt-get</code> or <code>yum</code> is installed, you will need to install these (or equivalent) packages manually, before starting.
</p>
<h2 dir="auto">
<a rel="nofollow noopener" target="_blank" id="user-content-contributing" class="anchor" aria-hidden="true" href="#contributing"></a>Contributing
</h2>
<p>
To contribute to this project, please see CONTRIBUTING.md.
</p>
<h2 dir="auto">
<a rel="nofollow noopener" target="_blank" id="user-content-bugs" class="anchor" aria-hidden="true" href="#bugs"></a>Bugs
</h2>
<p>
To view existing bugs, or report a new bug, please see issues.
</p>
<h2 dir="auto">
<a rel="nofollow noopener" target="_blank" id="user-content-changelog" class="anchor" aria-hidden="true" href="#changelog"></a>Changelog
</h2>
<p>
To view the version history for this project, please see CHANGELOG.md.
</p>
<h2 dir="auto">
<a rel="nofollow noopener" target="_blank" id="user-content-license" class="anchor" aria-hidden="true" href="#license"></a>License
</h2>
<p>
This project is MIT licensed.
</p>
<h2 dir="auto">
<a rel="nofollow noopener" target="_blank" id="user-content-contact" class="anchor" aria-hidden="true" href="#contact"></a>Contact
</h2>
<p>
This project was created and is maintained by Ross Smith II <a rel="nofollow noopener" target="_blank" href="https://coderwall.com/rasa"></a><br /> Feedback, suggestions, and enhancements are welcome.
</p>