VMware vSphere

 View Only
Expand all | Collapse all

Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

  • 1.  Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Posted Nov 21, 2013 08:53 PM

    I am trying to build a USB stick that will EFI boot and install a variety of Linux's (SLES, RHEL, CentOS) and VMware.  I have been able to create a menu and get all but the VMware piece working.  I have tried a chainload of the BOOTX64.efi that came out of the EFI directory on the VMware ESX5i install media, which seems to correctly invoke the binary, but the arguments get messed up and I get a "file not found".  Does anyone have insights into how tio get this working?

    Thanks,

    JoEC.   



  • 2.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Posted Nov 25, 2013 01:13 PM

    Can you provide more details  ? - I have a USB-ESXi Liveversion that can boot inside a VM with EFI.

    My hunch - your config gives bad paths for kernel and modules ...

    Please post your isolinux.cfg/syslinux.cfg - or whatever you use.
    Also post both boot.cfgs



  • 3.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Posted Nov 26, 2013 12:54 AM

    So here is what I have:

    USB Stick with the following layout:

    .
    `-- EFI
        `-- BOOT
            |-- BOOTX64.conf
            |-- BOOTX64.efi
            |-- img
            |   |-- BOOT-ESXI-5.0.0-914586-CUSTOM.CFG
            |   |-- BOOT-ESXI-5.1.0-1065491-CUSTOM.CFG
            |   |-- initrd-co62.img
            |   |-- initrd-co63.img
            |   |-- initrd-co64.img
            |   |-- initrd-fc17-x86_64.img
            |   |-- initrd-fc19-dt-live-x86_64.img
            |   |-- initrd-gparted.img
            |   |-- initrd-ol58.img
            |   |-- initrd-ol59.img
            |   |-- initrd-ol61.img
            |   |-- initrd-ol63.img
            |   |-- initrd-ol64.img
            |   |-- initrd-rh58.img
            |   |-- initrd-rh59.img
            |   |-- initrd-rh61.img
            |   |-- initrd-rh62.img
            |   |-- initrd-rh63.img
            |   |-- initrd-rh64.img
            |   |-- initrd-rh65.img
            |   |-- initrd-sles10sp3.img
            |   |-- initrd-sles10sp3.img.save
            |   |-- initrd-sles10sp4.img
            |   |-- initrd-sles11sp1.img
            |   |-- initrd-sles11sp2.img
            |   |-- initrd-sles11sp3.img
            |   `-- VMware
            |       |-- ESXI-5.0.0-914586-CUSTOM
            |       |   |-- A.B00
            |       |   |-- ATA-PATA.V00
            |       |   |-- ATA-PATA.V01
            |       |   |-- ATA-PATA.V02
            |       |   |-- ATA-PATA.V03
            |       |   |-- ATA-PATA.V04
            |       |   |-- ATA-PATA.V05
            |       |   |-- ATA-PATA.V06
            |       |   |-- ATA-PATA.V07
            |       |   |-- B.B00
            |       |   |-- BLOCK-CC.V00
            |       |   |-- BOOT.CAT
            |       |   |-- BOOT.CFG
            |       |   |-- EFI
            |       |   |   `-- BOOT
            |       |   |       |-- BOOT.CFG
            |       |   |       |-- BOOTIA32.EFI
            |       |   |       `-- BOOTX64.EFI
            |       |   |-- EFIBOOT.IMG
            |       |   |-- EHCI-EHC.V00
            |       |   |-- IMA-QLA4.V00
            |       |   |-- IMGDB.TGZ
            |       |   |-- IMGPAYLD.TGZ
            |       |   |-- IPMI-IPM.V00
            |       |   |-- IPMI-IPM.V01
            |       |   |-- IPMI-IPM.V02
            |       |   |-- ISOLINUX.BIN
            |       |   |-- ISOLINUX.CFG
            |       |   |-- K.B00
            |       |   |-- MBOOT.C32
            |       |   |-- MENU.C32
            |       |   |-- MISC-CNI.V00
            |       |   |-- MISC-DRI.V00
            |       |   |-- NET-BE2N.V00
            |       |   |-- NET-BNX2.V00
            |       |   |-- NET-BNX2.V01
            |       |   |-- NET-CNIC.V00
            |       |   |-- NET-E100.V00
            |       |   |-- NET-E100.V01
            |       |   |-- NET-ENIC.V00
            |       |   |-- NET-FORC.V00
            |       |   |-- NET-IGB.V00
            |       |   |-- NET-IXGB.V00
            |       |   |-- NET-NX-N.V00
            |       |   |-- NET-QLCN.V00
            |       |   |-- NET-QLGE.V00
            |       |   |-- NET-R816.V00
            |       |   |-- NET-R816.V01
            |       |   |-- NET-S2IO.V00
            |       |   |-- NET-SKY2.V00
            |       |   |-- NET-TG3.V00
            |       |   |-- OHCI-USB.V00
            |       |   |-- SAFEBOOT.C32
            |       |   |-- SATA-AHC.V00
            |       |   |-- SATA-ATA.V00
            |       |   |-- SATA-SAT.V00
            |       |   |-- SATA-SAT.V01
            |       |   |-- SATA-SAT.V02
            |       |   |-- SATA-SAT.V03
            |       |   |-- SCSI-AAC.V00
            |       |   |-- SCSI-ADP.V00
            |       |   |-- SCSI-AIC.V00
            |       |   |-- SCSI-BNX.V00
            |       |   |-- SCSI-BNX.V01
            |       |   |-- SCSI-FNI.V00
            |       |   |-- SCSI-HPS.V00
            |       |   |-- SCSI-IPS.V00
            |       |   |-- SCSI-LPF.V00
            |       |   |-- SCSI-MEG.V00
            |       |   |-- SCSI-MEG.V01
            |       |   |-- SCSI-MEG.V02
            |       |   |-- SCSI-MPT.V00
            |       |   |-- SCSI-MPT.V01
            |       |   |-- SCSI-MPT.V02
            |       |   |-- SCSI-QLA.V00
            |       |   |-- SCSI-QLA.V01
            |       |   |-- SCSI-RST.V00
            |       |   |-- S.V00
            |       |   |-- TBOOT.B00
            |       |   |-- TOOLS.T00
            |       |   |-- UHCI-USB.V00
            |       |   |-- UPGRADE
            |       |   |   |-- ESXIMAGE.ZIP
            |       |   |   |-- EXTLINUX
            |       |   |   |-- ISOINFO
            |       |   |   |-- MBR.BIN
            |       |   |   |-- MCOPY
            |       |   |   |-- METADATA.XML
            |       |   |   |-- METADATA.ZIP
            |       |   |   |-- PRECHECK.PY
            |       |   |   |-- PREP.PY
            |       |   |   `-- PROFILE.XML
            |       |   |-- USEROPTS.GZ
            |       |   |-- VMWARE-ESX-BASE-OSL.TXT
            |       |   |-- VMWARE-ESX-BASE-README
            |       |   `-- WEASELIN.I00
            |       `-- ESXI-5.1.0-1065491-CUSTOM
            |           |-- A.B00
            |           |-- ATA-PATA.V00
            |           |-- ATA-PATA.V01
            |           |-- ATA-PATA.V02
            |           |-- ATA-PATA.V03
            |           |-- ATA-PATA.V04
            |           |-- ATA-PATA.V05
            |           |-- ATA-PATA.V06
            |           |-- ATA-PATA.V07
            |           |-- B.B00
            |           |-- BLOCK-CC.V00
            |           |-- BOOT.CAT
            |           |-- BOOT.CFG
            |           |-- CHARDEVS.B00
            |           |-- EFI
            |           |   `-- BOOT
            |           |       |-- BOOT.CFG
            |           |       |-- BOOTIA32.EFI
            |           |       `-- BOOTX64.EFI
            |           |-- EFIBOOT.IMG
            |           |-- EHCI-EHC.V00
            |           |-- ESX-DVFI.V00
            |           |-- IMA-QLA4.V00
            |           |-- IMGDB.TGZ
            |           |-- IMGPAYLD.TGZ
            |           |-- IPMI-IPM.V00
            |           |-- IPMI-IPM.V01
            |           |-- IPMI-IPM.V02
            |           |-- ISOLINUX.BIN
            |           |-- ISOLINUX.CFG
            |           |-- K.B00
            |           |-- MBOOT.C32
            |           |-- MENU.C32
            |           |-- MISC-CNI.V00
            |           |-- MISC-DRI.V00
            |           |-- NET-BE2N.V00
            |           |-- NET-BNX2.V00
            |           |-- NET-BNX2.V01
            |           |-- NET-CNIC.V00
            |           |-- NET-E100.V00
            |           |-- NET-E100.V01
            |           |-- NET-ENIC.V00
            |           |-- NET-FORC.V00
            |           |-- NET-IGB.V00
            |           |-- NET-IXGB.V00
            |           |-- NET-NX-N.V00
            |           |-- NET-QLCN.V00
            |           |-- NET-QLGE.V00
            |           |-- NET-R816.V00
            |           |-- NET-R816.V01
            |           |-- NET-S2IO.V00
            |           |-- NET-SKY2.V00
            |           |-- NET-TG3.V00
            |           |-- NET-VMXN.V00
            |           |-- OHCI-USB.V00
            |           |-- SAFEBOOT.C32
            |           |-- SATA-AHC.V00
            |           |-- SATA-ATA.V00
            |           |-- SATA-SAT.V00
            |           |-- SATA-SAT.V01
            |           |-- SATA-SAT.V02
            |           |-- SATA-SAT.V03
            |           |-- SATA-SAT.V04
            |           |-- SCSI-AAC.V00
            |           |-- SCSI-ADP.V00
            |           |-- SCSI-AIC.V00
            |           |-- SCSI-BNX.V00
            |           |-- SCSI-BNX.V01
            |           |-- SCSI-FNI.V00
            |           |-- SCSI-HPS.V00
            |           |-- SCSI-IPS.V00
            |           |-- SCSI-LPF.V00
            |           |-- SCSI-MEG.V00
            |           |-- SCSI-MEG.V01
            |           |-- SCSI-MEG.V02
            |           |-- SCSI-MPT.V00
            |           |-- SCSI-MPT.V01
            |           |-- SCSI-MPT.V02
            |           |-- SCSI-QLA.V00
            |           |-- SCSI-QLA.V01
            |           |-- SCSI-RST.V00
            |           |-- S.V00
            |           |-- TBOOT.B00
            |           |-- TOOLS.T00
            |           |-- UHCI-USB.V00
            |           |-- UPGRADE
            |           |   |-- ESXIMAGE.ZIP
            |           |   |-- EXTLINUX
            |           |   |-- ISOINFO
            |           |   |-- MBR.BIN
            |           |   |-- MCOPY
            |           |   |-- METADATA.XML
            |           |   |-- METADATA.ZIP
            |           |   |-- PRECHECK.PY
            |           |   |-- PREP.PY
            |           |   `-- PROFILE.XML
            |           |-- USER.B00
            |           |-- USEROPTS.GZ
            |           |-- VMWARE-ESX-BASE-OSL.TXT
            |           |-- VMWARE-ESX-BASE-README
            |           |-- WEASELIN.T00
            |           |-- XLIBS.V00
            |           `-- XORG.V00
            |-- knl
            |   |-- linux-sles10sp3
            |   |-- linux-sles10sp4
            |   |-- linux-sles11sp1
            |   |-- linux-sles11sp2
            |   |-- linux-sles11sp3
            |   |-- vmlinux-11.2.3.3.0-130612-DL180
            |   |-- vmlinux-11.2.3.3.0-130707-DL180
            |   |-- vmlinuz-co62
            |   |-- vmlinuz-co63
            |   |-- vmlinuz-co64
            |   |-- vmlinuz-fc17-x86_64
            |   |-- vmlinuz-fc19-dt-live-x86_64
            |   |-- vmlinuz-gparted
            |   |-- vmlinuz-ol58
            |   |-- vmlinuz-ol59
            |   |-- vmlinuz-ol61
            |   |-- vmlinuz-ol63
            |   |-- vmlinuz-ol64
            |   |-- vmlinuz-rh58
            |   |-- vmlinuz-rh59
            |   |-- vmlinuz-rh61
            |   |-- vmlinuz-rh62
            |   |-- vmlinuz-rh63
            |   |-- vmlinuz-rh64
            |   `-- vmlinuz-rh65
            `-- splash.xpm.gz

    13 directories, 247 files

    The BOOTX64.conf file contains the following:

    default=0
    splashimage=/EFI/BOOT/splash.xpm.gz

    title CentOS 6_2 HTTP
        # syslinux label CentOS 6_2 HTTP
        kernel /EFI/BOOT/knl/vmlinuz-co62 keymap=us lang=en_US ip=dhcp repo=http://MyPXE/Cent/CentOS62 ksdevice=link ks=http://MyPXE/ks/co62-http-sm.cfg blacklist=cdc_ether DoUEFI
        initrd /EFI/BOOT/img/initrd-co62.img

    title CentOS 6_3 HTTP
        # syslinux label CentOS 6_3 HTTP
        kernel /EFI/BOOT/knl/vmlinuz-co63 keymap=us lang=en_US ip=dhcp repo=http://MyPXE/Cent/CentOS63 ksdevice=link ks=http://MyPXE/ks/co63-http-sm.cfg blacklist=cdc_ether DoUEFI
        initrd /EFI/BOOT/img/initrd-co63.img

    title CentOS 6_4 HTTP
        # syslinux label CentOS 6_4 HTTP
        kernel /EFI/BOOT/knl/vmlinuz-co64 keymap=us lang=en_US ip=dhcp repo=http://MyPXE/Cent/CentOS64 ksdevice=link ks=http://MyPXE/ks/co64-http-sm.cfg blacklist=cdc_ether DoUEFI
        initrd /EFI/BOOT/img/initrd-co64.img

    title CentOS 6-2 64bit install
        # syslinux label CentOS6.2
        kernel /EFI/BOOT/knl/vmlinuz-co62 ks ramdisk_size=100000 ks=nfs:ASD-PXE-SERVER:/Linux/ks/Cent62ks.cfg ksdevice=link blacklist=cdc_ether DoUEFI
        initrd /EFI/BOOT/img/initrd-co62.img

    title Centos 6-3 64bit FB Image install
        # syslinux label Centos6.3 EFI FB IMG
        kernel /EFI/BOOT/knl/vmlinuz-co63 ks ramdisk_size=100000 ks=nfs:ASD-PXE-SERVER:/Linux/ks/Cent63ks.cfg ksdevice=link blacklist=cdc_ether DoUEFI
        initrd /EFI/BOOT/img/initrd-co63.img

    title Exadata 11.2.3.3.0-130707 Image Install
        # syslinux label Exadata 11.2.3.3.0-130707
        kernel /EFI/BOOT/knl/vmlinux-11.2.3.3.0-130707-DL180 pxe stit updfrm dhcp ramdisk_size=100000 sk=ASD-PXE-SERVER:/Linux/Exadata/nfsimg-11.2.3.3.0-130707-DL180 DoUEFI
        initrd /EFI/BOOT/img/initrd-11.2.3.3.0-130707-DL180.img

    title FC17 HTTP
        # syslinux label FC17 HTTP
        kernel /EFI/BOOT/knl/vmlinuz-fc17-x86_64 repo=http://MyPXE/fc17 keymap=us lang=en_US ip=em1:dhcp DoUEFI
        initrd /EFI/BOOT/img/initrd-fc17-x86_64.img

    title OEL 5_8 X64 HTTP
        # syslinux label OEL 5_8 X64 HTTP
        kernel /EFI/BOOT/knl/vmlinuz-ol58 keymap=us lang=en_US ip=dhcp method=http://MyPXE/OEL/OEL58 ksdevice=eth0 ks=http://MyPXE/ks/ol58-http-sm.cfg DoUEFI
        initrd /EFI/BOOT/img/initrd-ol58.img

    title OEL 5_8 X64 Xen HTTP
        # syslinux label OEL 5_8 X64 Xen HTTP
        kernel /EFI/BOOT/knl/vmlinuz-ol58 keymap=us lang=en_US ip=dhcp method=http://MyPXE/OEL/OEL58 ksdevice=eth0 ks=http://MyPXE/ks/ol58-xen-http-sm.cfg DoUEFI
        initrd /EFI/BOOT/img/initrd-ol58.img

    title OEL 5_9 X64 HTTP
        # syslinux label OEL 5_9 X64 HTTP
        kernel /EFI/BOOT/knl/vmlinuz-ol59 keymap=us lang=en_US ip=dhcp method=http://MyPXE/OEL/OEL59 ksdevice=eth0 ks=http://MyPXE/ks/ol59-http-sm.cfg DoUEFI
        initrd /EFI/BOOT/img/initrd-ol59.img

    title OEL 5_9 Xen X64 HTTP
        # syslinux label OEL 5_9 X64 Xen HTTP
        kernel /EFI/BOOT/knl/vmlinuz-ol59 keymap=us lang=en_US ip=dhcp method=http://MyPXE/OEL/OEL59 ksdevice=eth0 ks=http://MyPXE/ks/ol59-xen-http-sm.cfg DoUEFI
        initrd /EFI/BOOT/img/initrd-ol59.img

    title OEL 6_1 X64 HTTP
        # syslinux label OEL 6_1 X64 HTTP
        kernel /EFI/BOOT/knl/vmlinuz-ol61 keymap=us lang=en_US ip=dhcp repo=http://MyPXE/OEL/OEL61 ksdevice=link ks=http://MyPXE/ks/ol61-http-sm.cfg blacklist=cdc_ether DoUEFI
        initrd /EFI/BOOT/img/initrd-ol61.img

    title OEL 6_3 X64 HTTP
        # syslinux label OEL 6_3 X64 HTTP
        kernel /EFI/BOOT/knl/vmlinuz-ol63 keymap=us lang=en_US ip=dhcp repo=http://MyPXE/OEL/OEL63 ksdevice=link ks=http://MyPXE/ks/ol63-http-sm.cfg blacklist=cdc_ether DoUEFI
        initrd /EFI/BOOT/img/initrd-ol63.img

    title OEL 6_4 X64 HTTP
        # syslinux label OEL 6_4 X64 HTTP
        kernel /EFI/BOOT/knl/vmlinuz-ol64 keymap=us lang=en_US ip=dhcp repo=http://MyPXE/OEL/OEL64 ksdevice=link ks=http://MyPXE/ks/ol64-http-sm.cfg blacklist=cdc_ether DoUEFI
        initrd /EFI/BOOT/img/initrd-ol64.img

    title Red Hat 5_8 HTTP
        # syslinux label Red Hat 5_8 HTTP
        kernel /EFI/BOOT/knl/vmlinuz-rh58 keymap=us lang=en_US ip=dhcp method=http://MyPXE/RHEL/RHEL58 ksdevice=eth0 ks=http://MyPXE/ks/rh58-http-sm.cfg DoUEFI
        initrd /EFI/BOOT/img/initrd-rh58.img

    title Red Hat 5_8 Xen HTTP
        # syslinux label Red Hat 5_8 Xen HTTP
        kernel /EFI/BOOT/knl/vmlinuz-rh58 keymap=us lang=en_US ip=dhcp method=http://MyPXE/RHEL/RHEL58 ksdevice=eth0 ks=http://MyPXE/ks/rh58-xen-http-sm.cfg DoUEFI
        initrd /EFI/BOOT/img/initrd-rh58.img

    title Red Hat 5_9 HTTP
        # syslinux label Red Hat 5_9 HTTP
        kernel /EFI/BOOT/knl/vmlinuz-rh59 keymap=us lang=en_US ip=dhcp method=http://MyPXE/RHEL/RHEL59 ksdevice=eth0 ks=http://MyPXE/ks/rh59-http-sm.cfg DoUEFI
        initrd /EFI/BOOT/img/initrd-rh59.img

    title Red Hat 5_9 HTTP XP
        # syslinux label Red Hat 5_9 HTTP XP
        kernel /EFI/BOOT/knl/vmlinuz-rh59 keymap=us lang=en_US ip=dhcp method=http://MyPXE/RHEL/RHEL59 ksdevice=eth0 ks=http://MyPXE/ks/rh59-http-sm-xp.cfg DoUEFI
        initrd /EFI/BOOT/img/initrd-rh59.img

    title Red Hat 5_9 Xen HTTP
        # syslinux label Red Hat 5_9 Xen HTTP
        kernel /EFI/BOOT/knl/vmlinuz-rh59 keymap=us lang=en_US ip=dhcp method=http://MyPXE/RHEL/RHEL59 ksdevice=eth0 ks=http://MyPXE/ks/rh59-xen-http-sm.cfg DoUEFI
        initrd /EFI/BOOT/img/initrd-rh59.img

    title Red Hat 6_1 HTTP
        # syslinux label Red Hat 6_1 HTTP
        kernel /EFI/BOOT/knl/vmlinuz-rh61 keymap=us lang=en_US ip=dhcp method=http://MyPXE/RHEL/RHEL61 ksdevice=link ks=http://MyPXE/ks/rh61-http-sm.cfg blacklist=cdc_ether DoUEFI
        initrd /EFI/BOOT/img/initrd-rh61.img

    title Red Hat 6_2 HTTP
        # syslinux label Red Hat 6_2 HTTP
        kernel /EFI/BOOT/knl/vmlinuz-rh62 keymap=us lang=en_US ip=dhcp method=http://MyPXE/RHEL/RHEL62 ksdevice=link ks=http://MyPXE/ks/rh62-http-sm.cfg blacklist=cdc_ether DoUEFI
        initrd /EFI/BOOT/img/initrd-rh62.img

    title Red Hat 6_2 HTTP InterAct
        # syslinux label Red Hat 6_2 HTTP InterAct
        kernel /EFI/BOOT/knl/vmlinuz-rh62 keymap=us lang=en_US ip=dhcp method=http://MyPXE/RHEL/RHEL62 ksdevice=link ks=http://MyPXE/ks/rh62-http-sm.cfg blacklist=cdc_ether InterAct DoUEFI
        initrd /EFI/BOOT/img/initrd-rh62.img

    title Red Hat 6_3 HTTP
        # syslinux label Red Hat 6_3 HTTP
        kernel /EFI/BOOT/knl/vmlinuz-rh63 keymap=us lang=en_US ip=dhcp method=http://MyPXE/RHEL/RHEL63 ksdevice=link ks=http://MyPXE/ks/rh63-http-sm.cfg blacklist=cdc_ether DoUEFI
        initrd /EFI/BOOT/img/initrd-rh63.img

    title Red Hat 6_4 HTTP
        # syslinux label Red Hat 6_4 HTTP
        kernel /EFI/BOOT/knl/vmlinuz-rh64 keymap=us lang=en_US ip=dhcp method=http://MyPXE/RHEL/RHEL64 ksdevice=link ks=http://MyPXE/ks/rh64-http-sm.cfg blacklist=cdc_ether DoUEFI
        initrd /EFI/BOOT/img/initrd-rh64.img

    title Red Hat 6_5 HTTP
        # syslinux label Red Hat 6_5 HTTP
        kernel /EFI/BOOT/knl/vmlinuz-rh65 keymap=us lang=en_US ip=dhcp repo=http://MyPXE/RHEL/RHEL65 ksdevice=link ks=http://MyPXE/ks/rh65-http-sm.cfg blacklist=cdc_ether DoUEFI
        initrd /EFI/BOOT/img/initrd-rh65.img

    title Red Hat 6_5 HTTP XP
        # syslinux label Red Hat 6_5 HTTP XP
        kernel /EFI/BOOT/knl/vmlinuz-rh65 keymap=us lang=en_US ip=dhcp repo=http://MyPXE/RHEL/RHEL65 ksdevice=link ks=http://MyPXE/ks/rh65-http-sm-xp.cfg blacklist=cdc_ether DoUEFI
        initrd /EFI/BOOT/img/initrd-rh65.img

    title Red Hat 6_1
        # syslinux label Red Hat 6_1
        kernel /EFI/BOOT/knl/vmlinuz-rh61 ramdisk_size=5939 ks=nfs:ASD-PXE-SERVER:/Linux/ks/rhel61x86x64ks.cfg ksdevice=link blacklist=cdc_ether DoUEFI
        initrd /EFI/BOOT/img/initrd-rh61.img

    title Red Hat 6_3
        # syslinux label Red Hat 6_3
        kernel /EFI/BOOT/knl/vmlinuz-rh63 ramdisk_size=5939 ks=nfs:ASD-PXE-SERVER:/Linux/ks/rhel63x86x64ks.cfg ksdevice=link blacklist=cdc_ether DoUEFI
        initrd /EFI/BOOT/img/initrd-rh63.img

    title SLES10SP3 HTTP
        # syslinux label SLES10SP3 HTTP
        kernel /EFI/BOOT/knl/linux-sles10sp3 keymap=us lang=en_US install=http://MyPXE/SLES/SLES10SP3 DoUEFI
        initrd /EFI/BOOT/img/initrd-sles10sp3.img

    title SLES10SP3 HTTP X
        # syslinux label SLES10SP3 HTTP X
        kernel /EFI/BOOT/knl/linux-sles10sp3 keymap=us lang=en_US install=http://MyPXE/SLES/SLES10SP3 autoyast=http://MyPXE/ks/sles10sp3_autoinst.xml dud=http://MyPXE/SLES/SLES10SP3DD/novell-virtio-drivers-2.6.27-sle10sp3.iso DoUEFI
        initrd /EFI/BOOT/img/initrd-sles10sp3.img.save

    title SLES10SP4 HTTP
        # syslinux label SLES10SP4 HTTP
        kernel /EFI/BOOT/knl/linux-sles10sp4 keymap=us lang=en_US install=http://MyPXE/SLES/SLES10SP4 DoUEFI
        initrd /EFI/BOOT/img/initrd-sles10sp4.img

    title SLES10SP4 HTTP X
        # syslinux label SLES10SP4 HTTP X
        kernel /EFI/BOOT/knl/linux-sles10sp4 keymap=us lang=en_US install=http://MyPXE/SLES/SLES10SP4 autoyast=http://MyPXE/ks/sles10sp4_autoinst.xml DoUEFI
        initrd /EFI/BOOT/img/initrd-sles10sp4.img

    title SLES11SP1 HTTP
        # syslinux label SLES11SP1 HTTP
        kernel /EFI/BOOT/knl/linux-sles11sp1 keymap=us lang=en_US install=http://MyPXE/SLES/SLES11SP1 DoUEFI
        initrd /EFI/BOOT/img/initrd-sles11sp1.img

    title SLES11SP1 HTTP X
        # syslinux label SLES11SP1 HTTP X
        kernel /EFI/BOOT/knl/linux-sles11sp1 keymap=us lang=en_US install=http://MyPXE/SLES/SLES11SP1 autoyast=http://MyPXE/ks/sles11sp1_autoinst.xml DoUEFI
        initrd /EFI/BOOT/img/initrd-sles11sp1.img

    title SLES11SP2 HTTP
        # syslinux label SLES11SP2 HTTP
        kernel /EFI/BOOT/knl/linux-sles11sp2 keymap=us lang=en_US install=http://MyPXE/SLES/SLES11SP2 DoUEFI
        initrd /EFI/BOOT/img/initrd-sles11sp2.img

    title SLES11SP2 HTTP X
        # syslinux label SLES11SP2 HTTP X
        kernel /EFI/BOOT/knl/linux-sles11sp2 keymap=us lang=en_US install=http://MyPXE/SLES/SLES11SP2 autoyast=http://MyPXE/ks/sles11sp2_autoinst.xml DoUEFI
        initrd /EFI/BOOT/img/initrd-sles11sp2.img

    title SLES11SP3 HTTP
        # syslinux label SLES11SP3 HTTP
        kernel /EFI/BOOT/knl/linux-sles11sp3 keymap=us lang=en_US install=http://MyPXE/SLES/SLES11SP3 DoUEFI
        initrd /EFI/BOOT/img/initrd-sles11sp3.img

    title SLES11SP3 HTTP X
        # syslinux label SLES11SP3 HTTP X
        kernel /EFI/BOOT/knl/linux-sles11sp3 keymap=us lang=en_US install=http://MyPXE/SLES/SLES11SP3 autoyast=http://MyPXE/ks/sles11sp3_autoinst.xml DoUEFI
        initrd /EFI/BOOT/img/initrd-sles11sp3.img

    title FC19 Desktop Live (x86_64)
        # syslinux label fc19-dt-live-x86_64
        kernel /EFI/BOOT/knl/vmlinuz-fc19-dt-live-x86_64 rootflags=loop root=live:/Fedora-Live-Desktop-x86_64-19-1.iso rootfstype=auto ro rd.live.image mem=8192M rhgb rd.luks=0 rd.md=0 rd.dm=0 ip=em1:dhcp DoUEFI
        initrd /EFI/BOOT/img/initrd-fc19-dt-live-x86_64.img

    title Gparted
        # syslinux label Gparted
        kernel /EFI/BOOT/knl/vmlinuz-gparted boot=live config union=aufs noswap noprompt vga=788 fetch=http://MyPXE/Gparted/live/filesystem.squashfs  DoUEFI
        initrd /EFI/BOOT/img/initrd-gparted.img

    title VMware ESXI-5.0.0-914586-CUSTOM (5.0U2)
        # syslinux label VMware ESXI-5.0.0-914586-CUSTOM (5.0U2)
        chainloader /EFI/BOOT/img/VMware/ESXI-5.0.0-914586-CUSTOM/EFI/BOOT/BOOTX64.EFI -c /EFI/BOOT/img/BOOT-ESXI-5.0.0-914586-CUSTOM.cfg

    title VMware ESXI-5.1.0-1065491-CUSTOM (5.1U1)
        # syslinux label VMware ESXI-5.1.0-1065491-CUSTOM (5.1U1)
        kernel /EFI/BOOT/img/VMware/ESXI-5.1.0-1065491-CUSTOM/EFI/BOOT/BOOTX64.EFI -c /EFI/BOOT/img/BOOT-ESXI-5.1.0-1065491-CUSTOM.cfg

    The file /EFI/BOOT/img/BOOT-ESXI-5.0.0-914586-CUSTOM.cfg contains:

    bootstate=0

    title=Loading ESXi installer

    prefix=/EFI/BOOT/img/VMware/ESXI-5.0.0-914586-CUSTOM/

    kernel=tboot.b00

    kernelopt=runweasel

    modules=b.b00 --- useropts.gz --- k.b00 --- a.b00 --- misc-cni.v00 --- net-bnx2.v00 --- net-bnx2.v01 --- net-cnic.v00 --- scsi-bnx.v00 --- scsi-bnx.v01 --- net-enic.v00 --- scsi-fni.v00 --- net-be2n.v00 --- scsi-lpf.v00 --- net-igb.v00 --- net-ixgb.v00 --- net-qlcn.v00 --- scsi-qla.v00 --- ata-pata.v00 --- ata-pata.v01 --- ata-pata.v02 --- ata-pata.v03 --- ata-pata.v04 --- ata-pata.v05 --- ata-pata.v06 --- ata-pata.v07 --- block-cc.v00 --- ehci-ehc.v00 --- s.v00 --- weaselin.i00 --- ima-qla4.v00 --- ipmi-ipm.v00 --- ipmi-ipm.v01 --- ipmi-ipm.v02 --- misc-dri.v00 --- net-e100.v00 --- net-e100.v01 --- net-forc.v00 --- net-nx-n.v00 --- net-qlge.v00 --- net-r816.v00 --- net-r816.v01 --- net-s2io.v00 --- net-sky2.v00 --- net-tg3.v00 --- ohci-usb.v00 --- sata-ahc.v00 --- sata-ata.v00 --- sata-sat.v00 --- sata-sat.v01 --- sata-sat.v02 --- sata-sat.v03 --- scsi-aac.v00 --- scsi-adp.v00 --- scsi-aic.v00 --- scsi-hps.v00 --- scsi-ips.v00 --- scsi-meg.v00 --- scsi-meg.v01 --- scsi-meg.v02 --- scsi-mpt.v00 --- scsi-mpt.v01 --- scsi-mpt.v02 --- scsi-qla.v01 --- scsi-rst.v00 --- uhci-usb.v00 --- tools.t00 --- imgdb.tgz --- imgpayld.tgz

    build=

    updated=0

    If I use the 5.1 line, I get invalid binary format, kinda expected that one

    If I use the 5.0 line with the chainloader, I get the result you see below:

    From what I can tell, the file BOOTX64.EFI in /EFI/BOOT on the VMware ESXi 5 ISO is an EFI version of the MBOOT used for a standard BIOS boot.   The BOOT.CFG file in /EFI/BOOT and at / are identical also.  From the error above, it looks like the config file passed with the -c is having its path mangled and this results in the failure.  I believe that otherwise, it would work.

    Any ideas would be appreciated.

    Thanks,

    JoEC.



  • 4.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Posted Nov 26, 2013 07:25 PM

    Where do you get  the file

    .

    `-- EFI

        `-- BOOT

            |-- BOOTX64.conf

            |-- BOOTX64.efi

    BOOTX64.efi from ?

    I use kernel mboot.c32  or safeboot.c32 - depends on the version
    For some ESXi versions I had to use the versions of the mentioned files from the 4 MB boot partition - those from CD did not work for me



  • 5.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Posted Nov 26, 2013 09:36 PM

    The BOOTX64.efi is from a RHEL64 ISO, which as far as I can tell, is a renamed grub.efi.  It works for all the other distros in the BOOTX64.conf file, except VMware.  I have an EFI USB stick I built with a single version of ESXi on it, and that works w/o a hitch.

    The reason I am trying to get a single stick that installs all the distros + VMware is for our test team to be able to install whichever distro or VMware they need for their testing.

    I was/am under the impression that the mboot.c32 is used only in a BIOS mode boot not EFI, but I can give that a shot and see what happens.

    JoEC.



  • 6.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Posted Nov 27, 2013 02:16 PM

    You are right - mboot.c32 is not used but it looks like we can use /efi/vmware/mboot64.efi

    But it is really strange - when ever I boot from anything else but /efi/boot/bootx64.efi the path to the boot.cfg gets changed.

    I can toggle between 3 different types of errors: the same one that you got, with a different config it claims that "this is not a vmware bootbank or it starts loading ESXi but then fails with an early PSOD.

    Interesting stuff - trying to get this working from CD now ...



  • 7.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Posted Nov 27, 2013 04:47 PM

    I believe mboot64.efi is renamed to BOOTX64.efi in /EFI/BOOT directory on the ESXi media.  It looks like this program is mucking up the arguments it is passed.

    Do you know how we can get VMware development to confirm, deny, or FIX this?  I know this is a corner case, but it does introduce arbitrary limitations...

    JoEC.



  • 8.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Posted Dec 09, 2013 12:59 PM

    Hi Joe
    last week I had no time to make more tests - did you make any progress ?

    Ulli



  • 9.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Posted Dec 16, 2013 11:39 PM

    I tried the mboot.32 from an EFI boot and still no go.



  • 10.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Posted Jul 24, 2015 11:59 AM

    Hi there,

    any news on that?

    I managed to start the ESXi installer using gummiboot/systemd-boot (UEFI) from an USB stick.

    Currently I'm struggling on creating a bootable CD/ISO.

    Problem with Gummiboot:

    You have to put the BOOTX64.efi (Gummiboot) and the esxi.efi to a FAT container.

    This works fine, but the esxi loader is not able to load the other files (tboot.b00 etc.) because its looking for these files inside the FAT container instead of searching them on the CD.

    I also tried GRUB, but I'm having the same problem mentioned in this thread.



  • 11.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Posted Jul 27, 2015 01:04 PM

    Hi Philipp
    this thread has been quiet for a long while.
    Can you please tell us what you are trying to do ?
    Maybe there already is a solution ...

    Ulli



  • 12.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Posted Jul 27, 2015 08:22 PM

    Hi Ulli,

    I'm trying to integrate some kickstart files into the .iso image to automate the installation of our servers.

    This worked fine until we started using the new IBM/Lenovo M5 series which caused me big headache, because previously I didn't took care of EFI booting. (which of course is default with the M5 series)

    So I'm currently trying to find a EFI capable bootloader which is able to boot the ESXi installer and to provide a boot menu.

    I've found gummiboot to boot from USB stick.

    But I also want the same ISO image to be bootable from USB and CD. And also it would be quite nicer to have one bootloader for both instead of having one for USB and one for CD boot.


    I hope you can help me out..

    Regards

    Philipp



  • 13.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Posted Jul 27, 2015 11:34 PM

    So all you basically need is a mkisofs binary with an appropriate command line.
    Download ESXi-customizer - it is a free download made by an active member of this forum.It has a binary that can create EFI-bootable images and you can read the command that is used to invoke the binary in plain text.
    The resulting iso will boot from MBR and EFI.
    Once you have the iso you can transfer it to a USB-stick with Rufus or Unetbootin

    If you run into problems let me know - I guess I have seen most of the things that can go wrong already myself :smileycry:

    ESXI-customizer: VMware Front Experience: ESXi-Customizer



  • 14.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Posted Jul 28, 2015 11:21 AM

    I'm already able to create a EFI bootable ISO with my kickstart files inside.

    But what I want to have is a bootmenu to choose the kickstart file to use for installation.

    And thats the big problem.

    I tried gummiboot which works fine, but only for USB drives.

    And I tried grub2 which shows a menu, but is not able to start the ESXi BOOTX64.efi file correctly.



  • 15.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Broadcom Employee
    Posted Jan 12, 2016 02:43 AM

    We have gotten a couple of queries about this, so I spent some time looking into it. The problem stems from a GRUB bug.

    According to the UEFI specification, file path strings in device paths are supposed to be null-terminated (even though they also have a length field), but GRUB does not terminate them; it fills them with non-null characters right up to the end as given by the length field. Our bootloader has code that relies on the null termination to be there. When it's missing, the bootloader constructs an incorrect pathname for itself and chokes when trying to find the boot.cfg file in the same directory as itself.

    I am looking at adding a workaround in a future release, but there may also be other problems chainloading our bootloader from GRUB.

    For the USB stick you're trying to create, you might try using rEFInd to make the menus instead of GRUB.  (See The rEFInd Boot Manager.) I've had good results with that. Alternatively, iPXE can be used to create menus and chainload too.



  • 16.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Posted Jun 07, 2016 06:26 PM

    What happened to adding a work around to a future release?

    While I understand that this probably isn't as high as fixing runtime issues in priority but for some of us, this is still important in allowing us to run a scripted install that is consistently the same across hundreds of systems which is made more difficult with this flawed implementation that was released...



  • 17.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Broadcom Employee
    Posted Jun 07, 2016 09:10 PM

    Again, the reason that chainloading from EFI GRUB to VMware's bootloader does not work is because of bug(s) in GRUB. It's not because of a "flawed implementation" by VMware.

    I did look into this further after my last post. I put a workaround into the VMware bootloader (mboot64.efi) that compensates for the GRUB bug in device path formation. With the workaround, it is possible to chain from GRUB to mboot and boot from local media. The workaround will be included in the upcoming major ESXi release that is in beta now. mboot64 is backward compatible, so it will also be possible to boot older versions of ESXi using the new mboot version.

    Unfortunately, though, even with the workaround, chaining from GRUB to mboot64.efi still fails to network boot ESXi successfully. It appears that when chainloading, GRUB calls Stop on the EFI firmware's PXE base code protocol before handing off, so the protocol cannot be used to load the rest of ESXi over the network. I tested this only with GRUB2, so it's possible that it would work with GRUB Legacy, but I doubt it. I tried adding a workaround in mboot that calls Start again on the PXE base code protocol, but that doesn't work -- UEFI firmware apparently can't restart the protocol once it has been stopped.

    If you only need to boot ESXi off of local media after chaining from GRUB to mboot, that will work with the new mboot version.



  • 18.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Posted Jun 08, 2016 03:36 PM

    Hi Tim
    > mboot64 is backward compatible, so it will also be possible to boot older versions of ESXi using the new mboot version.
    Thats very good news.
    You seem to have the missing piece that I needed for a nice but not important project of mine.
    Do you think that using the new mboot64 will allow to create a bootmenu for a LiveDVD that has the following boot options:

    - boot ESXi 3.5 LiveCD

    - boot ESXi 4.0 LiveCD

    - boot ESXi 4.1 LiveCD

    - boot ESXi 5.0 LiveCD

    - boot ESXi 5.1 LiveCD

    - boot ESXi 5.5 LiveCD

    - boot ESXi 6.0 LiveCD
    - boot Ubuntu 64 LiveCD
    - boot CentOS 64 LiveCD
    I had to give up as I had problems with incomptible mboot versions.
    If you ever feel bored  - the most part of the work is already done - a few hours together and we could create a very cool tool for ESXi-administrators :smileyhappy:


    Regards Ulli



  • 19.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Broadcom Employee
    Posted Jun 16, 2016 06:08 PM

    ESXi's mboot.c32 and mboot64.efi have similar names to a multiboot plugin that comes with syslinux/pxelinux, but they aren't meant to be general-purpose multiboot standard bootloaders that could boot a Linux kernel.  ESXi started off using the multiboot standard, but we've been slowly making additions (which should be compatible, but aren't tested with anything other than ESXi). So although the newest ESXi mboot should be able to boot old ESXi versions going back quite far (possibly all the way to 3.5, though I haven't personally tested back that far), I would be more surprised if it does boot Linux than if it doesn't.



  • 20.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Posted Jul 22, 2016 06:28 PM

    Just like many others in the thread I am switching to UEFI based system ESXi install. The UEFI/mboot.efi worked fine for me.

    I do have a request for feature though. Currently the default is that it starts installing after 5 seconds of countdown. I was wondering if a menu item can be added where the default is local-disk boot instead - just like all other boot loaders have out there.

    The way it is right now with mboot.efi/boot.cfg is that there is no protection against someone accidentally hitting F12...  and will result in system getting re-installed.

    Thanks!

    -Tushar



  • 21.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Posted Jun 09, 2016 03:22 PM

    Tim,

    Unfortunately, PXE/Network install is certainly our preferred method given our current provisioning system.  We have over a thousand hypers spread across 10 physical datacenters, relying on physical media would not be feasible while utilizing alternate methods would require retooling of our provisioning systems...

    I can certainly see your point of view regarding it being a "flawed implementation" but perhaps it should be termed a "non-functional implementation", vmware has their published doc regarding PXE implementation for vSphere 6.0 which includes a section for UEFI where I'm not seeing anything stating it doesn't work(I certainly could be missing it but if I am if should be more obvious)...

    http://www.vmware.com/files/pdf/vcenter/vsphere-esxi-vcenter-server-60-pxe-boot-esxi.pdf

    Perhaps this doc should be edited indicating that that install method doesn't work or perhaps pulling out the UEFI sections altogether...

    Otherwise VMware should engineer a functional solution...



  • 22.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Broadcom Employee
    Posted Jun 09, 2016 06:13 PM

    As far as I'm aware, PXE-booting VMware's mboot.efi directly should work just fine, as documented in the PDF you reference.  Could you explain why that is not an adequate solution for your environment?

    If you choose to use a 3rd-party bootloader such as GRUB, and you encounter difficulties due to a defect in that 3rd-party bootloader, it would not seem to be reasonable cause for us to no longer document the supported configuration of EFI PXE-booting with VMware's own mboot.efi.

    Feel free to provide further explanation if I am missing your point.

    Cheers,

    --

    Darius



  • 23.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Broadcom Employee
    Posted Jun 16, 2016 06:00 PM

    I personally wrote the document that you linked above and personally developed and tested every scenario. We network boot in UEFI mode daily within VMware.

    The one thing that does not work is chaining to our bootloader from GRUB, due to an issue with GRUB as previously discussed.  Note that the document above does not describe any scenarios that involve chaining from GRUB, only booting mboot64 directly or chaining from ipxe to mboot64.

    It would be good for us to document the incompatibility with chaining from GRUB. I wasn't aware of it the time I was working on the document. Perhaps a KB article and/or a note in the next rev of the document.



  • 24.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Posted Oct 11, 2019 07:29 PM

    Any word on this? Did this make it into 6.7?



  • 25.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Broadcom Employee
    Posted Oct 11, 2019 07:55 PM

    The workaround for the GRUB bug where it does not null-terminate device paths is in the 6.7 ESXi bootloader, so I think chaining from GRUB to our bootloader will work for disk and ISO image boots now.

    However, as explained earlier in this thread, the reason that chaining from GRUB into VMware's bootloader during PXE boot does not work is a limitation in GRUB. GRUB calls Stop on the UEFI PXE prototol before handing off to our bootloader, so our bootloader cannot load any more files over the network. It's not possible to restart the protocol (I tried). I don't know of a way to work around this on our side. You could perhaps try modifying GRUB to not do that.

    More simply, I suggest using something other than GRUB to create menus, also as discussed earlier in this thread.



  • 26.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Posted Oct 14, 2019 06:31 PM

    I am actually inserting kickstart files within the iso image,. I've had this working with legacy mode for quite a while, with multiple entries in isolinux.cfg, but have been struggling to get this to work with UEFI.

    Can you point me to an example of what the efi/boot/boot.cfg would look like? Would I be putting the  menu items into bootx64.conf, or maybe grub.conf? If so, can you tell me what they would look like? Any help you can provide would be greatly appreciated.



  • 27.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Broadcom Employee
    Posted Oct 14, 2019 07:32 PM

    > I am actually inserting kickstart files within the iso image,. I've had this working with legacy mode for quite a while, with multiple entries in isolinux.cfg, but have been struggling to get this to work with UEFI.

    >

    > Can you point me to an example of what the efi/boot/boot.cfg would look like? Would I be putting the  menu items into bootx64.conf, or maybe grub.conf? If so, can you tell me what they would look like? Any help you can provide would be greatly appreciated.

    Hmm, I think you're saying you want to have multiple different kickstart files on an ISO image that you can select from using a menu. I see where the missing piece is here. An ESXi ISO image uses isolinux as the first stage for booting in legacy BIOS mode, and that has a menu feature. I gather you're using that. But for booting in UEFI mode, there's nothing on the ISO image that has a menu feature. The first stage is isobounce (which is installed as bootx64 in the ISO's second El Torito image), which loads an ISO9660 filesystem driver from the El Torito image and then chains to mboot (which is installed as bootx64 on the iso9660 filesystem). Neither isobounce nor mboot has a menu feature.

    If you want to create something on the ISO that shows a menu when booted in UEFI mode, there are a few alternatives you could try. I haven't done this myself, though, so I'm not aware if there are any pitfalls or which is best.

    Personally I'd probably try VMware menu.efi, but mostly that's because I wrote it and we use it a lot internally at VMware. We haven't advertised it for customer use, but it's available under the GPL as part of our bootloader (esx-boot) source disclosure. There's documentation at the top of the source code at esx-boot/menu.c at master · vmware/esx-boot · GitHub . It's not very easy to compile the esx-boot package that it lives in, though.

    You could also try grub, rEFInd, or rEFIt.

    Whatever you try as a menu program, you will have to get the ISO image to execute it instead of booting right into ESXi. I suppose you could modify the ISO9660 filesystem to rename its \efi\boot\bootx64.efi to something else (say mboot.efi), and put in the menu program you choose as \efi\boot\bootx64.efi. Alternatively, you could modify the second El Torito image to invoke your menu program -- that seems like it would be more work, though.



  • 28.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Posted Mar 01, 2020 01:45 PM

    I was in the same boat and have been using the isolinux Menu with ks files for ESXi installs on legacy BIOS. But we have installations also with UEFI for which this didn't work.

    For me solution for hosts using UEFI was to keep the same setup with KS files in iso, but skip the menu. Instead I adjusted \EFI\BOOT\BOOT.CFG to have a long timeout and added CFG to kernelops line (so we don't have to type it all every time). When ESXI install boots we press Shift-O and change ks filename, rest is the same as having a menu.

    timeout=5000000

    kernelopt=runweasel ks=cdrom:/KS/CHANGE_EVERY_TIME.CFG

    Thank you very much TimMann for a description of the boot process.



  • 29.  RE: Has anyone been able to invoke the VMware BOOTX64.efi from a BOOTX64.efi (grub.efi) menu?

    Posted Jan 23, 2024 01:16 PM

    I've been working extensively on an UEFI network install the last few days.

    Turns out that using iPXE seems to work. (syslinux and grub(2) do not.) iPXE also allows you to create a menu.

    Essentially you tell your machine via DHCP to boot ipxe.efi. In the DHCP transaction inside iPXE you tell it to get the iPXE config via HTTP. From there you can have a menu, chainload bootx64.efi/mboot and whatever else you like. You just need to put the different files (bootcfg, kernel etc.) in the appropriate places.

    In essence i've been working with ultimate deployment appliance (uda) and tweaking it a little bit. If it works I'll have to see if I find the time to put a patch together.

    So far I have only tested nested ESXi, next step will be on real hardware.

    UPDATE Can confirm, works on Proliant DL380 G11