-
Notifications
You must be signed in to change notification settings - Fork 2
ze install
Thomas Mangin edited this page May 24, 2026
·
6 revisions
Pre-Alpha. This page describes behavior that may change.
ze install serve is a one-command provisioning server that PXE-boots target machines with a gokrazy image containing Ze.
- The operator runs
ze install serveon an existing Ze device connected to the provisioning network. - Ze generates a config enabling DHCP (with PXE extensions), TFTP, and an HTTP image server, then forks itself with the config piped to stdin.
- A target machine PXE-boots: DHCP assigns an IP and directs it to the TFTP bootloader, which chain-loads the installer kernel and initrd via HTTP.
- The installer writes the gokrazy image to disk and reboots.
ze install serve \
--interface eth0 \
--network 192.168.1.0/24 \
--image /path/to/gokrazy.img \
--ssh-username admin \
--ssh-password changemeThis starts three servers on eth0:
| Protocol | Port | Purpose |
|---|---|---|
| DHCP | 67/udp | IP assignment with PXE options (bootfile, next-server). |
| TFTP | 69/udp | Bootloader delivery (iPXE for BIOS/UEFI). |
| HTTP | 80/tcp | Disk image and boot file serving. |
The server IP is resolved from the interface's first IPv4 address. Use --address to override.
| Flag | Required | Default | Description |
|---|---|---|---|
--interface |
Yes | Network interface to bind all servers. | |
--network |
Yes | Provisioning subnet CIDR (/8 to /30). | |
--image |
Yes | Path to gokrazy disk image file. | |
--ssh-username |
Yes | Admin username for the installed target. | |
--ssh-password |
Yes | Admin password (bcrypt-hashed before embedding). | |
--address |
No | First IPv4 on interface | Server IP override. |
The DHCP server detects PXE clients via option 60 (PXEClient:) and reads option 93 (client architecture) to select the bootfile:
| Architecture | Bootfile |
|---|---|
| BIOS (type 0) | ipxe.pxe |
| UEFI (type 6, 7, 9) | ipxe.efi |
- Root privileges (DHCP, TFTP, and HTTP bind to privileged ports).
- Bootloader files in
/var/lib/ze/install/tftp/(iPXE binaries). - Installer kernel and initrd in
/var/lib/ze/install/boot/. - Disk image at the path specified by
--image.
Adapted from main/docs/guide/ze-install.md.
Unreviewed draft. This wiki was authored in bulk and has not been reviewed. File corrections on the issue tracker.
- Overview
- YANG Model
- Editor Workflow
- Archive and Rollback
- System
- Interfaces
- VRRP
- BFD
- FIB
- OSPF
- IS-IS
- MPLS / LDP / RSVP-TE
- RSVP-TE
- SRv6
- Static Routes
- Policy Routing
- Firewall
- Traffic Control
- Class of Service
- L2TP/PPP
- PPPoE
- VPP Data Plane
- RPKI
- IPsec VPN
- TACACS+ AAA
- RADIUS AAA
- AS112 DNS
- Authorization
- Fleet
- BGP
- Starting and Stopping
- Show Commands
- Monitoring
- Flow Export
- DDoS Mitigation
- Anomaly Detection
- Health Checks
- Audit Trail
- Production Diagnostics
- Logging
- Operational Reports
- Healthcheck
- Self-Update
- Zero-Touch Provisioning
- MRT Analysis
- Upgrade and Restart
- Storage
- Policy
- Core
- Resilience
- Validation
- Capabilities
- Address Families
- Protocol
- Subsystems
- Infrastructure
- Route Server at an IXP
- Transit Edge with RPKI
- Public Looking Glass
- ExaBGP Migration Walkthrough
- FlowSpec Injection
- Chaos-Tested Peering
- AS Path Topology