VMware ESXi auf dem Raspberry Pi 4 installieren – bachmann-lan.de (2024)

VMware ESXi auf dem Raspberry Pi 4 installieren – bachmann-lan.de (1)

Am 6. Oktober wurde die ESXi-Arm Fling Version veröffentlicht. Infos und Downloads zur ESXi Arm Edition gibts auf VMware Flings.
Damit ist es jetzt möglich den VMware ESXi (vSphere 7) auf einem Raspberry Pi 4 zu installieren! :-]

benötigte Hardware

  • Raspberry Pi 4 mit 8GB RAM und ausreichender Kühlung (4GB geht auch, wird dann aber mit mehreren VMs schnell eng werden.)
  • microSD-Karte für das EEPROM Update und die UEFI Firmware (8GB völlig ausreichend)
  • USB Stick für den ESXi Installer
  • USB 3.0 Stick für das System und den DataStore. (ich nehme dafür aber eine SSD mit einem USB 3.0 auf SATA Adapter)

ESXi-Arm ISO downloaden

Für den download des ISO Images verlangt VMware allerdings eine kostenlose Registrierung.
Das Fling-on-Raspberry-Pi.pdf ist eine sehr ausführliche Anleitung zur Installation und Konfiguration. Sollte man sich mal durchlesen.

Die ESXi-Arm Installation ist für 180 Tage uneingeschränkt nutzbar. Danach muss neu installiert werden!

EEPROM updaten

Dafür wird ein Raspberry Pi OS Lite auf die microSD-Karte installiert. (Wird nur einmalig für das Update benötigt.)
Zuerst das installierte Pi OS updaten um ein aktuelles rpi-eeprom Paket zu erhalten.

pi@raspberrypi:~ $ sudo apt updatepi@raspberrypi:~ $ sudo apt upgradepi@raspberrypi:~ $ sudo reboot

Prüfen ob ein Update vorhanden ist.

pi@raspberrypi:~ $ sudo rpi-eeprom-updateBCM2711 detectedVL805 firmware in bootloader EEPROM*** UPDATE AVAILABLE ***BOOTLOADER: update availableCURRENT: Thu 16 Apr 17:11:26 UTC 2020 (1587057086) LATEST: Thu 3 Sep 12:11:43 UTC 2020 (1599135103) FW DIR: /lib/firmware/raspberrypi/bootloader/criticalVL805: up-to-dateCURRENT: 000137ad LATEST: 000137ad

Wenn ja, updaten.

pi@raspberrypi:~ $ sudo rpi-eeprom-update -aBCM2711 detectedVL805 firmware in bootloader EEPROM*** INSTALLING EEPROM UPDATES ***BOOTLOADER: update availableCURRENT: Thu 16 Apr 17:11:26 UTC 2020 (1587057086) LATEST: Thu 3 Sep 12:11:43 UTC 2020 (1599135103) FW DIR: /lib/firmware/raspberrypi/bootloader/criticalVL805: up-to-dateCURRENT: 000137ad LATEST: 000137adBOOTFS /bootEEPROM updates pending. Please reboot to apply the update.pi@raspberrypi:~ $ sudo reboot

Nach dem reboot.

pi@raspberrypi:~ $ sudo rpi-eeprom-updateBCM2711 detectedVL805 firmware in bootloader EEPROMBOOTLOADER: up-to-dateCURRENT: Thu 3 Sep 12:11:43 UTC 2020 (1599135103) LATEST: Thu 3 Sep 12:11:43 UTC 2020 (1599135103) FW DIR: /lib/firmware/raspberrypi/bootloader/criticalVL805: up-to-dateCURRENT: 000138a1 LATEST: 000138a1

Die schnelle Variante für ein EEPROM Update:

  • Das aktuelle rpi-boot-eeprom-recoveryRelease von GitHub downloaden.
  • microSD-Karte mit FAT formatieren und den Inhalt derrpi-boot-eeprom-recovery-2020-09-03-vl805-000138a1.zipeinfach auf die Karte kopieren.
  • Die microSD-Karte in den Raspberry Pi und einschalten.
  • Mindestens 10 Sekunden warten!

