[syslinux] Using of pxelinux configfiles for both BIOS and UEFI boot
Ady
ady-sf at hotmail.com
Mon Dec 15 08:33:05 PST 2014
>
> >>According to prior pcap reports, syslinux.efi searches for syslinux.cfg (too), while (l)pxelinux.0 will be searching for "default". >This means that using something *similar* to:
> >> pxelinux.cfg/default:
> >> PATH bios
> >> CONFIG common-config.cfg ::bios
> >> # the bios modules should be located in the bios subdir
> >>
> >>and
> >> pxelinux.cfg/syslinux.cfg
> >> PATH efi64
> >> CONFIG common-config.cfg ::efi64
> >> # the efi64 modules should be located in the efi64 subdir
> >>
> >>could / perhaps / might / work. It would also depend on how the path notation is expressed in "common-config.cfg", considering that >the CONFIG directive is changing the working directory.
> >>
> >>This might very well fail too, but perhaps this idea triggers some additional feedback from someone else.
> >>
> >>Regards,
> >>Ady.
> >
> >Hello Ady,
> >
> >thank you for your response. I will check out this (hopefully) on Monday and give a short feedback to the list.
> >
> >I didn't notice this difference in the search order - but it can be. As far as I can see in my wireshark snapshots on the efi boot where is no search for a syslinux.cfg, but maybe on the bios boot, but I haven't one snapshot of this within reach.
> >
> >Peter
>
> Hello Ady,
>
> I checked this now by sniffing with wireshark but there is no search for pxelinux.cfg/syslinux.cfg in either bios or efi mode before searching for pxelinux.cfg/default. (using a renamed syslinux.efi in efi64 mode)
>
> If I remove/rename the bootloader ldlinux.e64 the seachorder for efi is:
> Ldlinux.e64
> /ldlinux.e64
> /boot/isolinux/ldlinux.e64
> /isolinux/ldlinux.e64
> /boot/syslinux/ldlinux.e64
> /syslinux/ldlinux.e64
> /ldlinux.e64
>
> If I remove/rename the configfile pxelinux.cfg/default the searchorder for efi is:
>
> pxelinux.cfg/uuid (or something similar)
> pxelinux.cfg/macaddress
> ...
> pxelinux.cfg/(parts of macaddress)
> ...
> pxelinux.cfg/default
>
> and then the boot fails with a "configuration file not found" error.
>
> Peter
>
>
Have you actually tried with the pxelinux-options tool (probably
executed under some GNU/Linux (Live) OS rather than under Windows) as
suggested by Gene?
One potential (future) possibility could be to use something similar to
a proposal made back in August 2014. The last email about it was sent
in October:
http://www.syslinux.org/archives/2014-October/022712.html
To be clear, I don't know how the actual patch should look like
(considering that I don't know the origin of "__FIRMWARE_EFI32__" and
"__FIRMWARE_EFI64__").
The original proposal was meant for syslinux.efi booting storage
devices (such as USB drives), and there has been no actual development
about it.
For storage devices, currently there is no alternative way to solve the
problem, whereas for network booting the dhcp options and/or the
pxelinux-options tool should help (when available). But, I can see a
case (such as the one we are discussing in this email thread) where the
simple presence of specific filenames could be useful.
If this concept would be evaluated for some form of implementation,
then the potential reduction of efficiency in other network setups
should also be considered.
At this point, I can only hope that some Syslinux developer might want
to consider the aforementioned proposal (for storage devices) and
perhaps also some alternative solution for this type of network setup.
Regards,
Ady.
More information about the Syslinux
mailing list