[syslinux] Chainloading pxe boot loaders and dhcp root-path option

Gene Cumm gene.cumm at gmail.com
Mon May 16 15:08:32 PDT 2011

On Mon, May 16, 2011 at 16:34, Jeffrey Hutzelman <jhutz at cmu.edu> wrote:
> On Sat, 2011-05-14 at 23:39 -0700, H. Peter Anvin wrote:
>> On 05/14/2011 09:14 PM, Matt Fioravante wrote:
>> > Is there anyway to set dynamically set dhcp options when chain loading
>> > another pxe boot loader?
>> >
>> > I'm setting up a pxelinux network install server and one operating system I
>> > want to support is freebsd.
>> >
>> > Freebsd has its own pxe loader called pxeboot that you can use. You just
>> > have to boot it from tftp and set the root-path dhcp option (option 17) to
>> > the location of your nfs server with the kernel and network filesystem.
>> >
>> > I want to support multiple versions of freebsd (i386 and amd64) along with
>> > Linux distros and others. The are hackish ways to accomplish this using
>> > memdisk, but thats not a great idea if you want to have a 280MB live cd
>> > image. The most elegant way I can see to do this is to chain load freebsd's
>> > pxeboot loader from pxelinux. The problem is when you do this, the dhcp
>> > root-path option is not set and defaults to /.
>> >
>> > I need to be able to dynamically change this dhcp option before chain
>> > loading into the next pxe boot loader. Essentiallly, I'd like to be able to
>> > do something like this:
>> >
>> > LABEL fbsd32
>> > pxe pxeboot.0 dhcp-root-path=/nfsserv/freebsd/i386/root
>> >
>> > LABEL fbsd64
>> > pxe pxeboot.0 dhcp-root-path=/nfsserv/freebsd/amd64/root
>> >
>> > Is this at all possible with pxelinux?
>> >
>> This is what pxechain.com does.  This assumes that pxeboot.0 gets the
>> DHCP options from memory and not by doing its own DHCP request.
> I don't think so.  pxechain.com overwrites the next-server and filename
> fields in the bootp response, but the OP is asking about a DHCP option,
> "root path", which is something different entirely.  Currently
> pxechain.com doesn't support modifying DHCP options.  I suppose that
> could be added, but it's probably nontrivial.

pxechain.com asks the PXE stack to reconfigure those.

I did start to get into writing a pxechain.c32 that could do full processing.


More information about the Syslinux mailing list