VMware Cloud Community
joecunliffelsi
Contributor
Contributor

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

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.   

28 Replies
continuum
Immortal
Immortal

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


________________________________________________
Do you need support with a VMFS recovery problem ? - send a message via skype "sanbarrow"
I do not support Workstation 16 at this time ...

0 Kudos
joecunliffelsi
Contributor
Contributor

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:

IMAG0925.jpg

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.

0 Kudos
continuum
Immortal
Immortal

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


________________________________________________
Do you need support with a VMFS recovery problem ? - send a message via skype "sanbarrow"
I do not support Workstation 16 at this time ...

0 Kudos
joecunliffelsi
Contributor
Contributor

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.

0 Kudos
continuum
Immortal
Immortal

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 ...


________________________________________________
Do you need support with a VMFS recovery problem ? - send a message via skype "sanbarrow"
I do not support Workstation 16 at this time ...

0 Kudos
joecunliffelsi
Contributor
Contributor

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.

0 Kudos
continuum
Immortal
Immortal

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

Ulli


________________________________________________
Do you need support with a VMFS recovery problem ? - send a message via skype "sanbarrow"
I do not support Workstation 16 at this time ...

0 Kudos
joecunliffelsi
Contributor
Contributor

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

0 Kudos
PhilippH
Contributor
Contributor

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.

0 Kudos
continuum
Immortal
Immortal

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


________________________________________________
Do you need support with a VMFS recovery problem ? - send a message via skype "sanbarrow"
I do not support Workstation 16 at this time ...

0 Kudos
PhilippH
Contributor
Contributor

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

0 Kudos
continuum
Immortal
Immortal

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


________________________________________________
Do you need support with a VMFS recovery problem ? - send a message via skype "sanbarrow"
I do not support Workstation 16 at this time ...

0 Kudos
PhilippH
Contributor
Contributor

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.

0 Kudos
TimMann
VMware Employee
VMware Employee

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.

0 Kudos
lewisjd99
Contributor
Contributor

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...

0 Kudos
TimMann
VMware Employee
VMware Employee

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.

0 Kudos
continuum
Immortal
Immortal

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 Smiley Happy


Regards Ulli


________________________________________________
Do you need support with a VMFS recovery problem ? - send a message via skype "sanbarrow"
I do not support Workstation 16 at this time ...

0 Kudos
lewisjd99
Contributor
Contributor

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...

0 Kudos
dariusd
VMware Employee
VMware Employee

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

0 Kudos