Revision 7 as of 2006-03-29 11:18:32

Clear message

Introduction

This will guide you through running an Ubuntu server as PXE install server. You'll need to run a DHCP server on your network, not necessarily this server but you do need one. Some of the packages we'll install come from universe, so make sure you have it listed as a repository.

This document is work in progress, I'm typing it as I do this myself.

Installing needed packages

You'll need to install a few packages

sudo apt-get install tftpd-hpa syslinux netkit-inetd

If this is also going to be your DHCP server, install DHCPD

sudo apt-get install dhcp3-server

Configure dhcpd

If your pxe server is also your dhcp server, you'll need something like this in /etc/dhcp3/dhcpd.conf

subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.100 192.168.0.200;
        filename "/tftpboot/pxelinux.0";
}

If you have an existing dhcp server, you should point it to your pxe server by doing something like the following

subnet 192.168.0.0 netmask 255.255.255.0 {
    <other config here>
    filename "pxelinux.0"
    next-server <pxe host>;
}

Configure tftpd-hpa

tftpd-hpa is called from inetd. The options passed to tftpd-hpa when it starts are thus found in /etc/inetd.conf

Change the path at the end to point to /tftpboot, your /etc/inetd.conf should then look like this

tftp    dgram   udp    wait    root    /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /tftpboot

Create the tftpboot directory and it's needed files

sudo mkdir /tftpboot
sudo ln /usr/lib/syslinux/pxelinux.0 /tftpboot/