[syslinux] Using of pxelinux configfiles for both BIOS and UEFI boot
Gene Cumm
gene.cumm at gmail.com
Mon Dec 8 03:18:41 PST 2014
On Dec 8, 2014 5:24 AM, "Leenders, Peter" <Peter.Leenders at computacenter.com>
wrote:
>
> > Hello everyone,
> >
> > I'm using a windows PXE server and I try to upgrade a existing PXELINUX
menu structure with actually with BIOS/Legacy mode to work in UEFI mode too.
> >
> > Since I have to use ZENworks tftp on the windows server I have only one
TFTP-root directory not 2 different tftp-root directories like on a
standard windows
> > deployment server. ZENworks itself uses for Legacy mode a patched
PXELINUX and for UEFI a patched grub boot manager to get both running.
> >
> > - Is there a standard approach to use different vesamenu.c32 (and other
architecture depending ) files in the pxelinux.cfg/default file depending
on the boot architecture - especially for BIOS/Legacy and EFI64?
I'd say there's no standard but there are choices. Check out this page I
wrote up.
http://www.syslinux.org/wiki/index.php/PXELINUX-Multi-Arch
> > - Is it e.g. possible to set and use variables depending on the boot
architecture in the default menu pxelinux.cfg/default to address different
vesamenu.c32 files?
Not quite. INCLUDE and PATH with a different initial config per
architecture (which I apparently didn't finish). Ensure each architecture
gets a different initial config file that's two lines:
PATH bios
INCLUDE common-config
PATH efi32
INCLUDE common-config
PATH efi64
INCLUDE common-config
> > I sniffed network traffic, googled and looked at the SYSLINUX wiki, but
always get stuck with the problem that I can't address two different
vesamenu.c32 (or menu.c32) modules depending on BIOS or UEFI boot.
> > Maybe I'm just missing just a little detail.
> > I'm using SYSLINUX 6.03 for the existing PXE menu structure with a
large number of PXELINUX configuration files (>170), so building a second
structure in grub syntax isn't a way I would like to follow up further.
> >
> > Using the tftp from the windows deployment could be an option, but
would provoke other incompatibility of services of the MDT server and the
ZENworks infrastructure services.
> >
> > Yours sincerely
> > Peter Leenders
>
> Hello,
>
> I guess a general use of constants/variables is still not possible as
described in the SYSLINUX wiki - is this correct?
> ->
http://www.syslinux.org/wiki/index.php/SYSLINUX#Is_There_A_Way_To_Define_Constants_Or_Variables.3F
At that level, correct.
> Are the "system" flags to handle this or is there a version of
vesamenu.c32 (and depending modules) that run with both UEFI and BIOS- I
haven't found something like this?
No, each is architecture-specific. Different PATH statements is the
closest.
> Is it possible to define search paths for the modules so that it is
possible to use both UEFI and BIOS in one TFTP root structure without
depending on a special dhcp.conf (linux) or in my case using 2 different
tftp root structures (windows)?
Yes, pxelinux-options to unique initial configs. See link.
> For belonging ldlinux module the extensions (*.c32, *.e32 and *.e64)
allows to use UEFI and BIOS parallel. Unfortunately this concept is not
working for the other modules like vesamenu and depending modules. Is there
a plan to extent this concept to the other modules?
I believe that there was debate and the decision was common name extension.
--Gene
More information about the Syslinux
mailing list