Install IPFire by booting from the network

PXE is a very easy way to boot IPFire and install it. This guide will tell you how to do that.

Motivation

If you need to (re-)install OSses (like IPFire) often its always the same: you have a bunch of CDs laying around, but definitely not the one needed. If you found it -and its an actual version- its scratched, broken or in any other way unreadable. PXE is a way to solve this problem and offers a load of features as well:

  • No need to burn CDs
  • Always the latest version and optional older versions

Preparation

To use this feature you have to prepare your PXE boot environment. Several options, depending on your personal environment and hardware, are available.

Directly boot from the BIOS

Various computers now come with a comfortable BIOS that has a PXE feature. You can jump into the IPFire boot.ipfire.org system as follows:

  • Boot the system and go to the boot menu
  • Select PXE or "network boot"
  • Press Ctrl-B to get to the PXE console
  • Type the following commands:
iPXE> dhcp
DHCP (net0 08:00:27:50:49:37)...... ok
iPXE> chain http://boot.ipfire.org/releases/ipfire-boot/latest/ipxe.kpxe
http://boot.ipfire.org/releases/ipfire-boot/latest/ipxe.kpxe... ok
...

ISO Image

First, the classic CD: Download the special PXE ISO image, burn it to a CD and boot from it:

http://boot.ipfire.org/releases/ipfire-boot/latest/ipxe.iso

It is useful to have a copy of that CD, because you can install any IPFire version available on the menu and don't need to have a copy of every release.

For machines that cannot boot from CD (like Thin clients that were shipped without CD), get an image for TFTP or USB stick (see the following for the USB/TFTP installation):

USB Image

Second, the USB stick - same thing like the CD image. You then will be able to boot from USB.

Download this image:

http://boot.ipfire.org/releases/ipfire-boot/latest/ipxe.usb

and copy it on an empty USB key like this:

cat ipxe.usb > /dev/xda

If you like the guided way, try:

to "install" your GXPE.ISO (and many more) to your USB drive.

Both tools are available for Linux and Windows

PXE Image

Third, the real PXE image that can be downloaded from a TFTP server:

http://boot.ipfire.org/releases/ipfire-boot/latest/undionly.kpxe

To boot from this image, two steps are required (using another IPFire box):

  • Install a TFTP server (pakfire install tftpd) and copy that image to /var/tftpboot.
  • Configure "next-server" and "filename" (with the web interface) in the DHCP configuration menu where "next-server" is the IP address (not FQDN) of your IPFire box and the "filename" is "undionly.kpxe".

Requirements

All 3 possibilities require some prerequisites:

  • A working internet connection
  • A DHCP server on your network that gives your machine a lease (an IP address), a gateway and a valid DNS server.

START

After you burned the image on a CD, installed it on an USB stick or a TFTP server, you can now boot and will see the system getting an address from the DHCP server. The PXE image will load the current release information from the boot.ipfire.org servers and display the menu as shown in the screenshot on the right.

Graphical Menu

The menu can intuitively be used and offers lots of options.

The display adapter (your graphics card) needs to support the vesa mode and a resolution of at least 640x480 pixels.

Text Menu

If your machine does not support the resolution of 640x480 pixels or has any other issues with the vesa menu, it is possible to interrupt the boot process and choose the text menu.

This also works with a serial console.

So what can I do with this menu?

Most of you may want to install IPFire, which is very easy. Simply press the [enter] button and the most recent version will start its installation.

Older versions are available as well in the sub menu and of course you will find some development versions.

When the IPFire team releases a new version, it will automatically be added to the menu, so don't worry about reinstalling/updating the PXE image.

Edit Page ‐ Yes, you can edit!

Older Revisions • April 29 at 8:25 pm • Jon