I use dnsmasq on my router (I use a small server-grade PC as a router). It’s both a DHCP server as well as a caching DNS. Next to that it also runs a TFTP server. TFTP (Trivial File Transfer Protocol) is a standard for simple file transfers mainly used for network booting.
If you tell a machine to boot from the network, it will basically request an IP through DHCP and with that DHCP response comes a list of available network boot options. Each option is contains the name of a file it can load from the TFTP server. If you select one of the options, it will download that file and execute it. That file will usually be a bootloader (like Grub) which will then take over the boot process.
I have set up a bunch of different network boot options, including a Debian installer, a small Linux rescue system and Memtest86+ . That way I can always network-boot any machine on my LAN to either install an OS or diagnose problems.
Interesting. How do you host that?
I use dnsmasq on my router (I use a small server-grade PC as a router). It’s both a DHCP server as well as a caching DNS. Next to that it also runs a TFTP server. TFTP (Trivial File Transfer Protocol) is a standard for simple file transfers mainly used for network booting.
If you tell a machine to boot from the network, it will basically request an IP through DHCP and with that DHCP response comes a list of available network boot options. Each option is contains the name of a file it can load from the TFTP server. If you select one of the options, it will download that file and execute it. That file will usually be a bootloader (like Grub) which will then take over the boot process.
I have set up a bunch of different network boot options, including a Debian installer, a small Linux rescue system and Memtest86+ . That way I can always network-boot any machine on my LAN to either install an OS or diagnose problems.