Virtual Machines on the Raspberry Pi!

VMWare ESXi on Raspberry Pi 4

Muhammad Arsalan
5 min readDec 7, 2021

“If you think that the internet has changed your life, think again. The Internet of Things is about to change it all over again!” — Brendan O’Brien

Backstory

The Raspberry Pi has come a long way since its invention in 2012, in terms of power, speed, ports etc it keeps advancing into a tiny little beast!
The Raspberry Pi 4 now has quad-core Cortex-A72 (ARM v8) 64-bit CPU’s, with RAM options from 2GB and up to 8GB and support for multiple monitors, it can in my opinion replace, to some extent, your PC.

What is VMWare ESXI ARM

VMWare ESXi has been the industry standard for deploying and managing Virtual Machines on Servers using VMWare. Now it also has an ARM Version by the name of ARM-Fling, and since Raspberry Pi runs on ARM it’s the best combination to use to set up your mini-portable Virtualisation Server.

Setting up VMWare ESXi on Raspberry Pi 4

Hardware Requirements:

  1. Raspberry Pi 4 (At least 4GB)
  2. Raspberry Pi Power Cable
  3. Ethernet Cable
  4. SD Card (At least 8GB)
  5. 2 x USB ( At least 16GB Both )
  6. HDMI Cable
  7. Monitor Screen
  8. Keyboard

Software Requirments :

  1. Raspi OS (Latest Download Here: https://www.raspberrypi.com/software/ )
  2. VMWare ESXi ARM ISO ( Download Here: https://flings.vmware.com/esxi-arm-edition )
  3. Ubuntu ARM ISO ( Download Here: https://ubuntu.com/download/server/arm )
  4. Latest Raspberry Pi Firmware
  5. Community Raspberry Pi 4 UEFI firmware

Step 1: Updating Raspberry Pi Firmware

First, you need to install the Raspi OS onto the SD Card, you can check out this tutorial here: How to install Raspbian on the Raspberry Pihttps://thepi.io › Tutorials.

After that insert the SD Card into your Raspberry Pi and power it up, open up a terminal and type the following commands :

  • sudo rpi-eeprom-update -a
  • sudo reboot

After your Pi reboots, shut it down and remove the SD Card.

Step 2: Setting Up UEFI on SD Card

Reformat the SD Card to FAT-32 (MS-DOS FAT), then from the firmware-master > boot folder you downloaded copy all the files onto the SD Card except the ones starting with kernel.* .

Next, copy all the files from the RPI4-UEFI-Firmware folder onto the SD Card and hit replace when prompted.

Step 3: Creating ESXI USB

Using this software, Balena Etcher ( Link. : https://www.balena.io/etcher ), select the VMWare ESXI ISO file you downloaded and burn it onto the USB.

Step 4: ESXI ARM Installation

Insert the USB and SD card into your Pi and Boot up, make sure you are connected to a Monitor with a Keyboard and the Pi is also connected to the Ethernet Cable.

When the Pi Boots up, after the rainbow screen you will see the following screen; press the “ESC” key to go to the Setup Menu.

In the Setup Menu, go to Device Manager > Raspberry Pi Settings > Advanced Settings > 3GB RAM Limit and Disable it, then press the ESC key to go back and save the settings, keep pressing the ESC until you reach the Setup Menu again, and then goto continue to move forward with the installation.

After rebooting, VMWare ESXI will start the installation, when prompted select the USB Drive you burned the VMWare ESXI ISO on and keep pressing continue.

After a successful installation, you will see the following screen with an IP Address to access the Web Client :

Step 5: Accessing the ESXI ARM-Fling Web Portal

In your browser navigate to the provided IP address, to access the web portal, then enter your username root and your password to log in.

You will be redirected to the following screen :

Setting Up Datastore and Creating our First Virtual Machine

Now that you have ESXi up and running, it’s time to set up a datastore and create our first VM.

Remember that second USB now is the time to put it to use. Format the second USB to FAT-32(MS-DOS FAT), but before inserting it into the Pi we need to make some tweaks.

Enable SSH

In the ESXi Web Portal, right-click on the host goto services and enable SSH. Then SSH into the Pi and type the following commands :

  • /etc/init.d/usbarbitrator stop
  • chkconfig usbarbitrator off

Create Datastore

Now insert the second USB into the Pi, on the Web Portal Navigate to Storage > Create New Datastore.

On the Wizard Prompt, select the second USB as the VMFS Datastore, enter a name, then select Use Full Disk, and then continue.

After this, you will have created your datastore, and we can move on to creating our first VM.

Creating Our First Virtual Machine

After creating your Datastore, on the Web Portal Navigate to the Virtual Machines > Create/Register VM, which will open up a wizard prompt.

Select the name of your VM, select Linux and Select Ubuntu (64bit) and continue.

On the next screen navigate down to the CD/DVD Drive and Select Datastore ISO, then upload the Ubuntu ARM ISO you downloaded, after it’s uploaded select it and click continue, then click finish.

After the VM has been created you will be able to see it under the Virtual Machines section.

That’s it for today folks!

You can reach out to me on my Email or Github :
Email: arsalan.sahab@gmail.com
GitHub: www.github.com/ArsalanSahab

--

--

Muhammad Arsalan

Innovation Sherpa | Techie | Institute of Business Administration | I want to make the world more literate in technology and spread a positive impact !