netboot problem with loader.efi and nfsroot

I am attempting to boot FreeBSD (base.txz and kernel.txz of 14-CURRENT snapshot) over the network with nfsroot.
My DHCP/NFS server is Ubuntu 20.04 and running dnsmasq for DHCP.

It boots a legacy BIOS mode client machine with pxeboot and nfsroot without problem.
My loader.conf is:
Code:
autoboot_delay="-1"
nfs.read_size=8192
boot.nfsroot.options="nolockd"
# pxe
comconsole_port=0x2F8
console="comconsole,vidconsole"
nfsclient_load="YES"
boot_multicons="YES"
boot_serial="YES"
ipmi_load="YES"
if_bge_load="YES"
But once I switch the client machine to UEFI-mode in the BIOS setting and attempt to boot with loader.efi included in the same base.txz, it hangs with the following console output:
Code:
Consoles: EFI console
    Reading loader env vars from /efi/freebsd/loader.env
FreeBSD/amd64 EFI loader, Revision 1.1
(Thu Apr 20 06:47:51 UTC 2023 [email]root@releng1.nyi.freebsd.org[/email])

   Command line arguments: loader.efi
   Image base: 0x89495000
   EFI version: 2.31
   EFI Firmware: Dell (rev 11.257)
   Console: efi (0x20001000)
   Load Path:
   Load Device: PciRoot(0x0)/Pci(0x1C,0x0)/Pci(0x0,0x0)/MAC(549F350864F8,0x0)/IPv4(0.0.0.0)
   BootCurrent: 0004
   BootOrder: 0004[*] 0005 0003
   BootInfo Path: PciRoot(0x0)/Pci(0x1C,0x0)/Pci(0x0,0x0)/MAC(549F350864F8,0x0)/IPv4(0.0.0.0)
Ignoring Boot0004: Only one DP found
Setting currdev to net0:
Loading /boot/defaults/loader.conf
Loading /boot/defaults/loader.conf
Loading /boot/device.hints
Loading /boot/loader.conf
Loading /boot/loader.conf.local
?cLoading kernel...
Failed to load kernel 'kernel'
can't load 'kernel'

can't load 'kernel'

Type '?' for a list of commands, 'help' for more detailed help.
OK

It takes long at `Loading kernel...` message, and until it fails, the packet trace looks like the following:

Code:
22:57:32.439383 IP (tos 0x0, ttl 64, id 51337, offset 7400, flags [none], proto UDP (17), length 948)
    192.168.56.2 > n06: udp
22:58:10.622375 IP (tos 0x0, ttl 64, id 0, offset 0, flags [none], proto UDP (17), length 132)
    n06.916 > 192.168.56.2.nfs: NFS request xid 699 104 read fh Unknown/01000601227184F565CA46E5824C19DE19DF9B9AD3260901DB3E6BE7 8192 bytes @ 0
22:58:10.622628 IP (tos 0x0, ttl 64, id 59246, offset 0, flags [+], proto UDP (17), length 1500)
    192.168.56.2.nfs > n06.916: NFS reply xid 699 reply ok 1472 read REG 555 ids 0/0 sz 27137488 8192 bytes
22:58:10.622638 IP (tos 0x0, ttl 64, id 59246, offset 1480, flags [+], proto UDP (17), length 1500)
    192.168.56.2 > n06: udp
22:58:10.622641 IP (tos 0x0, ttl 64, id 59246, offset 2960, flags [+], proto UDP (17), length 1500)
    192.168.56.2 > n06: udp
22:58:10.622645 IP (tos 0x0, ttl 64, id 59246, offset 4440, flags [+], proto UDP (17), length 1500)
    192.168.56.2 > n06: udp
22:58:10.622648 IP (tos 0x0, ttl 64, id 59246, offset 5920, flags [+], proto UDP (17), length 1500)
    192.168.56.2 > n06: udp
22:58:10.622651 IP (tos 0x0, ttl 64, id 59246, offset 7400, flags [none], proto UDP (17), length 948)
    192.168.56.2 > n06: udp
22:58:15.653285 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has n06 tell 192.168.56.2, length 28
22:58:15.653364 ARP, Ethernet (len 6), IPv4 (len 4), Reply n06 is-at 54:9f:35:08:64:f8 (oui Unknown), length 46
22:58:41.589884 IP (tos 0x0, ttl 64, id 0, offset 0, flags [none], proto UDP (17), length 132)
    n06.916 > 192.168.56.2.nfs: NFS request xid 699 104 read fh Unknown/01000601227184F565CA46E5824C19DE19DF9B9AD3260901DB3E6BE7 8192 bytes @ 0
22:58:41.590129 IP (tos 0x0, ttl 64, id 1418, offset 0, flags [+], proto UDP (17), length 1500)
    192.168.56.2.nfs > n06.916: NFS reply xid 699 reply ok 1472 read REG 555 ids 0/0 sz 27137488 8192 bytes
22:58:41.590140 IP (tos 0x0, ttl 64, id 1418, offset 1480, flags [+], proto UDP (17), length 1500)
    192.168.56.2 > n06: udp
22:58:41.590142 IP (tos 0x0, ttl 64, id 1418, offset 2960, flags [+], proto UDP (17), length 1500)
    192.168.56.2 > n06: udp
22:58:41.590145 IP (tos 0x0, ttl 64, id 1418, offset 4440, flags [+], proto UDP (17), length 1500)
    192.168.56.2 > n06: udp
22:58:41.590148 IP (tos 0x0, ttl 64, id 1418, offset 5920, flags [+], proto UDP (17), length 1500)
    192.168.56.2 > n06: udp
22:58:41.590151 IP (tos 0x0, ttl 64, id 1418, offset 7400, flags [none], proto UDP (17), length 948)
    192.168.56.2 > n06: udp

I also deleted comconsole_port and console lines in loader.conf, and added console="comconsole,efi".

Any help is much appreciated.
 
Last edited by a moderator:
Back
Top