PXEboot

From Wildsong
Jump to navigationJump to search

I set up my Via EPIA 800 to run Debian using this method. I use it to configure servers at remote locations with just a little bit of help from local people. ("...Now push the reset button. Thanks.")

Using PXEboot with Debian

  1. Client requests network information from BOOTP / DHCP server
  2. Client requests kernel via TFTP

On the Debian server

Install these packages

dhcp server: dhcp3-server

tftp server: tftpd-hpa
When the installer asks "Should it be started from inet?", say 'yes'

tftp client: (useful for testing the server) tftp-hpa

Configuration

Generally I put a configuration for each machine into /etc/dhcp3/dhcpd.conf so that I have control over what happens when a given machine connects. The critical lines to add to dhcpd.conf are

host clientname {
  hardware ethernet mac-address;
  fixed-address ip address of your chosing;
  filename "pxelinux.0";
}

This tells the client what file to grab via tftp. The files for tftp live in /var/lib/tftpboot.

Many Linux distributions have network install support. You just have to poke around to find the files.

Booting the client

Set the client to boot from LAN or Network. Then boot it.

  • You should see the "UNDI" boot stuff. Notably you should see the client

get the IP address that you set up for it in dhcpd.conf.

  • You should see it connect to the tftp server.

Customizing for serial console

More information

Remote Network Boot via PXE
Installing Debian via PXE