ESXi for ARM is now available! https://flings.vmware.com/esxi-arm-edition

ESXi now being available for ARM brings a whole new raft of options to the homelab, I’ve been excited to try out some parts of vCenter which I haven’t played with yet.

Parts List

Here is what I purchased to try all this out, some items were probably cheaper elsewhere but I’m lazy so ordered from sites with good shipping.

PartsPrice
Raspberry Pi 4B 8GB x 2 (Okdo)£132.48
Raspberry Pi 4 UK Power Supply x2 (Okdo)£15.62
SanDisk Ultra Flair 128 GB USB 3.0 Flash Drive x2 (Amazon)£24.98
SanDisk Extreme Pro 32 GB microSDHC Memory Card x2 (Amazon)£19.38
iuniker Raspberry Pi 4 Case x2 (Amazon)£21.98
TOTAL£214.44

Setup

Setup was fairly simple, the process is pretty well documented already so I won’t go into detail here other than a few quirks I ran into. There is a great PDF available on the VMware Fling page.

To download the ISO for this fling you have to register an account with VMware, this is free and if you have ever used the free ESXi keys then you probably already have an account.

Quirks

autoPartitionOSDataSize

The ESXi installer for ARM will use the entire disk for the OS installation by default, this means you will have no space on the USB for a datastore. While running VMs from the USB stick will not be ideal, I plan to do this for these Pis as they are purely for testing and messing about. Anything I want to keep running in the lab will go on a different host with a proper storage solution.

During the boot of the ESXi installer from your USB stick you have to press Shift + O to access the settings for the installer then add this to the end of the line, autoPartitionOSDataSize=8192 (screenshot below), this will limit the ESXi partition to 8GB and leave the rest of the disk for datastore1 which gets created automatically.

ESXi System Time

This system time in ESXi after the install was wildly off and this caused issues when trying to add them to vSphere. Fixing this is simple and can be done through the web ui.

Vmware Tools

The ESXi for ARM install does not come with VMware Tools, if you try to install the VMware Tools through the UI you will run into this error:

This means that you will need to compile VMware Tools on the OS of your choosing. For this example I will show the steps for Ubuntu 20.04 LTS https://ubuntu.com/download/server/arm.

1 – Install build tools

sudo 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

2 – Clone the open-vm-tools repo

git clone https://github.com/vmware/open-vm-tools.git
cd open-vm-tools/open-vm-tools/

3 – Build and install

autoreconf -i
./configure
sudo make
sudo make install
sudo ldconfig

4 – systemd service creation

cat > /etc/systemd/system/vmtoolsd.service << EOF
[Unit]
Description=
Description=Open VM Tools
After=
After=network-online.target
[Service]
ExecStart=
ExecStart=/usr/local/bin/vmtoolsd
Restart=always
RestartSec=1sec
[Install]
WantedBy=multi-user.target
EOF

5 – Enable and start the service

sudo systemctl enable vmtoolsd.service
sudo systemctl start vmtoolsd.service
Before
After

The “sudo ldconfig” command in step 3 was missing from the VMware docs so make sure to include it.

What’s next?

I’ve already tried out vMotion between the two Pis and that worked great. I’ve read about K8s and these could be cool little hosts to experiment on, more to come!

Leave a comment

Your email address will not be published.