[syslinux] syslinux-6.03 failed to boot ESXI 6.7

Ady Ady
Tue, 12 Mar 2019 19:21:26 -0000

> Hello, list,
>
>    I'm buiding syslinux6.3 with ESXI6.7, but it says,
>
>   * failed to load COM32 File
> http://172.16.234.112/images/esxi67/mboot.c32*
>
> Here is my config:
>
> ------------------
>
> label esxi
>   menu label ESXI-6.7 ^Installer
>   kernel http://172.16.234.112/images/esxi67/mboot.c32
>   append -c http://172.16.234.112/images/esxi67/boot.cfg
> --------------------
>
> Seeing from http access log, mboot.c32 was loading successfully.
> 172.16.235.99 - - [12/Mar/2019:17:59:15 +0800] "GET
> /images/esxi67/mboot.c32 HTTP/1.0" 200 90088 "-"
"Syslinux/6.03"


IIRC, VMware creates its own "mboot.c32" module, and its source code
is
not published.

Since the c32 modules must match the same version of the bootloader
file, users usually fail to load VMware's mboot.c32 module when using
some version of Syslinux that is incompatible with the module.
Therefore, it is only "natural" to see upstream Syslinux v.6.03
failing
to use that VMware's module.

Additionally, if users attempt to use the official mboot.c32 module
from Syslinux as if it was the module from VMware, it will certainly
fail on every occasion, simply because these are different modules, in
spite of having the same name.

VMware's mboot.c32 is probably from around v.4.05 or even from 3.8x;
pxechain.com and mostly pxechn.c32 come to mind, considering the "-c"
option being used in order to load some cfg file. This "-c" option has
nothing to do with the official upstream Syslinux's mboot.c32 module.

Giving that the source code of VMware's mboot.c32 has not been
published (AFAIK), there is nothing that upstream Syslinux developers
can do/say about it.

Regards,
Ady.