Resolving no shared folders with VMWare Player 7 and Ubuntu 15.04 guest


VMWare Player is actually a very nice stable virtualisation solution … for older operating systems.

If you are using VMWare Player to experiment with newer operating systems like Ubuntu 15.04 you’ll find out quite quickly, standard stuff like vmware-tools fail to work.  The reason for this is that VMWare themselves are not proactive.  They wait months and months before releasing newer versions of their vmware-tools product.

If you want a pro-active hypervisor – choose virtualbox.  However – I’ve found that virtualbox is very unstable – it often crashes and suspending & resuming guests just doesnt work.

So back to VMWare Player.

Ubuntu vivid - VMware Player (Non-commercial use only)_073Shared folders support for the latest Ubuntu 15.04 using the current vmware-tools (v9.9.2) is broken.  If you attempt to install vmware-tools, a whole host of vmhgfs compilation errors are observed.

Fortunately there is a wonderful GitHub Project that maintains support for new kernels – support for both kernel 3.19 and kernel 4.0 is available.

The readme instructions are self explanatory.  Reproduced here – but remember to re-read the readme for changes and updates – don’t forget to show your appreciation and star that repository and use the briliant Flattr to show your support:

To build VMware Tools, do the following:

  1. Checkout the repository:
    git clone https://github.com/rasa/vmware-tools-patches.git
  2. Copy or download the version of VMware Tools you wish to use into the vmware-tools-patches folder. To do this use download-tools.sh and pass it the associated VMWare Fusion version number N.B. this still works with VMWare Player!!:
    cd vmware-tools-patches
    ./download-tools.sh 7.1.1

    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 – but you should ignore this version and just grab the latest.

  3. Untar the tarball, and apply the patches:
    cd vmware-tools-patches
    ./untar-and-patch.sh
  4. Run the vmware-install.pl installer to install VMware Tools:
    ./compile.sh
Advertisements

How to fix no shared folders in vmware player 7


A quick note for those that have seen shared folder support and copy-to-clipboard issues when running a ubuntu 14.04 virtual machine in VMWare Player / VMWare Workstation.

Ubuntu has recently just bumped its kernel version to 3.13.0-46-generic i.e. run uname -a to see what kernel you are running.

The default vmware tools that comes with VMWare Player 7 now does not compile correctly.  When you run vmware-install.pl in the extracted vmware-tools package you see the following error:


from /tmp/modconfig-ABCdEFgH/vmhgfs-only/inode.c:29:
include/linux/kernel.h:793:27: error: ‘struct dentry’ has no member named ‘d_alias’
const typeof( ((type *)0)->member ) *__mptr = (ptr); \

The hint I found to fix this was here – however the instructions were not clear how to apply this.


From the VMWare Player menu choose Virtual Machine – Reinstall VMWare Tools.

Click Install on the dialog to mount the virtual disc

Copy the VMWareTools-9.9.2-2496486.tar.gz file displayed in Nautilus to your ~/Downloads folder.

Dip into your terminal:

cd ~/Downloads
tar -xvf VMWareTools-9.9.2-2496486.tar.gz
cd vmware-tools-distrib/lib/modules/source/
tar -xvf vmhgfs.tar
cd vmhgfs-only

then copy and paste the following as a file called inode.patch

1924a1925
> #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0) 
1925a1927,1929 
> #else
>              d_u.d_alias) {
> #endif
1977a1982
> #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0) 
1978a1984,1987 
> #else
>          struct dentry *dentry = list_entry(pos, struct dentry, d_u.d_alias);
> #endif
> 

Run the following to fix the errant file the cannot be compiled:

patch inode.c < inode.patch

This will complain about the file being read-only – but will patch the file never-the-less.

Finally – recompress the sources you’ve modified back as a tar file and re-run the vmware-tools installer:


cd ..
mv vmhgfs.tar vmhgfs.tar.orig
tar cvf vmhgfs.tar vmhgfs-only
cd ~/Downloads/vmware-tools-distrib
sudo ./vmware-install.pl