How to Install VMware ESXi on a Raspberry Pi (Step-by-step)
VMware ESXi is a virtualization system that allows us to run several virtual machines on the same host. VMWare recently released an ARM version and we can now install it on Raspberry Pi. But there are easier systems to install. The official installation guide is almost 20 pages long, which I will summarize in this article.
VMware ESXi Arm Edition is available on the VMWare Flings website.
Before the installation, there are a few settings to change in the Raspberry Pi BIOS.
After that, the system can be installed on a USB key and will run from there.
It might seem easy, through this short introduction, but I can guarantee it’s probably the most complicated system I’ve ever installed on my Raspberry Pi. So stay tuned, as I explain everything step-by-step so you can install it yourself.
If you’re new to Raspberry Pi or Linux, I’ve got something that can help you right away!
Download my free Linux commands cheat sheet – it’s a quick reference guide with all the essential commands you’ll need to get things done on your Raspberry Pi. Click here to get it for free!
Before installing VMware ESXi
Before going to the installation, let me introduce what we will do, and what you need to know and do in this tutorial.
What is VMware ESXi?
VMware ESXi is a well-known software for virtualization purposes (an alternative to Microsoft Hyper-V, also popular). For example, I use it at work to run several Linux systems and host different services on each one. This avoids having a physical server for each system and allows advanced features like clustering, high availability and full backups.
My goal is not to go too far in the VMware ESXi introduction. If it’s the first time you’ve heard about it, it’s probably a good idea to look for more details before going further. But whatever your current level, I’ll show you how to install it on your Raspberry Pi.
So, VMWare now has an ARM version of the ESXi system. It’s currently available under the Flings brand (like a lab if you want, not complete support in the main product), and it works well on Raspberry Pi (at least on a Pi 4 with 4GB RAM or more).
As a side note, you can also install Proxmox on Raspberry Pi. I tried it too, it’s not there yet, but it’s almost ready.
Raspberry Pi installation overview
As I told you, the installation procedure is difficult for a system install. There are several steps needed:
- Prerequisites: you’ll need an SD card as usual, but also at least two USB drives to install VMware ESXi on your Raspberry Pi. I’ll explain why later.
- Step 1 – UEFI Bios: We’ll need to boot the UEFI firmware to use VMware ESXi. This is the main goal of the SD card in this installation. We’ll access the Raspberry Pi BIOS, change a few things and then boot on a USB drive.
- Step 2 – Installation: The installation wizard for VMware ESXi will be on a USB key, we’ll boot on it to install the system somewhere (it can be the same USB key or another one).
- Step 3 – Storage: Once on the ESXi system, you’ll need another USB storage to run the virtual machines. On a standard server, the system and the virtual machine’s datastore are not on the same disk(s). So, step 3 will be to configure this storage space.
- Step 4 – Create a virtual machine: Finally, I’ll show you how to create your first virtual machine. Once everything else is done, it’s the same process as on any server.
Now that you understand the big picture, let’s discuss the details.
Prerequisites
To sum up, here is what you need to get started:
- A Raspberry Pi: I recommend a Raspberry Pi 5 with 8GB RAM if you want to use this system for the long term. If it’s just to test, a Raspberry Pi 4 or 400 is enough, as long as it has a minimum of 4GB of RAM.
- An SD card: Any model will be ok, it’s only to start the UEFI boot, so we won’t use it once VMWare starts.
- A first USB drive: This one will store the ESXi installation image, but it can also run the system after that. So depending on your goals, it can be a basic USB key or an SSD USB drive for better performance. You don’t need so much space, 16GB is enough.
- Another USB drive: The first USB is for the system installation, and the second one is for hosting the virtual machines. For this one, an SSD USB disk seems useful as it will directly impact the performances of your virtual machines.
- (Optional) a third USB drive: I find it weird to overwrite the installation USB key with the system. So another option is to have a third USB drive for the final installation of VMware ESXi. It’s useful to keep the installation key intact, in case you need to reinstall it later.
If you are using USB drive(s) instead of USB keys, make sure they are self-powered, or use a powered USB hub. The Raspberry Pi will probably not have enough to power two or three USB drives simultaneously.
It's a free PDF guide containing every Raspberry Pi Linux command you should know!
Download now
Once you have everything ready, you can move to the installation.
Install VMware ESXi ARM Edition
Update the Raspberry Pi Firmware
First, you might need to update the Raspberry Pi firmware to enable the USB boot feature.
This is only necessary if you haven’t used it before, and for a Raspberry Pi 4. In other cases, it probably already works and you don’t need to do anything. It’s a one-time update for “old” Raspberry Pi.
If you think you might be in this situation, here is the procedure to install the latest firmware:
- Start on a Raspberry Pi OS system if you have one, or flash a new SD card with Raspberry Pi OS on it (the Lite version is enough).
Check this tutorial if you need further assistance on this. - Update the system:
sudo apt update
sudo apt upgrade
sudo apt full-upgrade - Update the firmware:
sudo rpi-update
sudo rpi-eeprom-update -d -a
After a reboot, your Raspberry Pi can now boot on USB.
Prepare the SD card
Then, we can create the SD card.
As I explained previously, the only thing we need on this SD card is the Raspberry Pi UEFI firmware, to access the BIOS and boot VMware from there.
- Format the SD card in FAT32.
If you have already used the SD card to update the firmware or run Raspberry Pi OS, you can simply remove all files manually (or format the partition).
If it’s a brand new SD card or has been used for other things, the easiest way to format it is to use the Raspberry Pi Imager.
In the OS list, you’ll find an option to format the SD card as FAT32.
Pick this option, select your SD card, and click “Next” to start formatting. - Then download these two files:
- The Raspberry Pi firmware files.
- The Raspberry Pi 4 UEFI firmware or this Raspberry Pi 5 UEFI firmware if you use a Pi 5 for that project.
- Extract them, each one in a separate folder.
It may take a while, as there are plenty of tiny files to extract. - Go into the first folder (firmware-master).
Copy all the files from the boot subfolder to your SD card, except the ones starting with “kernel”. - Then go into the second folder (UEFI).
Copy all the files to the SD card. Confirm overwrite when asked.
The SD card is ready to use, you can eject it safely and insert it into your Raspberry Pi, but don’t start it yet.
USB key preparation
The second step is to create the USB key with the VMWare installation image.
Here is how to do this:
- Go to the VMWare Flings website and download the ARM ISO file.
Click on “Login” if asked. Even if you’re already logged in on VMware, it looks like a second authentication is required for this forum before you can see the download link below. - A VMWare account is required to access the file download.
You’ll get an evaluation license for 180 days, but can still use it for free after that (with fewer features, but the most important ones stay enabled). - Once the file is on your computer, you can use a tool like Balena Etcher or Raspberry Pi Imager to flash it to your USB key.
With Imager, choose “Use Custom” in the OS list so you can pick the image file you just downloaded.
After a few seconds, the USB key is ready, you can plug it into your Raspberry Pi, and the next step is to access the BIOS menu to start the installation wizard.
Note: VMware is now part of Broadcom, and it looks like they will be migrating the user accounts to the Broadcom website soon. Things could change quickly in the next few weeks or months. Let me know if you try this and notice big differences in the process.
BIOS Settings
Start the Raspberry Pi with the SD card and the USB key plugged in.
Then follow these steps:
- Just after the rainbow screen, you’ll see a screen you have probably never seen before:
- Press “ESC” to access the BIOS menu.
- Then go to Device Manager > Raspberry Pi Configuration > Advanced Configuration:
You can use the arrows and “Enter” keys to move in this menu. - Disable the 3GB RAM limit:
- Press “ESC” a couple of times to return to the main menu, and confirm with “Y” to save the change.
- Then go to “Boot Maintenance Manager” > “Boot Options” > “Change Boot Order”.
- You can set the USB key as the first boot device if needed (Press “+” to move it to the top). Mine was already OK, I guess it uses the default settings of your Raspberry Pi with usual systems.
Choose “Commit changes and exit”.
Press “ESC” a few times again to return to the main menu. - Then, on the main menu, click on “Continue” to exit the BIOS and start the VMWare installation.
If you get something like that, you are good:
Wait a few minutes for the system to start (it’s time for coffee break at this point!), and move to the next step.
VMWare Installation
If you chose the installation with a third USB drive, you need to plug one now.
Once the yellow screens disappears, you’ll get a setup menu to install the system.
This is straightforward, here are the steps:
- On the first message, press “Enter” to continue.
- Accept the License Agreement with “F11”.
If you are using the same keyboard as me, it’s probably something like “Fn+F9” to do “F11”. - The wizard will scan your locale devices, and display the available USB drives to install the system.
If you have only one, it’s easy, press enter to continue.
If you have two or more, select the one where you want to install the system (you’ll need to keep it plugged all the time after that). - Then select the keyboard layout and press “Enter” to continue.
- Finally, enter the root password.
You will need something with several character types, I don’t know exactly the rules, but try something like letters, numbers and special characters. - Now, you need to start the installation by pressing “F11”.
The installation will take more or less time depending on the devices you are using, but it’s about 10 minutes on a basic USB key.
The wizard asks you to remove the installation media, obviously do this only if you have two USB keys. With one only, the system is now on the USB drive so you need to keep it plugged.
The SD card is also required for the system to start automatically.
First boot on ESXi
Press “Enter” at the end of the installation to reboot the Raspberry Pi.
The Raspberry Pi should start automatically with the SD card, which will boot the USB key first.
If this is not the case, return to the BIOS menu, you probably need to fix the boot order (especially if you used a different USB key).
After that, you’ll get the yellow screen again, and the VMware ESXi system will start.
There is nothing to do at this step.
It's a free PDF guide containing every Raspberry Pi Linux command you should know!
Download now
Once the system is completely started, you can access the web client at: http://<IP>.
The IP address is visible on your screen.
Going further with VMware ESXi
Ok, all of this is good, VMware ESXi is now installed on your Raspberry Pi.
But now you’ll probably need help using it and creating your first virtual machine.
If you are used to ESXi, it’s almost the same as usual, there is just a tip I will give you to create the datastore because I had trouble finding the solution.
Create a datastore
Creating a datastore is not possible by default on ESXi.
When you plug in a USB drive, it will mount automatically, so you can easily use it in a virtual machine. But to create a storage partition on it, you need to follow these steps:
- Log in to the web client.
The username is “root” and the password you chose during the installation. - Enable SSH.
Right-click on “Host” in the left menu.
Go to “Services” and click on “Enable secure shell (SSH)”. - Use Putty or any other SSH client to access the Raspberry Pi prompt.
- Log in with the same username and password.
- Enter the two commands:
/etc/init.d/usbarbitrator stop
chkconfig usbarbitrator off
This will stop the USB service that auto-mounts USB drives, and disable it on boot. - Plug your USB drive.
Try to use the USB 3.0 ports (blue), that are faster, for this datastore at least (ideally, both drives should be on them, but it’s not always possible). - To be sure, convert the USB key to msdos instead of gpt.
It might not be required on your system or drive, but as I’m on Windows, all my USB keys use the GPT format.- Get the device ID in the web client.
Go to Storage > Devices.
Click on the USB drive you want to use (you may need to unplug/plug it to refresh the view, now that the USB arbitrator service is off).
Note the “Path” field. - Switch to msdos with the following command:
partedUtil mklabel /dev/disks/mpx.vmhba32:C0:T0:L0 msdos
The device path might be different on your system.
I didn’t manage to create the datastore before doing this.
- Get the device ID in the web client.
- You can now create the datastore from the web client (the storage disk for your virtual machines):
- Go to Storage > Datastores.
- New datastore.
- Choose a name for this datastore (datastore1 for example).
- Select the USB device you want to use:
By the way, this is a random USB key just for the screenshots, I’m not using this one. - Then select the partitioning options.
“Use full disk” would be my recommendation as you’ll keep it plugged in all the time. - Click on Finish to format the drive and create the new datastore.
Wow, that’s it, your datastore is ready to use.
That’s all for the special tricks you need to know about installing ESXi on Raspberry Pi, but if you are new to this system, I’ll also guide you to create the first virtual machine.
Create a virtual machine
We have the system installed, and a datastore ready to store virtual machines, now we need to create a virtual machine.
Here is the procedure to create a new virtual machine:
- Click on “Virtual Machines” in the left menu.
- Click on “Create / Register VM”.
- A wizard will appear, asking you if you want to create a new one, deploy a pre-built machine or register an existing one.
I’ll show you the first case, and you can find help easily on the web for the two other ones. - Then, enter the name of the virtual machine and the operating system you will install on it:
- Select the storage you want to use.
It’s probably the “datastore1” we just created. - Then you can customize the virtual machine configuration:
Don’t forget that you are on a Raspberry Pi, so the resources are not unlimited. - For the CD/DVD drive line, choose “Use datastore iso file” and upload an image with the system you want to use.
The easiest one for a first try is to use the Debian ARM64 net installer image (available here).
For other distributions, look at what you can find, or follow the tutorials on the website I link below (you will probably need to use qemu to convert the image file into a VMWare disk file). - Click “Next” and “Finish” to complete the virtual machine creation.
The virtual machine is now available, you need to start it to install the system on it.
To interact with the virtual machine, you can use the HTML viewer, or install the remote console for more features and better keyboard support (especially if like me, you are not using a US keyboard).
The installation of Debian took a very long time for me (a few hours), but I’m not on an optimized setup at all, so it’s probably better with a decent drive (hopefully).
If you want to install VMware Tools on your new virtual machine, click the link to read my tutorial on how to do so.
If you want to go further with ESXi-ARM, I recommend this website. It includes many tutorials to install specific systems on it and advanced configuration tips.
It's a free PDF guide containing every Raspberry Pi Linux command you should know!
Download now
Video
You can check this video from my YouTube channel, to watch me install VMware ESXi on my Raspberry Pi:
It's a free PDF guide containing every Raspberry Pi Linux command you should know!
Download now
If you are looking for exclusive tutorials, I post a new course each month, available for premium members only. Join the community to get access to all of them right now!
Conclusion
In conclusion, this VMware ESXi version for the ARM architecture works pretty well. The installation is complicated, as you need to understand the different steps. Hopefully my guide here is easier than the official one.
In real life, I’m unsure if I will use this system as I don’t see a case where it can be useful for me. But if you are hosting different services, want to test x64 systems or anything else, you can now do this on Raspberry Pi directly.
The alternative being to use VMWare Workstation on your PC, and run Raspberry Pi OS on it.
Whenever you’re ready, here are other ways I can help you:
The RaspberryTips Community: If you want to hang out with me and other Raspberry Pi fans, you can join the community. I share exclusive tutorials and behind-the-scenes content there. Premium members can also visit the website without ads.
Master your Raspberry Pi in 30 days: If you are looking for the best tips to become an expert on Raspberry Pi, this book is for you. Learn useful Linux skills and practice multiple projects with step-by-step guides.
The Raspberry Pi Bootcamp: Understand everything about the Raspberry Pi, stop searching for help all the time, and finally enjoy completing your projects.
Master Python on Raspberry Pi: Create, understand, and improve any Python script for your Raspberry Pi. Learn the essentials step-by-step without losing time understanding useless concepts.
You can also find all my recommendations for tools and hardware on this page.