[syslinux] Network booting FreeBSD with gpxelinx almost works

Daniel Feenberg feenberg at nber.org
Fri Oct 1 13:13:36 PDT 2010


>On Mon, Sep 27, 2010 at 16:27, Gene Cumm <gene.cumm at gmail.com> wrote:

>> On Sun, Sep 26, 2010 at 11:50, Daniel Feenberg <feenberg at nber.org> wrote:

>>> We have been network booting FreeBSD for some time with pxeboot. But now we
>>> would like to have menu of OSs to boot and got the idea somewhere that
>>> gpxelinux could do that for us. We copied gpxelinux.0 from the syslinux-4.02
>>> distribution and replaced pxeboot with "gpxelinux" in the dhcpd.conf file.
>>> Indeed with a configuration file in pxelinux.cfg like this:
>>>
>>>  default freebsd
>>>  label freebsd
>>>    PXE pxeboot
>>>
>>> and the root path still specified as a DHCP option, FreeBSD 8.1 does boot.
>>> If I replace the first line with:
>>>
>>>  UI menu.c32
>>>
>>> the client does display the menu but if one hits return to select the single
>>> item offered the client merely hangs for a minute, then announces "boot
>>> failure". I am guessing that once the UI is interposed, somehow the root
>>> path isn't getting transmitted to pxeboot. All the other gpxelinux boot
>>> kernels seem to expect the information about the root filesystem to be
>>> specified in the pxelinux.cfg file, rather than in dhcpd.conf. Does anyone
>>> have experience with this? The various web posting I have found linking
>>> FreeBSD to gpxelinux are about installations from ISO files over the net.
>>
>> This sounds like it's an issue specific to menu.c32 and the kernel
>> type PXE.  Have you tried creating a copy of pxeboot as pxeboot.0?

It turns out it isn't just menu.c32, as any time there is more than one 
boot choice the problem will occur, even without menu.c32.

>> If, somehow, menu.c32 is messing up and using the file extension as
>> the kernel type or not passing the kernel type parameter properly,
>> this might be an interim solution until another solution is found.
>
>

> On Mon, Sep 27, 2010 at 17:12, Ferenc Wagner <wferi at niif.hu> wrote:

>> Does this message come from pxeboot?

I don't know - does either pxeboot or gpxelinux preface error messages with an 
indication of the program responsible? It is the first text after choosing the 
menu item.

>> Just an idea: can you try with pxelinux.0 instead of gpxelinux.0?

Just tried it, and yes it works with pxelinux. Thank you! Probably we will just 
switch to using pxelinux, and forget about gpxelinux, but gpxelinux does have some 
advantages so it is a pity it doesn't work for us.

>I just tested with both pxelinux.0 and gpxelinux.0 from 4.02 to load a
>PXE file pxeboot (Syslinux-4.01 pxelinux.0 renamed) with and without

Not sure what you mean here. If you renamed pxelinux.0 to pxeboot then I am not 
surprised that pxelinux.0 ran, but how does that help me boot FreeBSD? Or did you 
mean something else? FreeBSD has its own bootloader, called "BTX Loader 1.0" but 
with the filename "pxeboot", and not the same as pxelinux, right?

> menu.c32 with everything working with an identical config when using
> the boot file option of "/pxelinux.0", "pxelinux.0", or "2/pxelinux.0"
> (another copy of some stuff in a new directory to test a prefix
> theory).

Since my first posting I have discovered that the mere presence in the 
configuration file of 2 choices will cause gpxelinux to fail at selection even 
without the menu statement. For example, with the configuration file:

   default freebsd
   label freebsd
     PXE pxeboot8

will boot FreeBSD correctly but the following does NOT work:

   default freebsd
   SAY This is a test
   label freebsd
     PXE pxeboot8
   label other
     kernel foo

It prints "This is a test" and hangs. This is with dhcp config specifying 
root-path, like so:

    next-server 66.251.72.1;
    filename "gpxelinux.0";
    option root-path "66.251.72.44:/vol/vol1c/FreeBSD-8.1-root";


Again, changing gpxelinux to pxelinux does cure the problem.

I have to apologize for posting this in a way that breaks threading, but the 
replies never got to my mailbox, and I had to synthesize this message from the 
syslinux archive.

Thanks to all

Daniel Feenberg
(with assistance from Alex Aminoff)
NBER




More information about the Syslinux mailing list