Product SiteDocumentation Site

Setting Up a PXE Server

Experience Required

This appendix is intended for users with previous Linux experience. If you are a new user, you may want to install using minimal boot media or the distribution DVD instead.
This section discusses how to set up a Pre-boot eXecution Environment (PXE) boot server for machines that cannot boot from CD, DVD, or USB media. PXE is a special extension of services provided by the Dynamic Host Configuration Protocol (DHCP). It uses a Trivial File Transfer Protocol (TFTP) server to provide minimal boot files to a network client. To set up a PXE boot service on a separate Fedora server on the local network, follow this procedure:
  1. Install the tftp-server, dhcp, and syslinux packages:
    su -c 'yum install tftp-server dhcp syslinux'
    
  2. Edit the /etc/dhcpd.conf file to configure the DHCP server. The following example is a minimal configuration for a network that uses the following configuration:
    • 192.168.1.0/24 addressing
    • Dynamic addresses provided between 192.168.1.200 and 192.168.1.240
    • DHCP/PXE server at IP address 192.168.1.10
    • No other dynamic configuration provided
    allow booting; allow bootp; ddns-update-style interim; ignore client-updates; subnet 192.168.1.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; range dynamic-bootp 192.168.1.200 192.168.1.240; next-server 192.168.1.10; filename "pxelinux.0"; }
    
  3. As the root user, copy the PXE boot image and Fedora boot files to the TFTP server directory.
    su -
    cd /tftpboot
    cp /usr/lib/syslinux/pxelinux.0 .
    
  4. Copy the vmlinuz and initrd.img files from the pxeboot directory on distribution media or a Web mirror to the /tftpboot directory.
  5. Create a minimal /tftpboot/pxelinux.cfg file:
    DEFAULT pxeboot
    TIMEOUT 50
    LABEL pxeboot
          KERNEL vmlinuz
          APPEND initrd=initrd.img
    ONERROR LOCALBOOT 0
    
  6. Turn on the dhcpd, xinetd and tftp services:
    su -c '/sbin/service dhcpd start'
    su -c '/sbin/service xinetd start'
    su -c '/sbin/chkconfig tftp on'
    
Boot the client system and either use the required keys or configure its BIOS to boot from its network interface using PXE. At the boot prompt, hit Enter to boot the default Fedora installation image. If an error occurs, the system boots in its normal configuration, such as a local hard disk.