Running ESXi on a RPi

Let’s be honest. I never knew this was or could be a thing. I heard about ESXi previously while doing research on home labs and NAS options. However it always struck me as far too advanced, needing specific equipment requirements, and something I simply didn’t need.

Recently I came across a Network Chuck video concerning running a Kemp Load Balancer (see this post) for free. As you may know free is one of my favorite four letter f words. While looking into this option my initial thought was to run it in unRAID as a virtual machine. However that did not work. I was doing some research and discovered you could run it in ESXi. For the above listed reasons I kind of gave up on it.

Not long after I came across an October 2020 video from Data Knox where he put ESXi on a Raspberry Pi. Now my interest is peaked. Raspberry Pi’s are amazing, mostly inexpensive and if they can now run these kinds of programs perhaps I need to reevaluate my position. I did some research and I downloaded the instructions (Fling-on-Raspberry-Pi.pdf).

I first started with an old raspberry pi that I had laying around and quickly discovered that it simply was not powerful enough to do what I wanted it to do. I also found Data Knox difficult to watch. I don’t really know why, but again I set the project aside. However the idea stuck with me.

A few days later Network Chuck was recommended to me by YouTube and low and behold he had a video covering the same topic! I finally broke down and bought a 8gb Raspberry Pi 4 and followed Chuck’s video instructions.

Coffee break!

Chuck’s video spoke to me much better then Data Knox’s and I was able to follow along getting everything working fine. At least until we got to the point where we install ESXi on the usb drive (Page 13 item 4).

This is where you are choosing which drive the pi should boot from. Once selected you start hitting Shift-O and are supposed to append the command with:
autoPartitionOSdatasize=8192

This creates an 8gb partition for ESXi to live in while leaving the rest of the drive available for as a datastore.

It kept failing. My monitor would not allow me to see the line. I couldn’t understand what was happening. Now, to understand my situation, what you need to know about my set up is that my main desktop is connected to a monitor directly in front of my chair. Directly to the right is an older television that I use to watch TV while working. This is what I use as my monitor for my Pi’s during the initial setup before disconnecting and running headless. What was happening is that when TV’s are connected to a Pi via the HDMI port the television enlarges the signal and that part of the image is shows outside of the visible bounds of the screen. I found that if I edited the config.txt file on the flash drive to include:
overscan_top=20
overscan_bottom=20
overscan_left=20
overscan_right=20

I added these commands right after the
gpu_mem=16
addition.

This time everything worked. ESXi installed on the USB stick, a datastore was created, and I was able to start creating virtual machines.

I didn’t write up detailed instructions because quite honestly there are better people out there who have done this. One of the nicest is from https://kalifornia909.info/post/esxi-raspberry-pi/ (interestingly this is also one of the people that Network Chuck highlights in his “You need a website” video)

2 comments

  1. Did you ever get Kemp to work on the raspberry pi esxi? The esxi is running fine and great but kemp is not liking it at all and won’t work

    1. Its been a couple of years since I did this. I don’t believe that I ever got Kemp to work on this setup. I may need to revisit this once life has decided to calm down a bit.

Leave a comment

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