[Project-13: ESXi Arm on RPi 400]

Preparation

Setup involves ensuring Raspberry Pi microcode (e.g. for USB) is up-to-date, deploying the UEFI firmware and preparing the installer USB drive.

Step 1: Ensure Raspberry Pi EEPROM is updated

sudo rpi-eeprom-updatesudo rpi-eeprom-update –asudo reboot

Step 2: Prepare SD card

This corresponds to the microcode necessary to initialize the Raspberry Pi.

This is the firmware necessary to boot ESXi-Arm.

Step 3: Download ESXi on Arm Fling






Raspberry Pi OS as a VM on ESXi-Arm

What you need:

Create new VM

Compatibility: ESXi 7.0 and laterGuest OS Family: LinuxGuest OS Version: Debian GNU/Linux 11 (64-Bit)Datastore: datastore1 (or desired value)CPU: 2 (or desired value)MEM: 2GB (or desired value)Hard Disk 1: Remove default since we are going to attach later, the one we will convert.CD/DVD dive 1: disconnected

Download desired OS
https://www.raspberrypi.com/software/operating-systems/

Unpack .img file from .XY file with 7Zip

Convert .img file to VMDK file with qemu-img

qemu-img convert -f raw [...].img -O vmdk [...].vmdk

Transfer VMDK file to new VM storage location with ESXi-Manager Webgui

Convert the VMDK one more time so ESXi understands it.
The qemu-img utility only converts it to a hosted format which is normally used by Workstation/Fusion.
We use vmkfstools.
You need to SSH (SSH is disabled by default) to the ESXi-Arm host after SCP'ing the VMDK and then run this command from ESXi-Arm host:

vmkfstools -i [...].vmdk -d thin [...].vmdk

After the conversion completes, you can delete the source VMDK.



ESXi ARM on CM4

Hardware:  

Board: CM4-IO-Base-B 

https://www.waveshare.com/wiki/CM4-IO-BASE-B

RPi: CM4 8GB


Hardware : BCM2835Revision : d03140Serial : 100000002a5b16a7Model : Raspberry Pi Compute Module 4 Rev 1.0
dietpi@DietPiCM4:~$ sudo pinout,--csi1---dsi0---dsi1-----------,-------------.-----------.|  ----   ----   ----  J2ooooooo|O           O|           |c| O  Pi CM4  Rev 1.0    1oooooo|        Wi   |       O   |s|    IO Board                  |        Fi   |           |i|           J6oo               |         +--+|  |P|      || J8           1o               |  ,----. |eM||  }-{      ||Ooooooooooooooooooooo   O      |  |SoC | |MC||  |C|      || 1ooooooooooooooooooo   PoE    |  |    | +--+|  |I|      || ,---.                  1o     |  `----'     |  |e|      ||( =O |                  oo     |  +----+     |           || ) + |                         |O |RAM |    O|           ||( =O |                         `--+----+-----'           || `---'                                                   ||                                                         ||                                                         ||  O                       |Net | |USB|     |uSD|     O|p|||O   |HDMI|   |HDMI|     O |    | | 2 | usb |   |      |w||`----| 0  |---| 1  |-------|    |-|   |-| |------------|r|'
Revision           : d03140SoC                : BCM2711RAM                : 8GBStorage            : eMMC / off-boardUSB ports          : 2 (of which 0 USB3)Ethernet ports     : 1 (1000Mbps max. speed)Wi-fi              : TrueBluetooth          : TrueCamera ports (CSI) : 2Display ports (DSI): 2
J2:1-2 DISABLE eMMC BOOT3-4 WRITE-PROT EEPROM    
J6:1-2 CAM0+DISP0 (1) (2) 1-2 CAM0+DISP03-4 CAM0+DISP0 (3) (4) 3-4 CAM0+DISP0J8:POE:TR01 (1) (2) TR00TR03 (3) (4) TR02
For further information, please refer to https://pinout.xyz/