Skip to main content

Introduction

With PXE, an edge device installs EVE-OS (Edge Virtualization Engine) over the network instead of from a USB drive. This is useful for testing EVE-OS versions, where devices are reinstalled regularly, and for deploying EVE-OS to many edge devices. This article describes how to set up a PXE server for EVE-OS 6.3.0 through 13.3.0 on 64-bit x86 (amd64) edge devices with UEFI. For EVE-OS 13.4.0 and greater, refer to Install EVE-OS over the Network with PXE. EVE-OS versions before 6.3.0 do not support network installation.

Overview

The PXE server needs:
  • Three services: DHCP (Kea), TFTP (tftp-hpa), and HTTP (NGINX), running as Docker containers.
  • Seven files from the EVE-OS netboot archive, copied to the folders of the TFTP server and the web server.
  • One changed file: ipxe.efi.cfg, which contains the web server address and all installation settings.
The edge device requests the files in this order:
All installation settings come from ipxe.efi.cfg. No GRUB and no installer.iso are involved.

Prerequisites

  • A PXE server host running Linux, with a static IP address on the imaging network. The containers use network_mode: host, which gives them direct access to the host network. DHCP and TFTP require this. Docker Desktop on macOS and Windows does not provide host networking in the same way, so it is not suitable for the PXE server.
  • Docker Engine 23.0 or greater on the PXE server host. That release and later include Docker Compose v2, which provides the docker compose command used in this article. The older docker-compose command with a hyphen is Compose v1 and is not supported.
  • Network access from the PXE server host to Docker Hub, to download the EVE-OS netboot archive and the container images.
  • The EVE-OS version to install, 6.3.0 through 13.3.0.
  • An edge device with 64-bit x86 (amd64) architecture and UEFI firmware, able to boot from the network or from a hard disk that you can write to.

Values Used in the Examples

All examples in this article use the following values. Replace them with the values of your network.

Decisions Before the Setup

The decisions on boot order (testing or fleet deployment) and network (single network or staged) are the same as for EVE-OS 13.4.0 and greater. Refer to “Decisions Before the Setup” in Install EVE-OS over the Network with PXE.

HTTP Setup

Services: Docker Compose with Kea, tftp-hpa, and NGINX

The directory structure, docker-compose.yml, custom.conf, and kea-dhcp4.conf are the same as for EVE-OS 13.4.0 and greater. Refer to “Services: Docker Compose with Kea, tftp-hpa, and NGINX” and “DHCP: Kea configuration” in Install EVE-OS over the Network with PXE.

Files: netboot archive, placement, and changes

  1. Change to the artifacts folder, then download and extract the netboot archive.
  1. Copy the files to the following folders.
  1. In ./tftp/tftpboot/ipxe.efi.cfg, set the following lines. Leave all other lines unchanged, in particular the kernel line and the four initrd lines that follow it.
Note the following about these lines.
  • set url ships commented out as # set url https://foo.bar/. Add the line or uncomment it. The trailing slash is required, because iPXE appends each artifact name directly to this value.
  • set console ships with a longer list that covers more serial ports: console=ttyS0 console=ttyS1 console=ttyS2 console=ttyAMA0 console=ttyAMA1 console=tty0. Keep the console that your hardware uses. The example narrows the list to two.
  • getty starts a login shell on the consoles during installation, which is useful for diagnosing a failed install. It is part of the shipped default. Remove it only if you do not want console login during installation.

Start and install

  1. In the pxe folder, start the containers.
  1. Start the edge device.

Troubleshooting

For more diagnostics, refer to Troubleshoot EVE-OS Installation.

Onboarding

Onboarding is the same as for EVE-OS 13.4.0 and greater. Refer to “Onboarding” in Install EVE-OS over the Network with PXE.

Next Steps

Install EVE-OS over the Network with PXE

PXE setup for EVE-OS 13.4.0 and greater.

Onboard an Edge Node

Register the edge node in Edge Infrastructure Services after installation completes.

Get EVE-OS

Download EVE-OS images and netboot archives.

Troubleshoot EVE-OS Installation

Diagnose installation failures and common PXE boot errors.