VMware Cloud Community
drewwrobel
Contributor
Contributor

Unable to UEFI-PXE Boot Host - Getting generic parsing boot.cfg error

I have a Linux Server running DHCP, HTTP and ATFTP that I use for supporting PXE booting hosts for automating our ESXi deployments.

We have some new servers that default to UEFI PXE Boot.  I can change the BIOS to Legacy BIOS as a work-around.  But I'd lilke to get the UEFI

I've read the various documenation and have the mboot.efi file setup, as well as updated dhcpd.conf.

Checking the server logs, I see the host pull over the mboot.efi and the boot.cfg file.

After a few seconds I get the following message on the screen.

Configuration error while parsing /tftpboot/boot//boot.cfg

Fatal error: 19 (Timeout)

Here is the copy of the boot.cfg file...

bootstate=0

title=Loading ESXi 6.5U3 Lenovo Image 20190308

timeout=5

prefix=esxi65

kernel=tboot.b00

kernelopt=ks=http://192.168.36.1/esxi/ks6.5.cfg

modules=b.b00 --- jumpstrt.gz --- useropts.gz --- features.gz --- k.b00 --- chardevs.b00 --- a.b00 --- user.b00 --- uc_intel.b00 --- uc_amd.b00 --- sb.v00 --- s.v00 --- lsi_mr3.v00 --- lsi_msgp.v00 --- lsi_msgp.v01 --- bnxtnet.v00 --- elx_esx_.v00 --- brcmfcoe.v00 --- elxiscsi.v00 --- elxnet.v00 --- lpfc.v00 --- i40en.v00 --- igbn.v00 --- intel_nv.v00 --- ixgben.v00 --- concrete.v00 --- filetran.v00 --- fupb.v00 --- fwupdate.v00 --- immpasst.v00 --- pciinfo.v00 --- nmlx4_co.v00 --- nmlx4_en.v00 --- nmlx4_rd.v00 --- nmlx5_co.v00 --- nmlx5_rd.v00 --- qcnic.v00 --- qedentv.v00 --- qedf.v00 --- qedrntv.v00 --- qfle3.v00 --- qfle3f.v00 --- qfle3i.v00 --- scsi_qed.v00 --- qlnative.v00 --- ata_liba.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 --- char_ran.v00 --- ehci_ehc.v00 --- hid_hid.v00 --- ima_qla4.v00 --- ipmi_ipm.v00 --- ipmi_ipm.v01 --- ipmi_ipm.v02 --- lsi_msgp.v02 --- misc_cni.v00 --- misc_dri.v00 --- mtip32xx.v00 --- ne1000.v00 --- nenic.v00 --- net_bnx2.v00 --- net_bnx2.v01 --- net_cdc_.v00 --- net_cnic.v00 --- net_e100.v00 --- net_e100.v01 --- net_enic.v00 --- net_fcoe.v00 --- net_forc.v00 --- net_igb.v00 --- net_libf.v00 --- net_mlx4.v00 --- net_mlx4.v01 --- net_nx_n.v00 --- net_tg3.v00 --- net_usbn.v00 --- net_vmxn.v00 --- nhpsa.v00 --- ntg3.v00 --- nvme.v00 --- nvmxnet3.v00 --- ohci_usb.v00 --- pvscsi.v00 --- qflge.v00 --- 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_isc.v00 --- scsi_lib.v00 --- scsi_meg.v00 --- scsi_meg.v01 --- scsi_meg.v02 --- scsi_mpt.v00 --- scsi_mpt.v01 --- scsi_mpt.v02 --- scsi_qla.v00 --- shim_isc.v00 --- shim_isc.v01 --- shim_lib.v00 --- shim_lib.v01 --- shim_lib.v02 --- shim_lib.v03 --- shim_lib.v04 --- shim_lib.v05 --- shim_vmk.v00 --- shim_vmk.v01 --- shim_vmk.v02 --- smartpqi.v00 --- uhci_usb.v00 --- usb_stor.v00 --- usbcore_.v00 --- vmkata.v00 --- vmkplexe.v00 --- vmkusb.v00 --- vmw_ahci.v00 --- xhci_xhc.v00 --- emulex_e.v00 --- btldr.t00 --- weaselin.t00 --- esx_dvfi.v00 --- esx_ui.v00 --- lsu_hp_h.v00 --- lsu_lsi_.v00 --- lsu_lsi_.v01 --- lsu_lsi_.v02 --- lsu_lsi_.v03 --- native_m.v00 --- rste.v00 --- vmware_e.v00 --- vsan.v00 --- vsanheal.v00 --- vsanmgmt.v00 --- tools.t00 --- lnvcusto.v00 --- xorg.v00 --- imgdb.tgz --- imgpayld.tgz

build=

updated=0

The 'esxi65' directory is in the same location as boot.cfg.

I don't know how else to get additional information to help fix the boot.cfg problem.

0 Kudos
7 Replies
jburen
Expert
Expert

I'm not quite sure if its the cause of your problem but the documentation says to copy boot.cfg to /tftpboot/boot.cfg and you get an error about /tftpboot/boot/boot.cfg.

Consider giving Kudos if you think my response helped you in any way.
0 Kudos
drewwrobel
Contributor
Contributor

The /tftpboot/boot/boot.cfg was due to the DHCP using tftpboot/boot/pxelinux.0 for the Legacy PXE Boot Process.  The process just looked in the same directory.

I changed the configuration to pull the file from /tftpboot/boot.cfg and still getting the same issue.

I've copied over the default ESXi 6.5 boot.cfg file over and still getting the parsing error.

I even copied the installation media into the /tftpboot directory, leaving the prefix= stanza blank...no change.

here is the copy from the system that mboot.efi and boot.cfg are pulled over successfully.

Jul 15 15:11:06 imagingserver dhcpd: DHCPDISCOVER from 9c:5a:44:00:00:bb via bond0

Jul 15 15:11:07 imagingserver dhcpd: DHCPOFFER on 192.168.36.2 to 9c:5a:44:00:00:bb via bond0

Jul 15 15:11:10 imagingserver dhcpd: DHCPREQUEST for 192.168.36.2 (192.168.36.1) from 9c:5a:44:00:00:bb via bond0

Jul 15 15:11:10 imagingserver dhcpd: DHCPACK on 192.168.36.2 to 9c:5a:44:00:00:bb via bond0

Jul 15 15:11:10 imagingserver atftpd[26364]: Serving /tftpboot/mboot.efi to 192.168.36.2:1769

Jul 15 15:11:10 imagingserver atftpd[26364]: Serving /tftpboot/mboot.efi to 192.168.36.2:1770

Jul 15 15:11:11 imagingserver atftpd[26364]: Serving /tftpboot/01-9c-5a-44-00-00-bb/boot.cfg to 192.168.36.2:1771

Jul 15 15:11:11 imagingserver atftpd[26364]: Serving /tftpboot/boot.cfg to 192.168.36.2:1772

Jul 15 15:11:11 imagingserver atftpd[26364]: Serving /tftpboot/boot.cfg to 192.168.36.2:1773

Jul 15 15:11:35 imagingserver atftpd[26364]: timeout: retrying...

Jul 15 15:11:40 imagingserver atftpd[26364]: timeout: retrying...

Jul 15 15:11:45 imagingserver atftpd[26364]: timeout: retrying...

Jul 15 15:11:50 imagingserver atftpd[26364]: timeout: retrying...

Jul 15 15:11:55 imagingserver atftpd[26364]: timeout: retrying...

I wish there was a way to turn on some kind of debugging to see what ESXi is doing.

0 Kudos
jburen
Expert
Expert

I see you're serving a specific boot.cfg in the MAC address folder but also a generic boot.cfg. I'm not sure if that will work. I think I would try to use the generic one first. So remove the 01- from the folder name.

In which folder did you copy the ESXi installation files? And can you show the contents of the boot.cfg?

Consider giving Kudos if you think my response helped you in any way.
0 Kudos
drewwrobel
Contributor
Contributor

I'm only serving up the generic boot.cfg file.  The process is checking for a MAC-Address specific boot.cfg, but there isn't any.

The ESXi Installation Files are copied into the directory /tftpboot/esxi65-hpe

Here is the boot.cfg file and the directory where the ISO image is...

pbysystemimager2:/tftpboot # cat /tftpboot/boot.cfg

bootstate=0

title=Loading ESXi 6.5U3 HPE Image 201906

timeout=5

prefix=esxi65-hpe

kernel=tboot.b00

kernelopt=ks=http://192.168.36.1/esxi/ks6.5-hpe.cfg

#kernelopt=runweasel cdromBoot

modules=b.b00 --- jumpstrt.gz --- useropts.gz --- features.gz --- k.b00 --- chardevs.b00 --- a.b00 --- user.b00 --- uc_intel.b00 --- uc_amd.b00 --- sb.v00 --- s.v00 --- lsi_mr3.v00 --- scsi_mpt.v00 --- bnxtnet.v00 --- bnxtroce.v00 --- elx_esx_.v00 --- brcmfcoe.v00 --- elxiscsi.v00 --- elxnet.v00 --- lpfc.v00 --- amsd.v00 --- bootcfg.v00 --- conrep.v00 --- cru.v00 --- fc_enabl.v00 --- hponcfg.v00 --- ilo.v00 --- oem_buil.v00 --- scsi_hpd.v00 --- scsi_hpv.v00 --- smx_prov.v00 --- ssacli.v00 --- testeven.v00 --- i40en.v00 --- igbn.v00 --- ixgben.v00 --- nmlx4_co.v00 --- nmlx4_en.v00 --- nmlx4_rd.v00 --- nmlx5_co.v00 --- nmlx5_rd.v00 --- nmst.v00 --- smartpqi.v00 --- nhpsa.v00 --- qcnic.v00 --- qedentv.v00 --- qedf.v00 --- qedrntv.v00 --- qfle3.v00 --- qfle3f.v00 --- qfle3i.v00 --- scsi_qed.v00 --- qlnative.v00 --- ata_liba.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 --- char_ran.v00 --- ehci_ehc.v00 --- hid_hid.v00 --- ima_qla4.v00 --- ipmi_ipm.v00 --- ipmi_ipm.v01 --- ipmi_ipm.v02 --- lsi_msgp.v00 --- lsi_msgp.v01 --- misc_dri.v00 --- mtip32xx.v00 --- ne1000.v00 --- nenic.v00 --- net_cdc_.v00 --- net_e100.v00 --- net_e100.v01 --- net_enic.v00 --- net_fcoe.v00 --- net_forc.v00 --- net_libf.v00 --- net_nx_n.v00 --- net_tg3.v00 --- net_usbn.v00 --- net_vmxn.v00 --- ntg3.v00 --- nvme.v00 --- nvmxnet3.v00 --- ohci_usb.v00 --- pvscsi.v00 --- qflge.v00 --- 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_fni.v00 --- scsi_ips.v00 --- scsi_isc.v00 --- scsi_lib.v00 --- scsi_meg.v00 --- scsi_meg.v01 --- scsi_meg.v02 --- scsi_mpt.v01 --- scsi_mpt.v02 --- scsi_qla.v00 --- shim_isc.v00 --- shim_isc.v01 --- shim_lib.v00 --- shim_lib.v01 --- shim_lib.v02 --- shim_lib.v03 --- shim_lib.v04 --- shim_lib.v05 --- shim_vmk.v00 --- shim_vmk.v01 --- shim_vmk.v02 --- uhci_usb.v00 --- usb_stor.v00 --- usbcore_.v00 --- vmkata.v00 --- vmkplexe.v00 --- vmkusb.v00 --- vmw_ahci.v00 --- xhci_xhc.v00 --- emulex_e.v00 --- btldr.t00 --- weaselin.t00 --- esx_dvfi.v00 --- esx_ui.v00 --- lsu_hp_h.v00 --- lsu_lsi_.v00 --- lsu_lsi_.v01 --- lsu_lsi_.v02 --- lsu_lsi_.v03 --- lsu_lsi_.v04 --- native_m.v00 --- rste.v00 --- vmware_e.v00 --- vsan.v00 --- vsanheal.v00 --- vsanmgmt.v00 --- tools.t00 --- xorg.v00 --- imgdb.tgz --- imgpayld.tgz

build=

updated=0

pbysystemimager2:/tftpboot # ls /tftpboot/esxi65-hpe/

.discinfo     ata_pata.v05  boot.cfg-ORIG  efiboot.img   features.gz   ipmi_ipm.v00  lsi_mr3.v00   mboot.c32     net_e100.v01  nhpsa.v00     nvmxnet3.v00  qfle3f.v00    sata_sat.v00  scsi_fni.v00  scsi_mpt.v00  shim_lib.v02  ssacli.v00    usbcore_.v00             vmware_e.v00

