Date: Fri, 24 Jun 2005 13:50:37 -0400 From: John Baldwin <jhb@FreeBSD.org> To: freebsd-ia32@freebsd.org Cc: alfred@freebsd.org, freebsd-stable@freebsd.org, Brian Candler <B.Candler@pobox.com> Subject: Re: pxeboot, NFS and root-path: bug or documentation error? Message-ID: <200506241350.38689.jhb@FreeBSD.org> In-Reply-To: <200506241803.28436.B.Candler@pobox.com> References: <200506241803.28436.B.Candler@pobox.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 24 June 2005 01:03 pm, Brian Candler wrote: > 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? It uses TFTP to fetch the pxeboot binary itself. After that, it uses either NFS or TFTP. By default it uses NFS to access /boot/loader and friends. If you want it to just use TFTP and not use NFS at all, you need to recompile pxeboot with LOADER_TFTP_SUPPORT=yes defined in make. That is: % cd /sys/boot % make clean % make LOADER_TFTP_SUPPORT=yes % cp /usr/obj/usr/src/sys/boot/i386/pxeldr/pxeboot /usr/tftpboot -- John Baldwin <john@baldwin.cx> <>< http://www.baldwin.cx/~john/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200506241350.38689.jhb>