UEFI PXE booting bug?

Doug Ambrisko ambrisko at ambrisko.com
Fri Oct 31 22:42:28 UTC 2014


I've been testing UEFI PXE booting on a couple of machines.  The loader.efi
works just fine on a Dell R710 ... the kernel has issues but the loader.efi
works fine.  On two other machines it fails and hangs after the 2nd
NFS lookup (the 2nd being the .gz format of the file).  If I add a debug
line as follows then it works instead of failing.  I was wondering if
anyone might see the obvious problem.  Here is the patch:

Index: open.c
===================================================================
--- open.c      (revision 273823)
+++ open.c      (working copy)
@@ -146,6 +146,11 @@
        f->f_dev->dv_close(f);
     if (error)
        devclose(f);
+//printf("HELLO fail: %s %d %s\n",__FUNCTION__,__LINE__,fname); // works
+//printf("fail: %s\n",fname); // works
+printf(fname); // works
+//printf("/boot/defaults/loader.conf\n"); // fails
+//printf("/boot/defaults/loader.conf jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj\n"); // fails
 
  err:
     f->f_flags = 0;

Notice that combinations of printf and fname works.  Just a printf fails.
I haven't dumped the resulting assembler code etc.  This is on -current.
I was wondering if someone might know what the issue could be?  FYI, the
-current kernel fails to boot but a FreeBSD 9.2 with old UEFI support back
ported to it works.

Thanks,

Doug A.


More information about the freebsd-hackers mailing list