[syslinux] Chainloading pxe boot loaders and dhcp root-path option
Jeffrey Hutzelman
jhutz at cmu.edu
Mon May 16 13:34:01 PDT 2011
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.
-- Jeff
More information about the Syslinux
mailing list