…then this may be the reason… took me hours to figure out. Had to get it going for a netboot project, and the netboot just kept circling around the boot image download without getting much anywhere. First, check out Bombich’s troubleshooting, which put me on the right track without actually giving me the solution, but maybe that’s because my particular problem is relatively new. It may have been introduced with Snow Leopard.
What happened in my case is that I was able to download an image using the form:
tftp myserver.local get NetBoot/NetBootSP0/Netinstall.nbi/i386/booter
…but not using the form:
tftp 172.25.26.27 get NetBoot/NetBootSP0/Netinstall.nbi/i386/booter
even though the “myserver.local” name pointed to the IP 172.25.26.27. At least, that’s what I presumed until I whipped out Wireshark and found out that using the “myserver.local” name resolved to an IPv6 address, not the IPv4 address I expected.
Next, I ran this on the server:
sudo lsof -i :69 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME launchd 1 root 144u IPv6 0x0a9ab4a0 0t0 UDP *:tftp
Aha! The tftp server only runs IPv6 for some reason. That explains it.
To fix this, go into the tftp.plist file with pico:
sudo pico /System/Library/LaunchDeamons/tftp.plist
and add the optional key for IPv4 a bit down:
... <key>Sockets</key> <dict> <key>Listeners</key> <dict> <key>SockServiceName</key> <string>tftp</string> <key>SockType</key> <string>dgram</string> <key>SockFamily</key> <string>IPv4</string> </dict> </dict> ...
After that, all you need to do is stop and restart tftp:
sudo launchctl unload /System/Library/LaunchDaemons/tftp.plist sudo launchctl load -w /System/Library/LaunchDaemons/tftp.plist
Then check that the port is working on IPv4 as well:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME launchd 1 root 144u IPv6 0x0a9ab4a0 0t0 UDP *:tftp launchd 1 root 150u IPv4 0x07e2ee14 0t0 UDP *:tftp
After that, retry the tftp get command using both IPv4 and “myserver.local” addressing. Should work now. I must admit I don’t understand why IPv6 keeps working, though. Oh well, not that it bothers me, but it bothers me a little bit.
Update: this post is correct, but it still didn’t solve my problem, so please see next blog post for more, at least if you’re doing netboot stuff on Snow Leopard
One thought on “OSX SL tftp doesn’t work?”