[syslinux] UEFI syslinux PXE boot issues

JZB jzb at z2zcorp.com
Thu Aug 17 03:23:13 PDT 2023


On 8/17/23 03:55, AL13N via Syslinux wrote:
> Steve Rikli schreef op 2023-08-16 16:31:
>> On Wed, Aug 16, 2023 at 02:05:33PM +0200, AL13N via Syslinux wrote:
>>> Joakim Tjernlund schreef op 2023-08-16 13:15:
>>> > On Thu, 1970-01-01 at 00:00 +0000, AL13N via Syslinux wrote:
>>> > >
>>> > > I'm used to non-UEFI PXE boot, and I use it for my network installer
>>> > > since forever ago.
>>> > >
>>> > > Looking up how to UEFI PXE boot, I use the syslinux.efi file and
>>> > > allthough it was loaded and stuff, nothing happend after it, I 
>>> had at
>>> > > least expected the ldlinux64 to be requested from the TFTP 
>>> server, but
>>> > > nothing.
>>> > >
>>> > > After searching, I noticed someone asking to test the new 
>>> pre-release,
>>> > > and so I downloaded the 6.04 version. I replaced the syslinux.efi 
>>> file
>>> > > only, and I got a lot more success. I symlinked the pxelinux.cfg dir
>>> > > and images so it could find the files it needed.
>>> > >
>>> > > Then I got the prompt, I typed "install" to trigger that menu 
>>> item and
>>> > > it transferred the vmlinuz file (14sec for 11MB). Then the initrd
>>> > > (47MB), which takes a long time, but does not ever show the "ok", 
>>> even
>>> > > after the transfer was complete (as far as I could tell from the 
>>> TFTP
>>> > > server), which takes more than a minute. after some seconds of 
>>> nothing
>>> > > happening, it just reboots...
>>> > >
>>> > > Can anyone help met out here?
>>> >
>>> > If I recall correctly, UEFI is somewhat broken. Try iPXE instead.
>>>
>>> I tried to use the iPXE /usr/share/ipxe/ipxe-x86_64.efi, but it had some
>>> issues with the network card, iirc, I think I saw the network interface
>>> down, though it likely uses a wrong driver?
>>>
>>> Still, the newer 6.04 one did work, except for loading the large 
>>> initrd file
>>> (which took more than 1 minute, which may be the reason it times out?),
>>> which is probably not UEFI related?
>>
>> Suggest you try downloading large initrd files with http rather than 
>> tftp.
>>
>> We started having more frequent timeouts during initrd download around 
>> the
>> time RHEL8 became more prevalent in our environment, so we just switched
>> to http going forward (after CentOS/RHEL 7) since the initrd images 
>> seemed
>> to be on a growth trend over time.
>>
>> Like you suspect, we generally found this to be a problem independent of
>> UEFI; it was simply that the modern hardware we were getting was more
>> frequently coming with UEFI rather than traditional BIOS, and we needed
>> the newer linux releases to support the newer hardware, etc. so the
>> situation came together basically at the same time.
> 
> We don't have RH's in our environment, but I suspect the initrd's are 
> just growing larger to support more stuff (especially installers).
> 
> Combined with a slowdown in TFTP transfers (I've seen this the last few 
> years), it seems to timeout
> 
> Unfortunately, trying http link for the initrd did not work on this HP 
> laptop... maybe this laptop firmware does not support it...

I used to think this was a UEFI BIOS issue, but after much digging, I 
found the solution.  I posted this a few years back:

There are other issues with PXE over UEFI with syslinux.  I got it to
work by using version 6.04_pre1 plus 3 pathes and building from source:

efi-udp-core_udp_connect-use-SubnetMask-not-StationA.patch
efi-udp-Add-retry-disabling-UseDefaultAddress.patch
efi-udp-Removing-the-udp_reader-efi_binding.patch

Patches are cherry-picked commits from syslinux git tree.

Fixes the decaying TFTP transfer rate problem.

--jzb


More information about the Syslinux mailing list