Wenn der Vorgang erfolgreich war, blinkt die grüne LED schnell (unendlich), ansonsten wird ein Fehlermuster dargestellt.
Mit einem HDMI Monitor am Pi wird der Bildschirm bei Erfolg grün und bei einem Fehler rot.

UEFI Firmware auf die microSD-Karte kopieren

Dafür wird wieder die microSD-Karte Karte vom EEPROM Update genommen. Sie wird jetzt immer und nur für die UEFI Firmware benötigt.
Die zwei Firmware-Archive herunterladen.

Die microSD-Karte formatieren. Dateisystem: Fat32 und Volumebezeichnung: UEFI

Aus derfirmware-master.zip den Inhalt des Ordnersboot aber ohne die 4 kernel* Dateien auf die microSD-Karte entpacken.

Aus derRPi4_UEFI_Firmware_v1.20.zip alle Dateien auf die microSD-Karte entpacken und vorhandene Dateien dabei überschreiben!

ESXi Installer erstellen

Mit Rufus und dem ISO wird der bootfähige USB-Stick für die Installation erstellt.

UEFI Firmware konfigurieren

Die microSD-Karte mit der Firmware in den Pi und einschalten. Wenn das Pi-Logo erscheint, mehrmals die ESC-Taste drücken um ins UEFI Setup zu kommen.

3GB RAM Limit deaktivieren
Der genutzte Arbeitsspeicher ist vorerst auf 3GB begrenzt. Um die 8GB zu nutzen muss das Limit deaktiviert werden.
Device Manager →Raspberry Pi Configuration →Advanced Configuration →Limit RAM to 3 GB, Disabled (mit F10 speichern)

Display Auflösung anpassen
Für eine bessere Lesbarkeit, kann die Auflösung noch angepasst werden. (abhängig vom eingesetzten Monitor)
Device Manager Raspberry Pi Configuration Display Configuration, 800×600 / 1024×768 (mit F10 speichern)

ESXi installieren

Den USB-Stick und die SSD jetzt zusätzlich anschließen, Pi einschalten und mit ESC wieder ins Setup um vom Stick zu booten.
Boot Manager UEFI USB-Stick auswählen, Enter

Sobald der ESXi Installer anfängt zu laden mit SHIFT + O den Vorgang unterbrechen, um noch einen zusätzlichen Bootparameter mit anzugeben.

> runweasel cdromBoot autoPartitionOSDataSize=8192
Damit wird eine 8GB VMFS-L Partition für das ESXi System erstellt und der restliche Speicherplatz automatisch als DataStore genutzt.

Den Installer jetzt weiter ausführen und für die Installation die SSD auswählen.

Bootreihenfolge ändern

Nach der Installation nochmal ins Setup und die SSD als erstes Bootdevice setzen.
Boot Maintenance Manager Boot Options Change Boot Order Change the order, die SSD nach oben

Startet jetzt direkt von der SSD den installierten ESXi.

Webinterface

Der Web Client für die Verwaltung ist über https://<ip-addresse> erreichbar.

Zuerst sollte man jetzt ein paar NTP Server eintragen, die Startrichtlinie ändern und den ntpd Dienst starten damit Datum und Uhzeit stimmen.

Virtuelle Maschinen

Der Pi schlägt sich auch mit ein paar kleinen ARM VMs recht gut. (x86/x64 Gastsysteme können nicht installiert werden!)

VMware Tools installieren

Die open-vm-tools sind leider für viele arm64 Gastbetriebssysteme nicht verfügbar. Können aus den VMware Repositories aber selbst kompiliert werden.

Debian 10 / Ubuntu 20.04

Muss kompiliert werden.

