OpenWrt-19.07.7 for VMware ESXI Arm Fling Rpi4 8GB

I just wanted to share a VM I created for VMware ESXi 7 Arm Fling for Rpi4.

You can download it here:

it's similar to the one in this post:

however OpenVPN causes a kernel panic on that one so I compiled a later version with quite a few additional packages.

Took me a while to get it working so I hope it's also useful to someone else.

2 Likes

Thank you!!! I have troubles with some kernel modules in 19.07.05 on fling and now I will check out this!!! )))

It works! But can you please write how you compile it?

  • The installed version of package kernel is not compatible, require 4.14.221-1-4952e47cā€¦ while 4.14.221-1-fe68fc47ā€¦ is installed."
    People may need a lot of kernel modules. Better give us a fishing rod, not a fish, tell us what kernel options you need to use for the assembly to work on ESXi? I tried many times and it hangs on "EFI stub: Exiting boot services and installing virtual address map..."
    An build in which we cannot add kernel modules is not the best option, please help!

Hi,

Sorry completely missed your question somehow.
This is a rough procedure from my notes to build it (I hope it'll help)

git clone https://git.openwrt.org/openwrt/openwrt.git
cd openwrt

optional to see what's available (i used OpenWrt 19.07 branch)

git checkout openwrt-19.07

Fetch and list tags

git fetch --tags
git tag -l

Use OpenWrt 19.07.7 release

git checkout v19.07.7

./scripts/feeds update -a
./scripts/feeds install -a
wget https://downloads.openwrt.org/releases/19.07.7/targets/armvirt/64/config.buildinfo -O .config
make defconfig
make menuconfig


You also you need to make sure you have :

CONFIG_PACKAGE_kmod-usb-net-pl=y

or you won't be able to use the keyboard from ESXI Console

Before you "make" see below for needed config-default required options

make

Check the below items are present in config-default (some items are already present so do a compare, although I suppose repeated options won't do any harm anyway):
openwrt/target/linux/armvirt/64/config-default

CONFIG_ARCH_SUPPORTS_ACPI=y
CONFIG_ACPI=y
CONFIG_EFI_STUB=y
CONFIG_EFI=y
CONFIG_EFI_ARMSTUB=y
CONFIG_EFI_ARMSTUB_DTB_LOADER=y
CONFIG_EFIVAR_FS=m
CONFIG_EFI_PARAMS_FROM_FDT=y
CONFIG_EFI_ESRT=y
CONFIG_EFI_BOOTLOADER_CONTROL=m
CONFIG_EFI_CAPSULE_LOADER=m
CONFIG_EFI_RUNTIME_WRAPPERS=y
CONFIG_EFI_PARTITION=y
CONFIG_FB_EFI=y
CONFIG_BLK_MQ_VIRTIO=y
CONFIG_NET_9P_VIRTIO=y
CONFIG_SCSI_VIRTIO=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_BLK=y
CONFIG_VIRTIO_CONSOLE=y
CONFIG_VIRTIO_MMIO=y
CONFIG_VIRTIO_NET=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VMWARE_BALLOON=y
CONFIG_VMWARE_PVSCSI=y
CONFIG_VMWARE_VMCI=y
CONFIG_VMWARE_VMCI_VSOCKETS=y
CONFIG_VMXNET3=y
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E1000=y
CONFIG_E1000E=y
CONFIG_PARTITIONS=y
CONFIG_BLK=y
CONFIG_EXT4_FS=y
CONFIG_VFAT_FS=y
CONFIG_ATA=y
CONFIG_ATA_GENERIC=y
CONFIG_SATA_AHCI=y
CONFIG_SATA_AHCI=y
CONFIG_FUSION=y
CONFIG_FUSION_SPI=y
CONFIG=DEVTMPFS=y
CONFIG=DEVTMPFS_MOUNT=y
CONFIG_USB=y
CONFIG_USB_COMMON=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_PCI=y
CONFIG_USB_HID=y
CONFIG_USB_HIDDEV=y
CONFIG_USB_OHCI_HCD_PCI=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PCI=y
CONFIG_USB_STORAGE=y
CONFIG_USB_KEYBOARD=y
CONFIG_ATA_PIIX=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_GENERIC=y
CONFIG_BLK_SCSI_REQUEST=y
CONFIG_EXT3_FS=y
CONFIG_EDD=y
CONFIG_JBD=y
CONFIG_SND_SEQUENCER=y
CONFIG_SND_PCM_OSS=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
#CONFIG_BLK_DEV_RAM=y
#CONFIG_BLK_DEV_INITRD=y
CONFIG_MSDOS=y
CONFIG_VFAT_FS=y
CONFIG_BLOCK=y
CONFIG_BLK_SCSI_REQUEST=y
CONFIG_SCSI_MOD=y
CONFIG_RAID_ATTRS=y
CONFIG_BLK_DEV_SD=y
CONFIG_ATA=y
CONFIG_ATA_ACPI=y
CONFIG_SATA_AHCI=y
CONFIG_ATA_SFF=y
CONFIG_PDC_ADMA=y
CONFIG_SATA_QSTOR=y
CONFIG_SATA_SX4=y
CONFIG_ATA_PIIX=y
CONFIG_ATA_GENERIC=y
CONFIG_BCACHE=y
CONFIG_USB_STORAGE=y
CONFIG_USB_KEYBOARD=y
CONFIG_AHCI_PCI=y
CONFIG_SATA_CEVA=y
CONFIG_AHCI_CEVA=y
CONFIG_DWC_AHCI=y
CONFIG_PCI=y
CONFIG_VMWARE_BALLOON=y
CONFIG_VMWARE_PVSCSI=y
CONFIG_VMWARE_VMCI=y
CONFIG_VMWARE_VMCI_VSOCKETS=y
CONFIG_HYPERVISOR_GUEST=y
CONFIG_MEGARAID_SAS=y
CONFIG_OVERLAY_FS=y
CONFIG_SCSI=y
CONFIG_SCSI_NETLINK=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=y
CONFIG_SCSI_SAS_ATTRS=y

The above is same as what was posted on Arm fling installation - #4 by statto99 but a config option was missing and generating the following error:
error: plain image kernel not support - rebuild with CONFIG_(U)EFI_STUB
In short you'll also need to add:

CONFIG_(U)EFI_STUB=y

After my compare I was missing and had to add the following to the bottom of the file /openwrt/target/linux/armvirt/64/config-default, but please do your compare if you are using a different version

##STUFF I ADDED
CONFIG_ARCH_SUPPORTS_ACPI=y
CONFIG_ACPI=y
CONFIG_EFI_STUB=y
CONFIG_EFI=y
CONFIG_EFI_ARMSTUB=y
CONFIG_(U)EFI_STUB=y
CONFIG_EFI_ARMSTUB_DTB_LOADER=y
CONFIG_EFI_VARS=y
CONFIG_EFIVAR_FS=m
CONFIG_EFI_PARAMS_FROM_FDT=y
CONFIG_EFI_ESRT=y
CONFIG_EFI_BOOTLOADER_CONTROL=m
CONFIG_EFI_CAPSULE_LOADER=m
CONFIG_EFI_RUNTIME_WRAPPERS=y
CONFIG_EFI_PARTITION=y
CONFIG_FB_EFI=y
CONFIG_BLK_MQ_VIRTIO=y
CONFIG_NET_9P_VIRTIO=y
CONFIG_SCSI_VIRTIO=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_BLK=y
CONFIG_VIRTIO_CONSOLE=y
CONFIG_VIRTIO_MMIO=y
CONFIG_VIRTIO_NET=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VMWARE_BALLOON=y
CONFIG_VMWARE_PVSCSI=y
CONFIG_VMWARE_VMCI=y
CONFIG_VMWARE_VMCI_VSOCKETS=y
CONFIG_VMXNET3=y
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E1000=y
CONFIG_E1000E=y
CONFIG_PARTITIONS=y
CONFIG_BLK=y
CONFIG_EXT4_FS=y
CONFIG_VFAT_FS=y
CONFIG_ATA=y
CONFIG_ATA_GENERIC=y
CONFIG_SATA_AHCI=y
CONFIG_FUSION=y
CONFIG_FUSION_SPI=y
CONFIG=DEVTMPFS=y
CONFIG=DEVTMPFS_MOUNT=y
CONFIG_USB=y
CONFIG_USB_COMMON=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_PCI=y
CONFIG_USB_HID=y
CONFIG_USB_HIDDEV=y
CONFIG_USB_OHCI_HCD_PCI=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PCI=y
CONFIG_USB_STORAGE=y
CONFIG_USB_KEYBOARD=y
CONFIG_ATA_PIIX=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_GENERIC=y
CONFIG_BLK_SCSI_REQUEST=y
CONFIG_EXT3_FS=y
CONFIG_EDD=y
CONFIG_JBD=y
CONFIG_SND_SEQUENCER=y
CONFIG_SND_PCM_OSS=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
#CONFIG_BLK_DEV_RAM=y
#CONFIG_BLK_DEV_INITRD=y
CONFIG_MSDOS=y
CONFIG_BLOCK=y
CONFIG_SCSI_MOD=y
CONFIG_RAID_ATTRS=y
CONFIG_ATA_ACPI=y
CONFIG_ATA_SFF=y
CONFIG_PDC_ADMA=y
CONFIG_SATA_QSTOR=y
CONFIG_SATA_SX4=y
CONFIG_BCACHE=y
CONFIG_AHCI_PCI=y
CONFIG_SATA_CEVA=y
CONFIG_AHCI_CEVA=y
CONFIG_DWC_AHCI=y
CONFIG_PCI=y
CONFIG_HYPERVISOR_GUEST=y
CONFIG_MEGARAID_SAS=y
CONFIG_OVERLAY_FS=y
CONFIG_SCSI=y
CONFIG_SCSI_NETLINK=y
CONFIG_CHR_DEV_ST=y
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=y
CONFIG_SCSI_SAS_ATTRS=y

Follow steps on other posts to package it up, however I would just edit the previous .vmdk provided in this post rather than recreate it from scratch.

If you run into issue I'll try my best to help.

Some very useful resources that should help:

2 Likes

Thanks! Looks like it's time for me to sit down and do that magic!

built a new one and included procedure in the zip file.

Any new ones I might build I'll post here: