Technical Silly

UEFI-less VMs with ESXi-Arm Fling 1.1

Those coming from an embedded Arm experience are well versed in operating systems usually being distributed as a file system, an initial ramdisk and a kernel. On embedded systems, the last two parts are loaded into RAM by firmware like Das U-Boot. ESXi-Arm VMs, on the other hand, boot into UEFI and expect a UEFI-enabled Linux kernel or a  UEFI bootloader application like GRUB2.

Well, with ESXi-Arm Fling 1.1 you can now run “raw” code without UEFI. This can be a Linux kernel, but it can also be anything else – from a port of U-Boot or OpenFirmware, to your own homegrown OS.

Showing a Linux VM booting would be incredibly boring, so in the spirit of enabling creative innovation, I hacked together a simple “bare VM” demo :-). This shows how to run code, get serial and debug log output:

What will you make?