Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Mar 2007 15:16:15 -0400
From:      "Ryan J. Taylor" <rj@rjt.org>
To:        freebsd-stable@freebsd.org
Subject:   possible bug in pxeboot with TFTP support
Message-ID:  <46081BFF.3000803@rjt.org>

next in thread | raw e-mail | index | archive | help
Hi all,

I compiled pxeboot with TFTP support by doing:
cd /usr/src/sys/boot
make -DLOADER_TFTP_SUPPORT

I have clients booting via PXE and grabbing their root filesystem from a 
memory disk.  However, there was a long delay in the boot sequence. 
tcpdump revealed that after downloading pxeboot, the client was sending 
RPC traffic, presumably looking for NFS.  This caused the boot to stall 
for 30 seconds or so until the loader spit out "NFS MOUNT RPC error: 60" 
and then continued booting via tftp.

I traced the error string back to /usr/src/sys/boot/i386/libi386/pxe.c 
and came up with a hack that skips the RPC probes and speeds the boot 
for me.

pxe-server# diff -u sys/boot/i386/libi386/pxe.c.orig 
sys/boot/i386/libi386/pxe.c
--- sys/boot/i386/libi386/pxe.c.orig    Mon Mar 26 14:50:19 2007
+++ sys/boot/i386/libi386/pxe.c Mon Mar 26 14:46:02 2007
@@ -443,9 +443,10 @@
          * ourselves. Use nfs_root_node.iodesc as flag indicating
          * previous NFS usage.
          */
-       if (nfs_root_node.iodesc == NULL)
-               pxe_rpcmountcall();
-
+/* XXX
+ *     if (nfs_root_node.iodesc == NULL)
+ *             pxe_rpcmountcall();
+ */
         fh = &nfs_root_node.fh[0];
         buf[0] = 'X';
         cp = &buf[1];


I'm wondering if someone with a clue can take a peek and confirm that 
things ought to behave differently.  What I've stumbled across doesn't 
break PXE booting with a TFTP root filesystem, it just makes it much 
slower.  Maybe I'm doing something wrong?


Regards,
RJ






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46081BFF.3000803>