[syslinux] Still fighting localboot on EFI - looping

Gene Cumm
Thu, 29 Oct 2015 10:51:01 -0000

On Mon, Oct 26, 2015 at 9:47 PM, Gene Cumm <gene.cumm at gmail.com>
wrote:
> On Mon, Oct 26, 2015 at 2:09 PM, Alan Sparks via Syslinux
> <syslinux at zytor.com> wrote:
>> I'm still trying fruitlessly to get some sort of local disk boot
from
>> syslinux EFI to work... using the 6.03 modules.  Tried various
>> combinations of configurations on Gene's test binaries.
>>
>> For reference this is on different models of HP Proliant Gen-9 systems
>> with UEFI.   Firmware as up to date as it comes.   The UEFI boot order
>> has the hard drives and OS ESPs before the PXE interfaces (the
default).
>>   A boot-from-cold loads the OS no problem.

Specific models would be nice and how they're configured NIC-wise
(even just one model for now), since I believe we've seen differing
behavior on different models.

> So PXE is the last option?  Are you manually selecting PXE from this
> NIC or is the server automatically selecting this?

Using VMware Workstation 10 with a VMHW v10 VM (aka vmx10 though
misnomer), RHEL-6 64-bit guest OS hint, (1) e1000 NIC, forcibly
changed to UEFI mode.  Boot order of floppy, CD, NIC, HDD, 2 manual
entries of EFI images on HDD, and the internal shell.

Manually selecting NIC, booting sl604p0g18 binaries, config directive
as "LOCALBOOT -1", it returns to the first EFI command screen
(continue, boot manager to select an option or Boot Maintenance
Manager for full firmware config).

Automatically booting same binaries and config, it quickly spits a
message about EFI failure then loads from HDD where I have Syslinux
installed.

I also tried the same with a VMHW v9 VM with (3) e1000 NICs but saw
issues initially with sendto.  After disconnecting the 2 extra NICs
from networking, it worked as above.

>> * "localboot 0" and "localboot -1" - If I perform a
"one time boot from
>> PXE", the system starts PXE and loads syslinux.efi OK, and via
menu.c32
>> displays my menu and starts a countdown.   If it expires or I choose
the
>> "localboot" option, the menu simply restarts (loops, appears
to reload),
>> displays the same menu and restarts the count.   Never moves on,
doesn't
>> appear to go back and rerun the boot sequence or find the hard drive.
>> The TFTP server logs show it reloading the pxelinux.cfg file each time.
>>
>> Has anyone any advice on how to make localboot work on EFI, any tricks?
>>  Is there any other alternatives?  Any debugging I can do on this end
to
>> help?  Thanks in advance.
>
> Did you try inserting another boot selection after PXE, even if it's a
> repeat like CD?  My current theory is it's either a bug in Syslinux
> calling back incorrectly or it's the firmware not using the data right
> and looping.

Also, most of those servers have multiple NICs.  Could you by chance
be booting off of the next NIC when it repeats?  Or is there only 1
NIC connected?

--
-Gene