https://github.com/rasa/vmware-tools-patches
Patch and build VMware tools automatically
https://github.com/rasa/vmware-tools-patches
Last synced: about 1 year ago
JSON representation
Patch and build VMware tools automatically
- Host: GitHub
- URL: https://github.com/rasa/vmware-tools-patches
- Owner: rasa
- License: mit
- Created: 2013-09-17T18:49:42.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2019-05-21T08:28:24.000Z (about 7 years ago)
- Last Synced: 2025-04-12T04:49:39.581Z (about 1 year ago)
- Language: Shell
- Homepage: https://github.com/rasa/vmware-tools-patches/wiki
- Size: 252 KB
- Stars: 1,198
- Watchers: 78
- Forks: 199
- Open Issues: 34
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# VMware Tools Patches [![Flattr this][flatter_png]][flatter]
Patch VMware Tools source code for a variety of VMware Tools and kernel versions.
## Quickest Start (The easiest way)
```bash
$ 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:
1. Checkout the repository:
```bash
$ git clone https://github.com/rasa/vmware-tools-patches.git
```
2. *(Optional)* Copy your patch(es) into the appropriate directory in the `patches` directory. Patches must end in `.patch`, or `.diff` and be [properly formatted](#required-patch-format). For example:
```bash
$ cp great-new.patch vmware-tools-patches/patches/vmhgfs
```
3. 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](../../blob/master/download-tools.sh) and pass it the associated VMWare Fusion version number:
```bash
$ cd vmware-tools-patches
$ ./download-tools.sh latest
```
It is strongly suggested to use the [latest version](#tested-vmware-tools-versions) of VMware Tools.
VMware Tools is also included inside the `linux.iso` file that is shipped with VMware Fusion, Player, and Workstation.
4. Untar the tarball, and apply the patches:
```bash
$ cd vmware-tools-patches
$ ./untar-and-patch.sh
```
5. Run the `vmware-install.pl` installer to install VMware Tools:
```bash
$ ./compile.sh
```
## Tested Kernels
With the patches applied, at least one version of VMware Tools listed [below](#tested-vmware-tools-versions), compiles successfully with the following Linux kernels:
* [4.0.x](http://kernelnewbies.org/Linux_4.0)
* [3.19.x](http://kernelnewbies.org/Linux_3.19)
* [3.18.x](http://kernelnewbies.org/Linux_3.18)
* [3.17.x](http://kernelnewbies.org/Linux_3.17)
* [3.16.x](http://kernelnewbies.org/Linux_3.16)
* [3.13.x](http://kernelnewbies.org/Linux_3.13)
* [3.12.x](http://kernelnewbies.org/Linux_3.12)
* [3.11.x](http://kernelnewbies.org/Linux_3.11)
* [3.8.x](http://kernelnewbies.org/Linux_3.8)
* [3.5.x](http://kernelnewbies.org/Linux_3.5)
* [2.6.32](http://kernelnewbies.org/Linux_2.6.32)
We have not received any reports of the patches failing on the following kernels, so presumably they apply successfully:
* [3.15.x](http://kernelnewbies.org/Linux_3.15)
* [3.14.x](http://kernelnewbies.org/Linux_3.14)
* [3.10.x](http://kernelnewbies.org/Linux_3.10)
* [3.9.x](http://kernelnewbies.org/Linux_3.9)
* [3.7.x](http://kernelnewbies.org/Linux_3.7) and earlier
## Tested VMware Tools Versions
The included patches have been tested with the following versions of VMware Tools:
* [VMwareTools-10.0.10-4301679.tar.gz](https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/8.5.0/4352717/packages/com.vmware.fusion.tools.linux.zip.tar) (VMware Fusion 8.5.0/1/2 & Workstation 12.5.0/1/2)
* [VMwareTools-10.0.6-3595377.tar.gz](https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/8.1.1/3771013/packages/com.vmware.fusion.tools.linux.zip.tar) (VMware Fusion 8.1.1 & Workstation 12.1.1)
* [VMwareTools-10.0.5-3228253.tar.gz](https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/8.1.0/3272237/packages/com.vmware.fusion.tools.linux.zip.tar) (VMware Fusion 8.1.0 & Workstation 12.1.0)
* [VMwareTools-10.0.1-3160059.tar.gz](https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/8.0.2/3164312/packages/com.vmware.fusion.tools.linux.zip.tar) (VMware Fusion 8.0.2 & Workstation 12.0.1)
* [VMwareTools-10.0.0-2977863.tar.gz](https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/8.0.1/3094680/packages/com.vmware.fusion.tools.linux.zip.tar) (VMware Fusion 8.0.1)
* [VMwareTools-10.0.0-2977863.tar.gz](https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/8.0.0/2985594/packages/com.vmware.fusion.tools.linux.zip.tar) (VMware Fusion 8.0.0 & Workstation 12.0.0)
* [VMwareTools-9.9.4-3193940.tar.gz](https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/7.1.3/3204469/packages/com.vmware.fusion.tools.linux.zip.tar) (VMware Fusion 7.1.3 & Workstation 11.1.3)
* [VMwareTools-9.9.3-2759765.tar.gz](https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/7.1.2/2779224/packages/com.vmware.fusion.tools.linux.zip.tar) (VMware Fusion 7.1.2 & Workstation 11.1.2)
* [VMwareTools-9.9.2-2496486.tar.gz](https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/7.1.1/2498930/packages/com.vmware.fusion.tools.linux.zip.tar) (VMware Fusion 7.1.1 & Workstation 11.1.0)
* [VMwareTools-9.9.0-2304977.tar.gz](https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/7.1.0/2314774/packages/com.vmware.fusion.tools.linux.zip.tar) (VMware Fusion 7.1.0 & Workstation 11.0.0)
* [VMwareTools-9.8.4-2202052.tar.gz](https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/7.0.1/2235595/packages/com.vmware.fusion.tools.linux.zip.tar) (VMware Fusion 7.0.1)
* [VMwareTools-9.8.3-2075148.tar.gz](https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/7.0.0/2075534/packages/com.vmware.fusion.tools.linux.zip.tar) (VMware Fusion 7.0.0)
* [VMwareTools-9.6.6-2649738.tar.gz](https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/6.0.6/2684343/packages/com.vmware.fusion.tools.linux.zip.tar) (VMware Fusion 6.0.6 & Workstation 10.0.5/6/7)
* [VMwareTools-9.6.2-1688356.tar.gz](https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/6.0.3/1747349/packages/com.vmware.fusion.tools.linux.zip.tar) (VMware Fusion 6.0.3/4/5 & Workstation 10.0.2/3/4)
* [VMwareTools-9.6.1-1378637.tar.gz](https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/6.0.2/1398658/packages/com.vmware.fusion.tools.linux.zip.tar) (VMware Fusion 6.0.2 & Workstation 10.0.1)
* [VMwareTools-9.6.0-1294478.tar.gz](https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/6.0.1/1331545/packages/com.vmware.fusion.tools.linux.zip.tar) (VMware Fusion 6.0.0/1 & Workstation 10.0.0)
* [VMwareTools-9.2.4-1398046.tar.gz](https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/5.0.5/1945692/packages/com.vmware.fusion.tools.linux.zip.tar) (VMware Fusion 5.0.5 & Workstation 9.0.3)
* [VMwareTools-9.2.3-1031360.tar.gz](https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/5.0.4/1435862/packages/com.vmware.fusion.tools.linux.zip.tar) (VMware Fusion 5.0.4 & Workstation 9.0.2)
## Encountering Failures
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.
## Required Patch Format
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
````
## Dependencies
If you use [download-tools.sh](../../blob/master/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](../../blob/master/compile.sh) or [untar-and-patch-and-compile.sh.sh](../../blob/master/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](../../blob/master/compile.sh) or [untar-and-patch-and-compile.sh.sh](../../blob/master/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.
## Contributing
To contribute to this project, please see [CONTRIBUTING.md](CONTRIBUTING.md).
## Bugs
To view existing bugs, or report a new bug, please see [issues](../../issues).
## Changelog
To view the version history for this project, please see [CHANGELOG.md](CHANGELOG.md).
## License
This project is [MIT licensed](LICENSE).
## Contact
This project was created and is maintained by [Ross Smith II][] [![endorse][endorse_png]][endorse]
Feedback, suggestions, and enhancements are welcome.
[Ross Smith II]: mailto:ross@smithii.com "ross@smithii.com"
[flatter]: https://flattr.com/submit/auto?user_id=rasa&url=https%3A%2F%2Fgithub.com%2Frasa%2Fvmware-tools-patches
[flatter_png]: http://button.flattr.com/flattr-badge-large.png "Flattr this"
[endorse]: https://coderwall.com/rasa
[endorse_png]: https://api.coderwall.com/rasa/endorsecount.png "endorse"