possible bug in pxeboot with TFTP support



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



_______________________________________________
freebsd-stable@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: epatec boot pxe problem
    ... >> And booting stops. ... Make sure the BIOS tries to boot PXE first. ... The workstation locks after normal pxe booting. ... normal boot lines until arrival at the point of the USB test. ...
    (Fedora)
  • Re: Linux on more than one PC104 wont boot
    ... PC104 board that maps the compact flash to a different ide interface. ... Otherwise you could try to boot from both devices - if booting from ... get a /dev/root device as my root filesystem. ...
    (comp.os.linux.embedded)
  • Re: Diskless clients on x86 platform
    ... >like booting up the clients isn't as easy as building the server was. ... the bootable floppy I created from the Solaris CD media ... The Solaris booting systems has two ways of booting from a ethernet ... PXE which doesn't require a realmode driver but only a real driver ...
    (comp.unix.solaris)
  • Re: failure to boot
    ... > INIT: version 2.85 booting ... was to remount the root filesystem as read-write. ... able to edit files through a text terminal. ...
    (Fedora)
  • Re: Accidentally removed /dev/dsk/c* and /dev/dsk/r*
    ... You can also repair while booting from the corrupted disk as long as ... Solaris 9 and earlier ... "physical path for root filesystem" ... Just the root filesystem is mounted read-only by the kernel ...
    (comp.unix.solaris)