Categorygithub.com/davejbax/pixie
module
0.0.0-20250116000437-9e4744c03049
Repository: https://github.com/davejbax/pixie.git
Documentation: pkg.go.dev

# README

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

FeatureStatus
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

# Packages

No description provided by the author