Update pxe boot flow

This commit is contained in:
Audiobuzz
2026-06-20 09:17:05 +00:00
parent e3978bb210
commit fb69068980
8 changed files with 336 additions and 2 deletions
+10 -2
View File
@@ -2,10 +2,18 @@
# the version is pinned and the entrypoint is predictable). Config is passed
# entirely as --flags from docker-compose.yml.
FROM harbor.bitasylum.org/dockerhub/library/alpine:3.20
RUN apk add --no-cache dnsmasq
# binutils (objcopy): the entrypoint extracts the UKI's .cmdline PE section so it
# can feed the REAL cmdline to iPXE (Secure Boot OFF chainload) — see entrypoint.sh.
RUN apk add --no-cache dnsmasq binutils
# fleet-namer: --dhcp-script that assigns creative starship hostnames per MAC,
# server-side (keeps the workstation image neutral). COPY'd in root-owned, 0755
# so dnsmasq will execute it. Uses busybox sha256sum/cut/wc — all in the image.
COPY fleet-namer /usr/local/bin/fleet-namer
RUN chmod 0755 /usr/local/bin/fleet-namer
ENTRYPOINT ["dnsmasq"]
# entrypoint assembles the TFTP root (copies the user's ipxe.efi from the ro
# source mount + renders boot.ipxe, which clears the iPXE load options so the
# UKI's embedded cmdline survives the chainload — see entrypoint.sh) then execs
# dnsmasq with the compose args.
COPY entrypoint.sh /usr/local/bin/dnsmasq-entrypoint
RUN chmod 0755 /usr/local/bin/dnsmasq-entrypoint
ENTRYPOINT ["/usr/local/bin/dnsmasq-entrypoint"]