a.b00         ata_pata.v06  bootcfg.v00    ehci_ehc.v00  hid_hid.v00   ipmi_ipm.v01  lsi_msgp.v00  menu.c32      net_enic.v00  nmlx4_co.v00  oem_buil.v00  qfle3i.v00    sata_sat.v01  scsi_hpd.v00  scsi_mpt.v01  shim_lib.v03  tboot.b00     user.b00                 vsan.v00

amsd.v00      ata_pata.v07  brcmfcoe.v00   elx_esx_.v00  hponcfg.v00   ipmi_ipm.v02  lsi_msgp.v01  misc_dri.v00  net_fcoe.v00  nmlx4_en.v00  ohci_usb.v00  qflge.v00     sata_sat.v02  scsi_hpv.v00  scsi_mpt.v02  shim_lib.v04  testeven.v00  useropts.gz              vsanheal.v00

ata_liba.v00  b.b00         btldr.t00      elxiscsi.v00  i40en.v00     isolinux.bin  lsu_hp_h.v00  mtip32xx.v00  net_forc.v00  nmlx4_rd.v00  pvscsi.v00    qlnative.v00  sata_sat.v03  scsi_ips.v00  scsi_qed.v00  shim_lib.v05  tools.t00     vmkata.v00               vsanmgmt.v00

ata_pata.v00  block_cc.v00  char_ran.v00   elxnet.v00    igbn.v00      isolinux.cfg  lsu_lsi_.v00  native_m.v00  net_libf.v00  nmlx5_co.v00  qcnic.v00     rste.v00      sata_sat.v04  scsi_isc.v00  scsi_qla.v00  shim_vmk.v00  uc_amd.b00    vmkplexe.v00             weaselin.t00

ata_pata.v01  bnxtnet.v00   chardevs.b00   emulex_e.v00  ilo.v00       ixgben.v00    lsu_lsi_.v01  ne1000.v00    net_nx_n.v00  nmlx5_rd.v00  qedentv.v00   s.v00         sb.v00        scsi_lib.v00  shim_isc.v00  shim_vmk.v01  uc_intel.b00  vmkusb.v00               xhci_xhc.v00

ata_pata.v02  bnxtroce.v00  conrep.v00     esx_dvfi.v00  ima_qla4.v00  jumpstrt.gz   lsu_lsi_.v02  nenic.v00     net_tg3.v00   nmst.v00      qedf.v00      safeboot.c32  scsi_aac.v00  scsi_meg.v00  shim_isc.v01  shim_vmk.v02  uhci_usb.v00  vmw_ahci.v00             xorg.v00

ata_pata.v03  boot.cat      cru.v00        esx_ui.v00    imgdb.tgz     k.b00         lsu_lsi_.v03  net_cdc_.v00  net_usbn.v00  ntg3.v00      qedrntv.v00   sata_ahc.v00  scsi_adp.v00  scsi_meg.v01  shim_lib.v00  smartpqi.v00  upgrade       vmware-esx-base-osl.txt

ata_pata.v04  boot.cfg      efi            fc_enabl.v00  imgpayld.tgz  lpfc.v00      lsu_lsi_.v04  net_e100.v00  net_vmxn.v00  nvme.v00      qfle3.v00     sata_ata.v00  scsi_aic.v00  scsi_meg.v02  shim_lib.v01  smx_prov.v00  usb_stor.v00  vmware-esx-base-readme

0 Kudos
jburen
Expert
Expert

So if the boot.cfg file is being served maybe the issue is with the line kernelopt=ks=http://192.168.36.1/esxi/ks6.5-hpe.cfg

Maybe you can give it a try with the default ks= line. Did you try to open the URL manually?

Consider giving Kudos if you think my response helped you in any way.
0 Kudos
ssteagall
Contributor
Contributor

Hi,

 

Just wondering if this was ever resolved ? ... I'm seeing the same.

 

 

0 Kudos
ssteagall
Contributor
Contributor

bad form replying to yourself ... but here is what I found to fix this issue:

least on RHEL7 and Ubuntu 18.04 tftp servers

 

adding --refuse blksize to the tftp options fixed this issue.

 

 

 

0 Kudos