LOADER_TFTP_SUPPORT seems to have been broken by the update in svn r318987.
Details
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 11695 Build 12041: arc lint + arc unit
Event Timeline
This is busting all the effort of avoiding to define tftp or NFS at build time, isn’t it?
I'm unsure as what I can tell is that the current version of pxeboot won't tftp an MFSroot + Kernel in its current state.
Its possible that I just don't know what the magical incantation is in dhcpd.conf to get it to work right, but tcpdump doesn't show a TFTP req if this code isn't in place.
I can not check the man pxeboot right now, but we have tftp:// prefix etc. I am not sure if the man has received the update, or it is just a,bout the source.
Indeed. My assumption was that using tftp://IP/<path> or tftp:/<path>/ would work. It does not.
yep, pxeboot man does provide examples.
There is one issue I have found; and thats about the dhcp.conf, apparently the user-class option may need different approach on check:
if substring (option user-class, 1, 7) = "illumos" { option root-path "nfs://192.168.1.244/export/uefi-oi"; }
thats what I have in my isc dhcpd4.conf - of course for freebsd you would need to replace the user class name.
I went back to the man page, just to validate. I used the example from the man page after rebuilding pxeboot with *defaults*. It defintely does not TFTP in this case.
If I recompile with LOADER_TFTP_SUPPORT=y and this patch, it works.
subnet 192.168.100.0 netmask 255.255.255.0 { option broadcast-address 192.168.100.255; option routers 192.168.100.1; option domain-name-servers 192.168.0.1; option subnet-mask 255.255.255.0; option tftp-server 192.168.100.1; next-server 192.168.100.1; if exists user-class and option user-class = "FreeBSD" { option root-path "tftp://192.168.100.1/tftpboot/"; } host QEMU { hardware ethernet 52:54:00:12:34:56; fixed-address 192.168.100.55; filename "/boot/pxeboot.mfs"; } }
The issues I was running into seem to be related to my attempts to use the old way/old documentation. I can tftp a kernel/ramdisk with the default options.