Skip to content

VMware Tools for Ubuntu 20.04 LTS arm64 on ESXi-Arm

VMware Tools is a set of utilities and drivers that improve the performance and management of your Virtual Machines. They are essential when running VMs on ESXi. With the recently released ESXi Arm Edition Fling, you want to make sure that you have them installed.

Ubuntu is a Linux distribution based on Debian. It is officially released in three editions: Desktop, Server, and Core. Ubuntu is released every six months, with long-term support (LTS) releases every two years. As of 22 October 2020, the most recent long-term support release is 20.04 ("Focal Fossa"), which is supported until 2025 under public support

Unfortunately, a compiled version of open-vm-tools for arm64 is not available for many common Guest Operating Systems, so you have to compile them from VMwares Repository at GitHub.

This article explains how to compile open-vm-tools for Ubuntu 20.04 LTS arm64.

Prerequisites
Ubuntu 20.04 LTS (arm64) installed as a Virtual Machine on ESXi-Arm Fling.
Ubuntu Download: https://ubuntu.com/download/server/arm
ESXi Arm Edition: https://flings.vmware.com/esxi-arm-edition
open-vm-tools Documentation: https://github.com/vmware/open-vm-tools

Installation

  1. Open a Terminal or connect with SSH to your Ubuntu.
  2. Install tools and libraries that are required to build open-vm-tools.
    # apt install -y git automake make gobjc++ libtool pkg-config libmspack-dev libglib2.0-dev libpam0g-dev libssl-dev libxml2-dev libxmlsec1-dev libx11-dev libxext-dev libxinerama-dev libxi-dev libxrender-dev libxrandr-dev libxtst-dev libgdk-pixbuf2.0-dev libgtk-3-dev libgtkmm-3.0-dev
  3. Clone VMware's official open-vm-tools repository from GitHub.
    # git clone https://github.com/vmware/open-vm-tools.git
    # cd open-vm-tools/open-vm-tools/
  4. Compile open-vm-tools.
    # autoreconf -i
    # ./configure --disable-dependency-tracking
    # make
    # make install
    # ldconfig
  5. Create a unit file. The file is required to run vmtoolsd as service with systemd.
    # cat > /etc/systemd/system/vmtoolsd.service << EOF
    [Unit]
    Description=Service for virtual machines hosted on VMware
    Documentation=http://github.com/vmware/open-vm-tools
    After=network-online.target
    
    [Service]
    ExecStart=/usr/local/bin/vmtoolsd
    Restart=always
    TimeoutStopSec=5
    
    [Install]
    WantedBy=multi-user.target
    EOF
  6. Enable and start the open-vm-tools service.
    # systemctl enable vmtoolsd.service
    # systemctl start vmtoolsd.service
  7. Verify that open-vm-tools are running
    # systemctl status vmtoolsd.service

You should now see that VMware Tools are running in the vSphere Client.

9 thoughts on “VMware Tools for Ubuntu 20.04 LTS arm64 on ESXi-Arm”

  1. Thanks very useful for getting the max out of ESXi arm fling.

    Any guidance how to get the open-vm-tools-desktop arm64 package on Ubuntu?

    1. I'm wondering the same thing (open-vm-tools-desktop for arm64), currently trying to install Kali on a new MacBook Pro (M1/ARM).
      At least I got the open-vm-tools installed by manually building them, as they are not part of Kali's apt sources. But unfortunately I didn't find anything related to open-vm-tools-desktop for arm64... No repo on GitHub, no packages, no nothing 😢

  2. I wonder if it would be possible to transfer the already compiled vm-tools to other machines because I won't compile it separately on every machine!?

  3. open-vm-tools: Unknown ioctl 1976

    Recently I setup my Raspberry Pi 4B 8GB ESXi Cluster. After compling and installing the open-vm-tools for Arm64/AArch64 I got alot of messages regarding “Unknown ioctl 1976”. This happens due to missing “VMCI_SOCKETS” module load during startup. You can simply fix this by adding the following lines to /etc/modprobe.d/blacklist.conf:

    blacklist vsock_loopback
    blacklist vmw_vsock_virtio_transport_common
    install vsock_loopback /usr/bin/true
    install vmw_vsock_virtio_transport_common /usr/bin/true

Leave a Reply to d4Rk Cancel reply

Your email address will not be published. Required fields are marked *