Skip to content
davejbaxPublic

About

PXE boot server in Go

Topics

Resources

Stars

2 stars

Watchers

2 watching

Forks

Latest commit

 

History

24 Commits

Folders and files

Repository files navigation

GitHub Release Go Reference Go Report Card Test workflow

Pixie

A PXE boot server written in Go, aiming to make network installations of Linux distributions simple.

Overview

(Note: this project is under construction, and does not yet have any releases)

Pixie aims to provide a lightweight, zero dependency (no system packages required), modern way to support installing Linux on bare metal and virtual machines via UEFI network (PXE) boot.

The main motivation behind this project is to ease the complexity and manual maintenance around this task. Existing solutions for network booting often require many manual steps, such as acquiring and extracting Linux ISOs (and updating them for new OS releases), setting up a TFTP boot directory, installing/running grub-mknetdir, setting up an HTTP(S) server with the installation tree and kickstart files, etc.

In contrast, Pixie requires no external packages, and asks users only to write a simple declarative configuration file and point a DHCP server at its address. Pixie will handle:

  • Generating UEFI bootloaders with GRUB
  • Creating and serving necessary files for boot and installation over TFTP/HTTP
  • Fetching and extracting Linux ISOs for configured OSes
  • Optionally, automatically upgrading OS versions to new minor releases (e.g. Rocky 9.1 -> Rocky 9.4)

Features

Key:

✅ Supported
🚧 Work in progress
⏳ Planned
❌ Unsupported

Feature Status
Boot
UEFI: x86_64 ✅
UEFI: ARM64 🚧
UEFI: i386 ⏳
UEFI: other architectures ❌
BIOS ❌
Bootloader: GRUB ✅
Bootloader: OCI image ⏳
Bootloader: local UEFI file ⏳
Services
TFTP server 🚧
HTTP server ⏳
Bootable ISO creation 🚧
Operating systems
Ubuntu ⏳
Debian ⏳
Rocky Linux ⏳
User-provided Linux ISO ⏳
Non-Linux OS ❌
Deployment
`go install` ✅
Helm chart ⏳
OS package ⏳

About

PXE boot server in Go

Topics

Resources

Stars

2 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages