Alexander Perlis
2016-Jun-13 23:41 UTC
[syslinux] Getting HTTP path-prefix to work with syslinux.efi
> > Is syslinux.efi supposed to be able to handle HTTP URLs? > > If the underlying firmware can. Try just specifying an HTTP URL in the > config or on the command line instead of the path-prefix option.Doesn't work. Apparently the Dell UEFI PXE firmware doesn't know HTTP. Somehow I was under the impression improvements from pxelinux variants like lpxelinux were already wrapped into the EFI version. Is there an "l" version of syslinux.efi? Or any way to get HTTP transfers with UEFI on a system whose underlying firmware doesn't understand HTTP? Thanks, Alex
Gene Cumm
2016-Jun-14 02:05 UTC
[syslinux] Getting HTTP path-prefix to work with syslinux.efi
On Mon, Jun 13, 2016 at 7:41 PM, Alexander Perlis <aperlis at math.lsu.edu> wrote:>> > Is syslinux.efi supposed to be able to handle HTTP URLs? >> >> If the underlying firmware can. Try just specifying an HTTP URL in the >> config or on the command line instead of the path-prefix option. > > > Doesn't work. Apparently the Dell UEFI PXE firmware doesn't know HTTP.There's a lot of variation. Sounds like a Nehalem/Westmere system implementing UEFI 2.0 if I were to guess. Do you have a shell option in your boot selections? Looking to get data like I did for an HP system in http://www.syslinux.org/archives/2015-August/023999.html http://www.syslinux.org/archives/2015-August/024005.html and http://www.syslinux.org/archives/2015-August/024055.html version > fs0:\efi-ver.txt guid > fs0:\efi-guid.txt or alias > fs0:\efi-alias.txt dh > fs0:\efi-dh.txt dh -p Net > fs0:\efi-dh-net.txt I'm guessing a lack of TCPv4Sb (an alias for the EFI_TCP4_SERVICE_BINDING_PROTOCOL ).> Somehow I was under the impression improvements from pxelinux variants like > lpxelinux were already wrapped into the EFI version. > > Is there an "l" version of syslinux.efi?No.> Or any way to get HTTP transfers > with UEFI on a system whose underlying firmware doesn't understand HTTP?Perhaps with iPXE snponly.efi or the like tying to the underlying SNP and providing HTTP. -- -Gene
Alexander Perlis
2016-Jun-14 20:44 UTC
[syslinux] Getting HTTP path-prefix to work with syslinux.efi
>> Doesn't work. Apparently the Dell UEFI PXE firmware doesn't know HTTP. > > There's a lot of variation. Do you have a shell option > in your boot selections?None of Dell OptiPlex 990 (firmware A19), 9010 (firmware A22), nor 9020 (firmware A16) seem have a built-in EFI shell option, but in all three cases I had success running the external EFI shell from github.com/tianocore/edk2/tree/master/EdkShellBinPkg (naming it /efi/boot/bootx64.efi on a FAT USB stick).> I'm guessing a lack of TCPv4Sb (an alias for the > EFI_TCP4_SERVICE_BINDING_PROTOCOL ).You're onto something. All three systems do report TCPv4Sb identically in their "guid" output, TCPv4Sb : 00720665-67EB-4A99-BAF7-D3C33A1C7CC9 yet in the "dh -p Net" output, only the OptiPlex 9020 lists TCPv4Sb. That is also the only one of the three systems for which syslinux.efi is indeed able to load HTTP URLs. What does it mean for TCPv4Sb to be listed under "guid" yet not under "dh -p Net"? Curiously, on the OptiPlex 990, the "dh -p Net" output is bizarrely essentially empty: Dell OptiPlex 990 A19 (EFI 2.0 Revision 4.632 American Megatrends): Shell> dh -p Net Handle dump by protocol 'Net' Dell OptiPlex 9010 A22 (EFI 2.31 Revision 4.653 American Megatrends): Shell> dh -p Net Handle dump by protocol 'Net' 326: DevPath (..9,0x0)/MAC(xxxxxxxxxxxx,0x0))Net MNPSb ARPSb DHCPv4Sb IPv4Sb IPv4Config UDPv4Sb MTFTPv4Sb HiiConfAccess 341: DevPath (..HCP,0.0.0.0,0.0.0.0,0.0.0.0))Load Net Pxebc 349: DevPath (..00:0000:0000:0000:0000:0000))Load Net Pxebc Dell OptiPlex 9020 A16 (EFI 2.31 Revision 4.653 American Megatrends): Shell> dh -p Net Handle dump by protocol 'Net' 335: DevPath (..9,0x0)/MAC(xxxxxxxxxxxx,0x0))Net MNPSb ARPSb DHCPv4Sb TCPv4Sb IPv4Sb IPv4Config UDPv4Sb MTFTPv4Sb HiiConfAccess 344: DevPath (..00:0000:0000:0000:0000:0000))Load Net Pxebc 359: DevPath (..HCP,0.0.0.0,0.0.0.0,0.0.0.0))Load Net Pxebc Thanks, Alex