netbooting, or PXE booting is the process of booting a computer by having the computer pull it's bootloader and operating system from over the network, as opposed to getting it from a local disk.
What is it good for?
Netbooting is useful for:
- computer forensics
- diskless machines
- massive deployments
- computer re-imaging
Advantages of netbooting over booting from local media include:
- central location of images makes maintenance (backups, updates, etc) easier
- no optical media is needed to try a new image
- no moving parts involved on client machines
Disadvantages of netbooting over booting from local media:
- security -- the booting computer must trust the network, at least for current protocols.
How does it work?
Most relatively new computers support netbooting. What you need is:
- a network card that supports PXE booting, and
- a BIOS able to recognize the PXE-booting capabilities of the network card.
Most recent computers which have built-in ethernet ports support netbooting, though they might not call it that explicitly in the BIOS.
If you computer supports it, you just need to start the computer, go into the BIOS and tell it to use the network card to boot.
The client will use BOOTP or DHCP to obtain an IP address from the network. The BOOTP or DHCP server will also instruct the client where its "next server" is, and a location on that server to pull the next boot image, usually a bootloader. The client's BIOS then pulls in this second image via TFTP.
Setting up a netboot environment
Setting up a netboot environment on a LAN is not difficult, but it does require control over one service you might not have access to: the dhcp server. Assuming you are in control of the DHCP server on your network (or no DHCP server already exists), here's what you need to get a netboot environment setup:
- a DHCP server: there are various flavors available, but dhcp3-server is the standard
- a TFTP server: tftpd-hpa, atftpd, etc.
- a network bootloader: pxelinux, pxegrub, etc.
- a network bootable OS image:
setting up the dhcp server
setting up the tftp server
setting up the tftp boot director on the tftp server
- the debian installer instructions include a section on setting up a netboot environment to do debian installs.