[syslinux] EFI PXE Server - pxelinux.0 equivalent?

Locane locane at gmail.com
Fri Dec 15 14:29:53 PST 2017


Thank you for the reply Gene!

My grub.cfg file that is booting from grubx64.efi looks like this:

*EFI WORKING (install to disk):*

menuentry 'Install Burn' {
    linuxefi images/centos_7.4-x86_64/vmlinuz ip=dhcp ks=http://<SERVER
IP>/cblr/svc/op/ks/profile/burn_efi
inst.repo=http://<SERVER
IP>/centos/centos_7.4-x86_64/mnt_CentOS-7-x86_64-DVD-1708
    initrdefi images/centos_7.4-x86_64/initrd.img
}

*EFI NOT WORKING (load in to memory):*

menuentry 'Do not use broken livecd' {
   linuxefi images/LiveCD/vmlinuz initrd=images/LiveCD/initrd.img
ksdevice=bootif lang=  root=live:/boot.iso kssendmac text  ks=http://<SERVER
IP>/cblr/svc/op/ks/profile/LiveCD
   initrdefi images/LiveCD/initrd.img
}

When I attempt to load the LiveCD I get "cannot allocate initrd" which I read
online
<https://superuser.com/questions/1128891/pxeboot-grub2-uefi-with-very-large-initrd/1131403#>
is
because grub can't handle an initrd of 1.2 gigabytes.

*And for reference, the working legacy PXE menu entry for our LiveCD is:*

LABEL LiveCD
        kernel /images/LiveCD/vmlinuz
        MENU LABEL ^LiveCD
        append initrd=/images/LiveCD/initrd.img ksdevice=bootif
root=live:/boot.iso kssendmac text  ks=http://<SERVER
IP>/cblr/svc/op/ks/profile/LiveCD
        ipappend 2

The complication is this; I'm running a CentOS 7.3 install that is serving
everything, and it ships with Syslinux 4.05.  I don't actually know how to
install Syslinux 6.03 over 4.05 in CentOS properly, so I've been just
trying swapping individual files out; I shot-in-the-darked syslinux.efi out
of the Syslinux 6.03 package, and set it up as the first contact file that
dhcpd hands out for systems requesting EFI style PXE (instead of
grubx64.efi), but that was just met with "core_udp_sendto: stalling on
configure with no mapping" errors.

I hope this isn't confusing; there's kind of a lot going on here.  I'm
completely self(google)-taught so there are a lot of holes in my knowledge.

On Fri, Dec 15, 2017 at 1:57 PM, Gene Cumm <gene.cumm at gmail.com> wrote:

> On Fri, Dec 15, 2017 at 3:17 PM, Locane via Syslinux <syslinux at zytor.com>
> wrote:
> > Hi all - I'm not sure if it's appropriate to ask this here, but I
> > don't see this question explicitly answered anywhere.
>
> Here's the right place to ask.
>
> > Is there an EFI version of "pxelinux.0" that will function basically
> > the same way and read the same pxelinux.cfg/default menu files?
>
> Sure, with architecture-specific caveats.  As of v6.00,
> core/pxelinux.0 moved to bios/core/pxelinux.0 and you'll also need
> bios/com32/elflink/ldlinux/ldlinux.c32
>
> EFI32: efi32/efi/syslinux.efi efi32/com32/elflink/ldlinux/ldlinux.e32
> EFI64: efi64/efi/syslinux.efi efi64/com32/elflink/ldlinux/ldlinux.e64
>
> Most likely, you have an EFI64 firmware.
>
> Bear in mind, that for the best experience, you will want to serve the
> files from another directory (and copy/symlink the config) or you need
> to build a more specific config that tells it to search for COM32s in
> an architecture-specific directory.
>
> > I've got a really dodgy grubx64.efi EFI PXE menu up at work, but it
> > can't load the 1.2 gigabyte LiveCD that we use on all of our systems.
>
> How are you loading this?  You can't expect MEMDISK to work as it's
> BIOS-specific.  I'd suggest serving the ISO (or its contents) over a
> network protocol (iSCSI, NFS, HTTP, etc) after the kernel is booted
> (with appropriate initrd and/or kernel command line bits).
>
> > Basically I just want to pick up my legacy PXE menu configurations and
> > use them on a system that boots only through EFI PXE.  Is that
> > possible?
>
> To an extent, depending....
>
> --
> -Gene
>


More information about the Syslinux mailing list