[syslinux] run FreeBSD "pxeboot" from pxelinux.0?

McMahon, Chris CMcMahon at loronix.com
Fri Nov 14 13:17:30 PST 2003

	Doing ls -al on pxeboot.0 shows 157696. This is the generic
"pxeboot" program from FreeBSD 4.8.   
	pxeboot's operation is very similar to pxelinux, but more simple:
pxeboot simply finds and loads a FreeBSD kernel, then a FreeBSD filesystem
called "mfsroot".  Access to the kernel and mfsroot is (in my case) over
NFS-- but I'm not even getting that far. pxeboot relies on the "option
root-path" DHCP parameter for access to the NFS filesystem.  
	pxeboot may access the kernel/mfsroot with TFTP, but that option
must be enabled at compile time, and I have not done that.  I will if I have
to. But again, I'm not getting that far. 
	One additional note: upon closer examination, there seems to be some
sort of message on the screen in the split-second before the first reboot,
but it disappears too fast to read.  I'll try to capture it, but don't
expect too much... 

-----Original Message-----
From: H. Peter Anvin [mailto:hpa at zytor.com] 
Sent: Friday, November 14, 2003 1:35 PM
To: McMahon, Chris
Cc: 'syslinux at zytor.com'
Subject: Re: [syslinux] run FreeBSD "pxeboot" from pxelinux.0?

McMahon, Chris wrote:
> Hello, I hope this doesn't bounce again...
> 	I'm having trouble passing control of the PXE process from PXELINUX
> to the 
> FreeBSD "pxeboot" program.
> 	I tried invoking "pxeboot" from the PXELINUX "boot:" prompt. This
> causes an error "Invalid or corrupt kernel image."  
> 	I named pxeboot "pxeboot.0" and tried invoking pxeboot.0 from the
> PXELINUX "boot:" prompt.  (This causes an immediate reboot with no
> messages and the second attempt causes a "TFTP server does not support the
> tsize option" error message.  Very strange-- I'm using tftp-hpa.)   
> 	I don't see the syntax to invoke another NBP in the documentation--
> has anyone here done that?
> 	Thanks... 
> -Chris      

It should work with "pxeboot.0".  The particular sequence of events you
describe is very weird; I suspect what happens is that after reboot the
server is still trying to resend the final packet, which means it never
got the last ACK.

A few questions:

- How big is pxeboot.0?

- What does one need to run this pxeboot platform?

I'd be interested in looking it over; I have been able to reproduce it
to some minor degree here -- running pxelinux.0 over and over seems to
consistently reboot on the second(!) attempt, which seems to imply
something is not handled correctly and is left in a broken state.


More information about the Syslinux mailing list