Etherboot is a software package for creating ROM images that can download code over an Ethernet network to be executed on an x86 computer. Many network adapters have a socket where a ROM chip can be installed. Etherboot is code that can be put in such a ROM.
Etherboot is Open Source under the GNU General Public License Version 2 (GPL2).
Etherboot is normally used for for booting PCs diskless. This is useful in various situations, for example:
Etherboot can boot computers faster than from a disk because there are no delays in spinning up disks, etc. A moment’s calculation will show that even with a 10Mbit Ethernet, sending a 500kB kernel will take only a couple of seconds typically. With 100Mbit Ethernet it gets even better.
Compared to booting from solid-state devices, e.g. Flash disks, Etherboot has the advantage of centralising software adminstration, the tradeoff being the dependence on a server. This can be partly alleviated by providing redundant servers.
Etherboot can work with RAM disks, NFS filesystems, or even local disks, if desired. It’s a component technology and can be combined with other technologies to do things the way you want.
Etherboot is usually used to load Linux, FreeBSD or DOS. However the protocol and boot file formats are general, so there is no reason why it could not be used to load arbitrary images to a PC, including other OSes.
The components needed by Etherboot are