Remote Network Boot via PXE
Let's say you're responsible for a network of 100 computers
shared by students. What do you do if one of those computers
starts acting funny? If you're like me, you'll just do a
clean install of the operating system. But that's a lot of
work, especially if you have to do it several times a week.
Fortunately, most PCs sold since 2001 follow the
guidelines from Intel and Microsoft, which among other things
says that new computers with Ethernet interfaces must implement two
useful features: wake-on-LAN and network boot.
If your BIOS is set to enable Wake-On-LAN, and is off, it will turn
itself on when it receives a packet containing 6 bytes of FFh followed
by 16 copies of its Ethernet address. (See
the Wake-On-Lan mini-HOWTO
for more details.) This can be used to help force reinstalls of the
operating system in the middle of the night, when nobody's there.
There are several ways computers can boot over a network,
but the one mandated by PC99 is called PXE.
PXE is a kind of DHCP extension, so all you need is an
up-to-date DHCP server and a TFTP server.
Back when PC99 and PXE were new, the normal DHCP server
hadn't yet been updated to handle PXE, so Red Hat created
a package called 'pxe', and has shipped it with all versions
of their Linux since 6.2. You probably don't want to use
it, though, now that the normal ISC DHCP software shipped
with Linux can handle PXE.
Together, a DHCP server and a TFTP server can be set up
to handle PXE boot requests. It's up to you what to give
the PCs when they boot; several possibilities include
- Another bootloader, for instance:
- The network install boot image from a Linux distribution,
- or whatever evil program you desire.
It should be mentioned that
from a bad server is a big potential security hole, so one should avoid
booting over network connections or from servers that are not physically secure.
Examples / Recipes / Articles
Distributions of Linux designed to run as thin clients or diskless workstations
- LTSP - includes server setup tools, too
- PXES - supports connecting to Windows Terminal Servers, too
- Knoppix - a demo CD-ROM edition of Linux. Can boot remotely via PXE from a server already running KNOPPIX. Useful for clients that have a network card but no CD-rom drive.
Tools for Remote Booting and Installing
Using PXE to install Linux
Using PXE to boot diskless Linux
Using PXE to boot thin client Linux
Related whitepapers and magazine articles
- Remote Linux Explained, by Richard Ferri. Linux Journal, January 2002
- Network Booting of a diskless Linux device with PXE and PXELINUX, by Matt Butcher. Linux Devices, January 2002
- Network Booting a Linux STB with PXE HOWTO, by Matt Butcher. Linux Devices, January 2002
- Linux Based Diskless Workstations,
by Ewen McNeill, Naos Limited. Presented at NetForum 2000, October 2000.
- Diskless GNU/Linux, by Linux User Group Bolzano-Bozen-Bulsan. German. Good links.
- Keeping Resources on the Right Track, by Ron Anderson. Network Computing, October 29, 2001. Covers commercial remote installation tools for that other operating system. (I list it here for comparison only.)
- Installing Linux High Performance Computing Clusters, by Dell, 2001
- Downloading and Copying Linux OS Images for the bc1100 Server Blade, by HP. A HOWTO for owners of their blade servers.
Schools Using Network Booting for Administration
Here are a few somewhat out-of-date recipes/howtos that might still be of some interest.
Last update: 27 Oct 2002
Copyright 2002, Dan Kegel
[Back to www.kegel.com]