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.
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 composecommand used in this article. The olderdocker-composecommand 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
- Change to the
artifactsfolder, then download and extract the netboot archive.
- Copy the files to the following folders.
- In
./tftp/tftpboot/ipxe.efi.cfg, set the following lines. Leave all other lines unchanged, in particular thekernelline and the fourinitrdlines that follow it.
set urlships 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 consoleships 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.gettystarts 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
- In the
pxefolder, start the containers.
- 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.