pxeboot, NFS and root-path: bug or documentation error?

Brian Candler B.Candler at pobox.com
Fri Jun 24 17:03:21 GMT 2005


I have been setting up a pxeboot "jumpstart" environment for FreeBSD 4.11, 
following the instructions at 
http://www.freebsd.org/doc/en_US.ISO8859-1/articles/pxe/

Rather than build pxeboot like this:
# rm -rf /usr/obj/*
# cd /usr/src/sys/boot
# make
# cp /usr/src/sys/boot/i386/pxeldr/pxeboot /usr/tftpboot
I just copied /boot/pxeboot from the FreeBSD-4.11 CD-ROM. Otherwise I followed 
the instructions very closely.

The pxeboot client machine is a Compaq ProLiant DL380.

On first attempt, it got as far as pxeboot starting, and then:

  pxe_open: server addr: 192.168.0.1
  pxe_open: server path: /pxeroot
  pxe_open: gateway ip: 0.0.0.0
  Booting [kernel]...
  can't load 'kernel'
  can't load 'kernel.old'

And my NFS server logs a failed attempt to mount /pxeroot:

  Jun 24 16:32:40 sr-mon-00 mountd[642]: mount request from 192.168.0.240 for 
non existent path /pxeroot
  Jun 24 16:32:49 sr-mon-00 last message repeated 59 times

This is strange; I thought that at this stage pxeboot would be pulling across 
the kernel and ramdisk via TFTP from /usr/tftpboot, although the 
documentation is far from clear. pxeboot(8) says:

     pxeboot recognizes next-server and option root-path directives as the
     server and path to NFS mount for file requests, respectively, or the
     server to make TFTP requests to.

(Erm, so exactly how do I choose whether to use NFS or to use TFTP for the 
next stage?)

Anyway, assuming that I'm forced to use NFS at this point, I added another 
DHCP option:

  option root-path "192.168.0.1:/usr/tftpboot";

This option is not shown in the example dhcpd.conf in pxeboot(8), nor in the 
article referred to above. However, if I also put an entry in the NFS 
server's /etc/hosts file for the client DHCP address, it then works properly.

So the question is: when pxeboot runs on the client, is it able to fetch 
loader.rc, the kernel and ramdisk via TFTP, or only via NFS?

If it's only NFS, then I think the pxeboot(8) manpage, and the pxeboot 
article, ought to be updated. If it *can* use TFTP, does anyone have any 
suggestions for what I was doing wrong?

Regards,

Brian Candler.


More information about the freebsd-stable mailing list