Building a PXE server to boot/install Linux on diskless clients

Home

Summary

I needed to install RedHat on a client device that currently had Windows XP installed on CF media. The board in the device had no floppy or hard disk headers, and the BIOS did not support booting from a USB floppy or CD-ROM drive. This particular board, as with many recent PC and embedded motherboards, supports the Preboot eXecution Environment (PXE) which allowed me to boot and install RedHat 9.0 on the device over the network. The following is a quick outline of how I set up my RedHat 7.3 workstation as the boot server.

Requiremens

  1. Client needs to support PXE Boot UNDI (at least 2.0) in the system BIOS.
  2. Client needs a NIC that supports PXE.
  3. DHCP server (included in the standard RedHat distro)
  4. TFTP server (included in the standard RedHat distro)
  5. PXELINUX (download and a similar tutorial are here)

Client

  1. Switch the boot order in the BIOS so that PXE is first
  2. Boot the client and copy down the MAC address while it is looking for the DHCP server

Server

  1. Install a DHCP daemon
  2. Install a TFTP server
  3. Compile pxelinux
  4. Install the boot images
  5. Boot the client and do a network RedHat install

garth[at]tunnel19[dot]com
Last modified: Fri Apr 9 22:53:26 PDT 2004