### Abhängigkeiten installieren.$ apt install -y git automake make gobjc++ libtool pkg-config libmspack-dev libglib2.0-dev libpam0g-dev libssl-dev libxml2-dev libxmlsec1-dev libx11-dev libxext-dev libxinerama-dev libxi-dev libxrender-dev libxrandr-dev libxtst-dev libgdk-pixbuf2.0-dev libgtk-3-dev libgtkmm-3.0-dev### Das open-vm-tools Repository von GitHub klonen.$ git clone https://github.com/vmware/open-vm-tools.git$ cd open-vm-tools/open-vm-tools/### open-vm-tools kompilieren.$ autoreconf -i$ ./configure --disable-dependency-tracking$ make$ make install$ ldconfig### Um vmtoolsd als Service mit systemd zu starten muss eine Unit Datei angelegt werden.$ cat > /etc/systemd/system/vmtoolsd.service << EOF[Unit]Description=Service for virtual machines hosted on VMwareDocumentation=http://github.com/vmware/open-vm-toolsAfter=network-online.target[Service]ExecStart=/usr/local/bin/vmtoolsdRestart=alwaysTimeoutStopSec=5[Install]WantedBy=multi-user.targetEOF### Den Service beim Systemstart aktivieren und jetzt starten.$ systemctl enable vmtoolsd.service$ systemctl start vmtoolsd.service### Prüfen ob der Service läuft.$ systemctl status vmtoolsd.service● vmtoolsd.service - Service for virtual machines hosted on VMware Loaded: loaded (/etc/systemd/system/vmtoolsd.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2020-11-08 14:57:13 CET; 21min ago ---SNIP---

CPU Temperatur auf dem ESXi-Arm auslesen

Eine gute Kühlung ist sehr wichtig, wenn man den ESXi auf dem Pi laufen lässt. Mit dem Fling selbst ist es nicht möglich die CPU Temperatur auszulesen.
Auf GitHub gibt es einen Treiber mit Script für das GPIO Interface. (thebel1/thpimon)

Für die dauerhafte Speicherung von Tools und Skripten nutze ich den DataStore.

thpimon installieren

$ cd /vmfs/volumes/[datastore-name]$ mkdir opt$ cd opt$ esxcli software acceptance set --level=CommunitySupported$ esxcli network firewall ruleset set -e true -r httpClient$ wget https://github.com/thebel1/thpimon/archive/main.zip$ esxcli network firewall ruleset set -e false -r httpClient$ unzip main.zip$ cp thpimon-main/build/vib/thpimon-0.1.0-1OEM.701.1.0.40650718.aarch64.vib /tmp/$ esxcli software vib install -v /tmp/thpimon-0.1.0-1OEM.701.1.0.40650718.aarch64.vib$ reboot

Nach dem reboot hat man ein neues Gerät unter /dev/vmgfxXX

$ ls -la /dev/vmg*lrwxrwxrwx 1 root root 22 Sep 1 14:12 /dev/vmgfx32 -> char/vmkdriver/vmgfx32

Script ausführen.

$ cd /vmfs/volumes/[datastore-name]/opt$ ./thpimon-main/pyUtil/pimon_util.pyTraceback (most recent call last): File "./thpimon-main/pyUtil/pimon_util.py", line 4, in <module> from pimonLib import * File "/opt/thpimon-main/pyUtil/pimonLib/__init__.py", line 73, in <module> class PiMon: File "/opt/thpimon-main/pyUtil/pimonLib/__init__.py", line 74, in PiMon pimonDev = open(PIMON_DEVICE_PATH, 'r+b')FileNotFoundError: [Errno 2] No such file or directory: '/dev/vmgfx33'

Erhält man die obige Fehlermeldung, muss der PIMON_DEVICE_PATH auf den neuen Devicenamen geändert werden.

$ vi thpimon-main/pyUtil/pimonLib/__init__.pyPIMON_DEVICE_PATH = '/dev/vmgfx32'

Script ausführen.

& ./thpimon-main/pyUtil/pimon_util.pyFirmware Revision: 0x5f440c10Board Model: 0Board Revision: 0xd03114Board MAC Address: 12:34:56:78:90:abBoard Serial: 0x0000001111v222Temp: 47.0 (deg. C)
VMware ESXi auf dem Raspberry Pi 4 installieren – bachmann-lan.de (2024)

References

Top Articles
Latest Posts
Article information

Author: Nicola Considine CPA

Last Updated:

Views: 5443

Rating: 4.9 / 5 (69 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Nicola Considine CPA

Birthday: 1993-02-26

Address: 3809 Clinton Inlet, East Aleisha, UT 46318-2392

Phone: +2681424145499

Job: Government Technician

Hobby: Calligraphy, Lego building, Worldbuilding, Shooting, Bird watching, Shopping, Cooking

Introduction: My name is Nicola Considine CPA, I am a determined, witty, powerful, brainy, open, smiling, proud person who loves writing and wants to share my knowledge and understanding with you.