[syslinux] UEFI: Failed to load ldlinux.e64/ldlinux.e32

Gene Cumm gene.cumm at gmail.com
Sat Oct 3 05:39:25 PDT 2015


On Sat, Oct 3, 2015 at 3:28 AM, Geert Stappers via Syslinux
<syslinux at zytor.com> wrote:
> On Sat, Oct 03, 2015 at 09:20:10AM +0300, Ady via Syslinux wrote:
>>
>> > I have a patch that I think may help your situation of syslinux.efi
>> > being unable to load ldlinux.e64/ldlinux.e32 (though I don't know if
>> > any of you are using an EFI ia32 platform).
>> >
>> > The basics are that we try to enable UseDefaultAddress as it helps
>> > certain clients with routing and works on numerous other clients.  If
>> > we timeout on receiving a packet and have never received any packets,
>> > disable UseDefaultAddress and set the addresses manually.
>> >
>> >
>> > git://github.com/geneC/syslinux.git
>> > https://github.com/geneC/syslinux.git
>> >
>> > Branch 1efipxe
>> >
>>
>> _ Silly question: is it clear to everyone / anyone how exactly would
>> that manual configuration would be achieved?
>
> Partial diff between the 1efipxe branch and master
>
>      /* Re-use the existing local port number */
>      udata.StationPort = socket->net.efi.localport;
>
> -    udata.UseDefaultAddress = TRUE;
> +    if (efi_net_def_addr) {
> +       udata.UseDefaultAddress = TRUE;
> +    } else {
> +       udata.UseDefaultAddress = FALSE;
> +       memcpy(&udata.StationAddress, &IPInfo.myip, sizeof(IPInfo.myip));
> +       memcpy(&udata.StationAddress, &IPInfo.netmask, sizeof(IPInfo.netmask));
> +    }
>      memcpy(&udata.RemoteAddress, &ip, sizeof(ip));
>      udata.RemotePort = port;
>      udata.TimeToLive = 64;
>
> So don't worry about "manual"  :-)

Jeff Sloan and at least one other person were pushing for the manual
approach but at the expense of avoiding UseDefaultAddress.  This takes
a balanced approach for UDP.

>> _ Updating the firmware is probably still very much recommended.
>
> Waiting on an updated version of the firmware is however not an option.

To a phantom version that doesn't exist.

> O, these are the moments where I realize again how lucky we are
> with a bootloader that is libre software.
>
>
>> _ Considering that HP's employees (correctly, IMHO) assume that the
>> Syslinux family of bootloaders _should_ work correctly on their
>> hardware, I wish HP, Dell, and other manufacturers would also
>> "collaborate" with relevant projects, for example by testing their
>> firmware with Syslinux, with relevant effective consequences. I wish, I
>> hope.
>
> Yes, collaboration is the way to succes.

The fix an employee of one of those suggested is to basically disable
UseDefaultAddress, not to fix UseDefaultAddress in their firmware.

>> _ Regression tests would be very welcome. In other words, tests (and
>> feedback) on "both" types of cases (those that were previously failing
>> and those that were previously working successfully) would be
>> appreciated.

Agreed.  I've already tested these binaries myself but the more that
can test for at least basic scenarios, the better we'll be.

-- 
-Gene


More information about the Syslinux mailing list