Thanks for coming back to part 2, here we will get into a little bit more of the how to get these little computers up and running and even running some VMs and some other interesting community things I have found out in my playing around.

If you only had the one SD card then those steps in the last blog can be undone now, we need the SD card to be formatted at FAT32 (MSDOS) so we can upload some required files to the card for the UEFI boot, if you do have a smaller SD card and you wish to preserve the Raspberry Pi OS card for other use cases then now is the time to protect that from the formatting.

UEFI Firmware

First, you need to download two compressed files.

Drop those in a folder ready to use next

101220 2004 ESXifor64bi1

Next up let’s insert the SD card into a reader so we can see it on our system. I am using Windows but steps for MacOS are shared in the pdf.

101220 2004 ESXifor64bi2

Confirm that you now have the right SD card formatted before we then start copying the required files.

101220 2004 ESXifor64bi3

Firstly, open the you have downloaded above and go into the firmware-master folder and then into the boot folder. Select the contents of the boot folder and copy those files to your UEFI created SD card partition.

101220 2004 ESXifor64bi4

Once that has copied then navigate to the SD card and remove the selected files below.

101220 2004 ESXifor64bi5

Then we need the and we take the contents of this compressed file and we copy that over the top of what we have just copied replacing all files on the SD card.

101220 2004 ESXifor64bi6

Replace the 4 files in the destination

101220 2004 ESXifor64bi7

This is then complete, there are further configuration steps you could take adding the following depending on the size of the Raspberry Pi variant you chose within the config.txt you will now find in the root of the SD card. The following settings can be added.

  • Raspberry Pi 4 4GB = gpu_mem=16
  • Raspberry Pi 4 8GB = gpu_mem=32

101220 2004 ESXifor64bi8

Eject the SD and we are onto actually moving onto the Pi at this stage.

Booting the Pi

Boot up the Pi and you should see a prompt “Esc” to enter setup. Hit Esc. We need to disable the 3GiB memory limit, this can be done by navigating on the first menu to Device Manager > Raspberry Pi Configuration > Advanced Configuration > Then change the “Limit RAM to 3GB” from enabled to disabled.

Press F10 on the keyboard and then Y to save this, press ESC three times and then to continue and hit enter.

Installing ESXi-ARM

We have now made it to the installation of ESXi, at this stage confirm that you have your ESXi-ARM iso extracted onto one of your USB Drives. Both USB drives are connected to the Pi as well as HDMI, Keyboard, Mouse, Ethernet and the SD Card, oh and power. If you want to get to the advanced options to use the same installer USB Drive as a datastore then Shift and O will get that during the boot setup process.

Power On the Pi, you will need to change the boot order so hit esc again, select Boot Manager and find the USB drive and hit enter in the list.

The installation will take a little while, I think the quickest I saw was around 10 minutes, once complete you will asked to disconnect the ISO USB Drive and then reboot on reboot you will again need to go and now change the boot order, hit esc on boot again and navigate the following Boot Maintenance Manager > Boot Options > Change Boot Order, you can then use the arrow to find the device you now have ESXi-ARM installed and use the + to move up the boot list.

Save and continue the boot and within minutes you will have your first ESXi-ARM hypervisor running on your little Raspberry Pi Computer. Accessible via a web page.

101220 2004 ESXifor64bi9

At this stage it looks and feels like any ESXi server, I went through the configuration to add my iSCSI LUN and went and created a new Ubuntu system using the ARM64 version (ubuntu-20.04.1-live-server-arm64) I then obviously wondered in this already community unsupported edition what else might work here????

Well I was able to add it to my Veeam Backup & Replication server

101220 2004 ESXifor64bi10

Then it was only obvious I would try out if it would backup the Ubuntu VM I had running?

101220 2004 ESXifor64bi11

And then would incremental backups work as well? Yep they work as well

101220 2004 ESXifor64bi12

Finally I thought I wonder if an Instant VM recovery would work here, well looks good.

101220 2004 ESXifor64bi13

Lets just check the ESXi page? All looks good on the recovery front as well.

101220 2004 ESXifor64bi14

I obviously must state again here that the VMware fling is unsupported and a community project, in the same light Veeam does not officially support ESXi on ARM.

But from a community standpoint with a lot of people out there testing this in their labs it is important to recognise that you have a way of protecting those VMs you create on your Pis as well as a recovery path for that too.

One final note is a big thank you to the VMware guys, your documentation was great, a lot of what I have documented here is parts taken from their documentation. I have simplified it for my use case and my setup for my own reference. I would also thank Dean Lewis for sounding some ideas about this as I worked through some of the challenges.

Leave a Reply

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