• Stars
    star
    1,175
  • Rank 39,793 (Top 0.8 %)
  • Language
    Shell
  • License
    MIT License
  • Created about 11 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Patch and build VMware tools automatically

VMware Tools Patches Flattr this

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:

  1. Checkout the repository:

    $ 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. For example:

    $ 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 and pass it the associated VMWare Fusion version number:

    $ cd vmware-tools-patches
    $ ./download-tools.sh latest

    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.

  4. Untar the tarball, and apply the patches:

    $ cd vmware-tools-patches
    $ ./untar-and-patch.sh
  5. Run the vmware-install.pl installer to install VMware Tools:

    $ ./compile.sh

Tested Kernels

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:

Tested VMware Tools Versions

The included patches have been tested with the following versions of VMware Tools:

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, 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.

Contributing

To contribute to this project, please see CONTRIBUTING.md.

Bugs

To view existing bugs, or report a new bug, please see issues.

Changelog

To view the version history for this project, please see CHANGELOG.md.

License

This project is MIT licensed.

Contact

This project was created and is maintained by Ross Smith II endorse

Feedback, suggestions, and enhancements are welcome.

More Repositories

1

scoop-directory

A searchable directory of buckets for the scoop package manager for Windows
Python
851
star
2

scoops

📦 A bucket of tasty scoop flavored apps.
Python
80
star
3

dskwipe

Securely wipe disk media
C++
21
star
4

backup-wrt

Backup OpenWRT and DDWRT configuration files
Shell
8
star
5

regdelta

Diff, export, and sort Windows registry files
C++
6
star
6

nirsoft_installer

Downloads and install NirSoft freeware
NSIS
4
star
7

rasa

4
star
8

vlc_installer

Download and install the VLC media player and related plugins
Makefile
4
star
9

idbenchmark

Benchmark ID generators using Badger, Bolt, Bbolt, MySQL (MyISAM & InnoDB) & Redis
Go
3
star
10

opauth-disqus

Disqus authentication strategy for Opauth
PHP
3
star
11

law-scraper

Scrapes California laws found in https://leginfo.legislature.ca.gov and generates PDF files with bookmarks.
Python
3
star
12

actiontec-config-saver

Save Actiontec router configuration as .html files
Ruby
2
star
13

attr

Display and set attributes on files and directories
Makefile
2
star
14

shared

C/C++ shared library code
C++
2
star
15

path_set

Modify system and user environment variables
Makefile
1
star
16

audacity_installer

Download and install Audacity and related plugins
Makefile
1
star
17

opauth-paypal

PayPal strategy for Opauth
PHP
1
star
18

lsdsk

List mounted disks
C++
1
star
19

feedster

To help my wife with her pranayama workshop
Go
1
star
20

os

Go
1
star
21

out-of-one-many

Move directories to different partitions
Shell
1
star
22

res_set

Display or change the monitor resolution, color depth, or refresh rate
C++
1
star
23

exetype

Display the type of a Windows EXE file
Makefile
1
star
24

keepass2

Clean git repo of KeePass 2.x from https://sourceforge.net/projects/keepass/files (GPL-2.0)
C#
1
star
25

godupless

Reports on duplicate files across multiple volumes
Go
1
star
26

nsislib

NSIS shared library files
NSIS
1
star
27

opauth.org

Source code of opauth.org
PHP
1
star
28

keepass1

Clean git repo of KeePass 1.x from https://sourceforge.net/projects/keepass/files (GPL-2.0)
C++
1
star