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. Here's what I've tried so far: * chain.c32 - doesn't work, as expected... just throws a 0D General Protection Exception. * "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. -Alan
On Mon, Oct 26, 2015 at 12:09:40PM -0600, Alan Sparks via Syslinux 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.The test binariers Gene provided don't have a localboot module. It is wrong to mix components from different builds.> 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. > > Here's what I've tried so far: > > * chain.c32 - doesn't work, as expected... just throws a 0D General > Protection Exception. > > * "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?Build from git. Add print statements.> Thanks in advance. > -AlanGroeten Geert Stappers -- Leven en laten leven
On 10/26/2015 1:46 PM, Geert Stappers via Syslinux wrote:> On Mon, Oct 26, 2015 at 12:09:40PM -0600, Alan Sparks via Syslinux 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. > > The test binariers Gene provided don't have a localboot module. > > It is wrong to mix components from different builds. >What localboot module? What mix? My understanding was "localboot" is a built-in command - e.g. "localboot -1" in a menu.c32 configuration as I mentioned. There's no apparent fetch attempt for a localboot module. -Alan
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.So PXE is the last option? Are you manually selecting PXE from this NIC or is the server automatically selecting this?> Here's what I've tried so far: > > * chain.c32 - doesn't work, as expected... just throws a 0D General > Protection Exception.chain.c32 is useless since it's currently just BIOS. No need to test.> * "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. On Mon, Oct 26, 2015 at 4:46 PM, Alan Sparks via Syslinux <syslinux at zytor.com> wrote:> On 10/26/2015 2:31 PM, Geert Stappers wrote: >> On Mon, Oct 26, 2015 at 02:03:08PM -0600, Alan Sparks via Syslinux wrote: >>> On 10/26/2015 1:46 PM, Geert Stappers via Syslinux wrote: >>>> On Mon, Oct 26, 2015 at 12:09:40PM -0600, Alan Sparks via Syslinux wrote: > >>> What localboot module? What mix? My understanding was "localboot" is >>> a built-in command - e.g. "localboot -1" in a menu.c32 configuration as >>> I mentioned. There's no apparent fetch attempt for a localboot module. >> >> You could be right at that. >> Yes, it means I would be wrong about localboot being an external module. >> >> In the directory with syslinux source tree where I did `make` >> >> $ find . -name localboot.c32 >> ./efi64/com32/samples/localboot.c32 >> ./efi32/com32/samples/localboot.c32 >> ./bios/com32/samples/localboot.c32 >> >> Thing I'm try to say: there are localboot.c32 modules being build. >> > > I do see those. I did not have those installed, and were no requestslocalboot.c32 should call the same Syslinux system call that the LOCALBOOT directive does. localboot.c32 merely provides a CLI method to access the same thing a special configuration directive provides. -- -Gene
On 10/26/2015 7:47 PM, Gene Cumm wrote:> On Mon, Oct 26, 2015 at 2:09 PM, Alan Sparks via Syslinux > <syslinux at zytor.com> wrote:>> 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. > > So PXE is the last option? Are you manually selecting PXE from this > NIC or is the server automatically selecting this?More details: * The local disks were first in the boot order. NICs (more than one) were at the bottom of the boot order. * This is a "one time boot" from PXE. Same whether I choose network boot from the console (F12 on a ProLiant) or via a remote IPMI "bootdev pxe" sort of control. * I've tried reordering the boot order. See below.> >> Here's what I've tried so far: > > 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. >With Gene's recent test binaries, localboot (0 or 1) for argument: * I've tried reordering the boot order, putting disks after the NICs. Basically putting the PXE interface that can boot at the top, other stuff (disks, USB, etc) last. * The boot menu is displayed. When the localboot option is triggered, it /appears/ that the system may be trying to move to the next PXE option - for this system, the PXE nic also has a IPv6 option that I left at the end of the boot order - so what appears to have happened is after the localboot executing, the system skipped over the disk items, and found the next PXE option in the list. It did not try to boot the disk.
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