It appears that "cobbler host add" generates an incorrect pxelinux file. Given a repo named "ESXi-6.5d-x84_64" and a host named "dev" I get this for the host:
# cat 01-0c-c4-7a-d3-fb-4e [etc] kernel /images/ESXi-6.5d-x86_64/mboot.c32 ipappend 2 append /images/ESXi-6.5d-x86_64/vmkboot.gz BOOTIF=01-0c-c4-7a-d3-fb-4e ks=http://10.6.0.16/cblr/svc/op/ks/system/dev lang= text --- /images/ESXi-6.5d-x86_64/vmkernel.gz --- /images/ESXi-6.5d-x86_64/sys.vgz --- /images/ESXi-6.5d-x86_64/cim.vgz --- /images/ESXi-6.5d-x86_64/ienviron.vgz --- /images/ESXi-6.5d-x86_64/install.vgz
None of those .vgz files exist in ESXi 6. A "cobbler import" of ESXi 6 works OK, it makes the right pxe menu entry, copies boot.cfg from the ESXi iso root directory and munges it correctly into a tftpboot/images/ESXi-6.5d-x86_64/cobbler-boot.cfg file that has the right modules and boots from "tboot.b00 runweasel": ... kernel=tboot.b00 kernelopt=runweasel 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 --- [etc]
So it's possible (not counting hacking the signature JSON file to accomodate EXI 6.5) to do an interactive install from the cobbler server.
I am looking for the right entries to make in the ESXi 6.5 profile to generate a good PXE config file per host. I see a variable "modules=$esx_modules" in /etc/cobbler/pxe/bootcfg_esxi60.template. I couldn't find it in the source - how can I set that? I'd still like to try generating host boot files that won't get clobbered by a cobbler sync.