Virtual Machines on the Raspberry Pi!
VMWare ESXi on Raspberry Pi 4
“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:
- Raspberry Pi 4 (At least 4GB)
- Raspberry Pi Power Cable
- Ethernet Cable
- SD Card (At least 8GB)
- 2 x USB ( At least 16GB Both )
- HDMI Cable
- Monitor Screen
- Keyboard
Software Requirments :
- Raspi OS (Latest Download Here: https://www.raspberrypi.com/software/ )
- VMWare ESXi ARM ISO ( Download Here: https://flings.vmware.com/esxi-arm-edition )
- Ubuntu ARM ISO ( Download Here: https://ubuntu.com/download/server/arm )
- Latest Raspberry Pi Firmware
- 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