kern/90368: pxeboot misses ${class} parameter when booting from dhcp (contrary to "man diskless")

Daniel Feenberg feenberg at
Tue Dec 13 15:20:25 PST 2005

>Number:         90368
>Category:       kern
>Synopsis:       pxeboot misses ${class} parameter when booting from dhcp (contrary to "man diskless")
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Dec 13 23:20:03 GMT 2005
>Originator:     Daniel Feenberg
>Release:        6.0 RELEASE  #0
National Bureau of Economic Research
FreeBSD 6.0-RELEASE FreeBSD 6.0-RELEASE #0: Thu Dec  1 05:39:4
2 UTC 2005     root at  i386       
The man page for "diskless" describes using bootd or dhcpd to distribute to clients a class name which specifies certain files to override defaults in the client /etc and /var directories. 

However, pxeboot does not support the bootp.kernel_cookie (T134) feature required for this to function with dhcp. Here is the relevant comment from net at by Doug White:

See above.
I suppose the "bug" could be fixed by changing the documentation or the code but it would be a valuable feature if supported as documented.
 >From my reading of the source, vendor-option 134 is only parsed by the
 >nfsclient bootp code which is activated with the BOOTP kernel option.  If
 >you want to use that feature via PXE then pxe_open() in
 >src/sys/boot/i386/libi386/pxe.c needs modification, specifically to parse
 >the array in bootplayer.d.
 >pxeboot passes its information via kenv and would require a bit of code
 >hidden somewhere to convert it into a sysctl to maintain compatibility
 >with the BOOTP feature.
 >Doug White                    |  FreeBSD: The Power to Serve
 >dwhite at

More information about the freebsd-bugs mailing list