[syslinux] Locally-loaded syslinux.efi with remote HTTP config?

Alexander Perlis aperlis at math.lsu.edu
Fri Jun 17 17:27:17 PDT 2016

   If syslinux.efi is loaded locally off USB rather than via an EFI PXE 
option ROM boot, but on a client whose EFI firmware has TCP support, 
should that locally-booted syslinux.efi be able to process HTTP URLs? 
Initial experiments indicate "no", but why not?

   My TCP-capable EFI client is on a subnetwork with broken DHCP not 
under my control, so I can't achieve a traditional network PXE boot to 
my PXE server; as a solution, I seek a simple USB-based shim that will 
boot locally and then chain me over to my PXE server. Attempts with ipxe 
snponly weren't immediately successful, meanwhile I started wondering 
whether I can just use syslinux.efi locally to achieve this? My 
syslinux.efi is configured thus:

   -a next-server ip.of.pxe.server

   -a config-file name.of.pxe.server.config

   -a path-prefix http://ip.of.pxe.server/

I would guess under local boot that next-server is ignored, but 
path-prefix should still come into play, no? When syslinux.efi sees an 
"http" URL after having been booted via an actual network EFI PXE option 
ROM, instead of trying to call an underlying PXE stack that would talk 
only TFTP, doesn't syslinux.efi bypass that and instead use the 
underlying EFI firmware's TCP capability to do an HTTP transfer? So then 
in principle couldn't it also do that whether or not an underlying 
unneeded PXE stack were even present in the first place? In other words, 
when syslinux.efi is booted locally, the EFI firmware still has TCP 
capability, so why can't syslinux.efi process the HTTP URL?


More information about the Syslinux mailing list