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.
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
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.
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
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.
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 ...
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.
Hi Joe
last week I had no time to make more tests - did you make any progress ?
Ulli
I tried the mboot.32 from an EFI boot and still no go.
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.
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
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
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
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.
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.
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...
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.
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
Regards Ulli
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...
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