[gPXE] native gPXE loading custom gPXE

Gene Cumm gene.cumm at gmail.com
Fri Sep 30 11:49:47 EDT 2011


On Sep 29, 2011 12:52 PM, "Richman, Steven C"
<steven.c.richman at intel.com> wrote:
> I am using a modified version of gPXE that allows >256 characters to be passed to the kernel command line. gPXE needs to pass a very long string of arguments to the kernel command line. I am chain-loading gPXE from PXE. DHCP is configured to look for the gpxe.bus-id in the dhcpd.conf file to break out of the infinite loop.

Depending on your real goals, have you considered using gpxelinux.0
from Syslinux or pxelinux.0 from Syslinux-4.10-pre15 (current beta
which includes lwIP, a lightweight IPv4 stack) which can handle kernel
command lines up to about 2047 total characters?  gpxecmd.c32 can also
be used to issue commands to gPXE.  The IPAPPEND option also gives a
nice way to identify the NIC that you're booting from.  Generally, an
IPAPPEND value of 2 is the recommended option but doc/syslinux.txt can
help with more details.

> The new Qlogic NICs are coming with gPXE. This poses a problem because it doesn't load the custom gPXE (w/Kernel CmdLine patch) because DHCP sees that the gpxe.bus-id is already defined so it doesn't hand-out the custom gPXE like it does for NICs that PXE boot.
>
> Is there a known solution for loading a custom (patched) gPXE from gPXE (native) without falling into an infinite loop?

If you need gPXE without PXELINUX, embedding a script into your
customized gPXE build to perform your task(s) and break this cycle is
an easy option.

> Can an attribute be set to tell dhcp to always offer the custom bootloader unless the attribute defined in the custom gPXE version is present?
>
> Thanks,
> Steve

Good luck.

--Gene


More information about the gPXE mailing list