How-To

Installing ESXi 8 on a Raspberry Pi 5

In my last article I discussed running VMware's ESXi 8 hypervisors and how I planned to install it on a Raspberry Pi 5 based system, specifically the Pi 500 which is basically a Pi 5 housed inside of a keyboard. However, after spend hours trying to install ESXi on it, using different components and trying different configurations I couldn't get it to work so I quickly purchased a Pi 5 and installed it in five minutes without any issues! I am unsure if was something with my Pi 500 or something about the Pi 500 in general that prevented me from installing ESXi on it. So, the long and short of it is that I will be using a Pi 5 rather than a Pi 500 for the rest of these articles.

It needs to be noted that all the information in my previous article is still valid except for my choice of using a Pi 5 rather than a Pi 500.

[Click on image for larger view.]

These articles build upon my previous work with ESXi 7 on a Pi 4. While not an official VMware product, ESXi on ARM is a community-driven initiative that allows users to experiment with running ESXi on ARM processors, with the Pi being the most popular. All in all, you should have a working ESXi server for under $100.

In my previous article, I covered the key improvements of the Pi 5, and compared it to the Pi 4. To summarize, the Pi 5 offers better performance, improved connectivity, and greater power efficiency. I also outlined the steps to run ESXi on ARM, including creating a Broadcom account, downloading the Fling, and setting up the required hardware. In this series of articles, I'll walk you through the process of installing and using ESXi 8 on the Raspberry Pi 5, providing a hands-on opportunity to explore VMware virtualization technology or to run ARM-based virtual machines (VMs).

Preparation for Installation
Per my previous article, the installation and running of ESXi requirements are light.

This is the hardware I will be using:

  • Raspberry Pi 5 ($80)
  • SanDisk 128GB Extreme microSDXC UHS-I Memory Card ($17)
  • TP-Link UE300 USB-A 3.0 to Ethernet adapter ($10)
  • 2 x PNY 128GB Turbo Attaché 3 USB 3.0 Flash Drive ($11)
  • Cable Matters Micro HDMI to HDMI Adapter ($5)

Update the Raspberry Pi EEPROM
To work correctly, you must ensure that Pi's EEPROM is the latest version. You can do this from a Pi running Raspberry OS or using a Micro SD drive.

Updating EEPROM from Raspberry PI OS
To see if you need to update the EEPROM from the Raspberry OS, enter sudo rpi-eeprom-update -a I. this will tell you if you are running the latest version, if not you will need to update it.

To update the EEPROM, enter sudo raspi-config. Select Advanced Options > A5 Bootloader Version > E1 Latest Use the latest version boot ROM software. Next time you reboot, it will bring up the Pi Imager, which allows you to download and install the image. How to do this shown in the next section.

Updating EEPROM from Micro SD Card
If you are not running Raspberry OS, you can update the EEPROM using a Micro SD card. This will overwrite the contents on the card.

I downloaded the OS Raspberry Pi Imager Tool and installed it on my Windows laptop.

[Click on image for larger view.]

Then, I launched the Imager, selected Raspberry Pi 5 from the drop-down menu, and selected Misc utility images > Bootloader (pi 5 family) > USB Boot. I selected the SD card and wrote the image on it.

[Click on image for larger view.]

After the image was written on the SD card, I put it into the Pi and powered it up.

The light will go from solid red to solid green, then If it completes successfully, the green LED light will blink rapidly, and the monitor, if connected, will display a green screen.

After it completes power down the Pi and the next time it reboots, it will have the updated EEPROM.

Writing the UEFI Firmware to the MicroSD
One of the early problems with installing ESXi was the absence of UEFI support, which flummoxed early adopters. Fortunately, Mario Balanica created a UEFI BIOS specially designed for the Raspberry Pi 5.

You can download the firmware.

[Click on image for larger view.]

On the right side of the page, click Latest.

Under Assets, click RPi5_UEFI_Release_v0.3.zip, save the zip file.

[Click on image for larger view.]

Extract them to your local system.

[Click on image for larger view.]

Format a MicroSD card to Fat32 on your local system and copy the files to it.

After the files have been written, insert the MicroSD into the Pi.

Installing ESXi
To install ESXI I plugged the USB drive with the ESXi installer bits and a second 128 GB USB 3.0 drive into the second USB 3.0 port. I plugged a keyboard and the USB to Ethernet adapter into the USB 2 ports and powered on the Pi.

NOTE: Make sure that you use 3.0 USB drives and plug them into the USB 3.0 port, as it will greatly speed up the process.

Following the Fling on Raspberry Pi 4/Pi 5 PDF instructions which I downloaded from the Fling site I installed ESXi on the Pi 5 without any issues.

[Click on image for larger view.]

NOTE: If your installation stops at 81%, it probably indicates that your USB Ethernet adapter isn't supported, so you will need to try a different one.

After installing ESXi, I rebooted the Pi. After letting the Pi boot up on ESXi, I could use the ESXi Host Client to contact it by entering its IP address into a web browser from my Windows system.

I logged in as root with the password I set when installing ESXi.

[Click on image for larger view.]

The summary page showed it had an ARM Cortex-A76 CPU, 8 GB of RAM, and 128 GB of persistent storage. It also showed that ESXi used less than 2GB of RAM, leaving 6GB for VMs.

[Click on image for larger view.]

Although I could NOT install ESXi on the Pi 500, I installed it on the Pi 5 without any issues. Anyone following these instructions should be able to get it up and running in half an hour or less.

In my next article, I will configure ESXi to use an NTP server for time services, enable SSH on it, and add a datastore so I can save and run VMs on it.

About the Author

Tom Fenton has a wealth of hands-on IT experience gained over the past 30 years in a variety of technologies, with the past 20 years focusing on virtualization and storage. He previously worked as a Technical Marketing Manager for ControlUp. He also previously worked at VMware in Staff and Senior level positions. He has also worked as a Senior Validation Engineer with The Taneja Group, where he headed the Validation Service Lab and was instrumental in starting up its vSphere Virtual Volumes practice. He's on X @vDoppler.

Featured

Subscribe on YouTube