Date: Fri, 31 May 2024 18:23:01 +0200 (CEST) From: Chris Moerz <freebsd@ny-central.org> To: FreeBSD Virtualization Mailing List <freebsd-virtualization@freebsd.org> Subject: PXE boot with bhyve Message-ID: <b916cf77-5f5d-e9b7-ba86-d4af7b9e4fb4@ny-central.com>
next in thread | raw e-mail | index | archive | help
Hi everyone, I've attempted to boot a diskless guest via PXE. Unfortunately, it's not working for me. Here's what I have done and tested successfully. All involved systems are FreeBSD 14.0-RELEASE: - NFSv3 setup on guest 1 "NFS server" exports /nfs and all subdirectories with -maproot=0 base.txz, kernel.txz both extracted into /nfs/vmname duplicated the guest's /boot dir onto /nfs/vmname/boot for testing - TFTP set up via inetd on guest 1 "NFS server" /tftpboot contains copy of /boot/pxeboot alternatively, I also recompiled pxeboot without ZFS support - DHCP set up on host, listening on the bridge that all guests are on announces the relevant BOOTP options option root-path "xxx.xxx.xxx.xxx:/nfspath/vmname" filename "pxeboot" - Booted a test guest 2 "NFS client" confirmed NFS mount is working, files can be written onto NFS mount confirmed TFTP download is working - Booted a diskless guest 3 "Diskless client" PXE starts, gets DHCP announcement, downloads "pxeboot" and then fails Here's what I see on guest 3 serial console: >>Start PXE over IPv4. Station IP address is 10.193.167.3 Server IP address is 10.193.167.2 NBP filename is pxeboot NBP filesize is 415744 Bytes Downloading NBP file... NBP file downloaded successfully. BdsDxe: failed to load Boot0001 "UEFI PXEv4 (MAC:000000FFFF03)" from PciRoot(0x0)/Pci(0x4,0x0)/MAC(000000FFFF03,0x1)/IPv4(0.0.0.0,0x0,DHCP,0.0.0.0,0.0.0.0,0.0.0.0): Not Found >>Start PXE over IPv6 - Ran a tcpdump on the bridge and investigated the dump with wireshark I can see that the DHCP packet looks good and contains all relevant options, including the root path to the NFS server. Now, I've established that everything works up to the point when pxeboot should take over and load the kernel. However, there's never any NFS access. How do I troubleshoot this? I've got the feeling that the pxeboot is not really getting launched? The fact that I'm getting IPv4(0.0.0.0... looks like I'm also not getting the relevant network settings into the execution process? Any suggestion is very much appreciated. Let me know if you have any questions that may help shed more light into this. Thanks chris
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b916cf77-5f5d-e9b7-ba86-d4af7b9e4fb4>