Skip to content

Document netboot transport and PKI, and retire the mutual-exclusion claim - #124

Merged
darksidemilk merged 2 commits into
masterfrom
netboot-transport-and-pki
Aug 19, 2026
Merged

Document netboot transport and PKI, and retire the mutual-exclusion claim#124
darksidemilk merged 2 commits into
masterfrom
netboot-transport-and-pki

Conversation

@darksidemilk

Copy link
Copy Markdown
Member

Part of FOGProject/fogproject#1120 (Phase 3).

Adds docs/kb/reference/netboot-transport-and-pki.md and corrects the pages that contradict it.

Why

FOG 1.6 split what 1.5 conflated into a single httpproto: the web protocol, the HTTP→HTTPS redirect and whether iPXE is recompiled are now independent keys with --install-mode as a preset over them. None of that was documented, and several pages still told admins the opposite.

The flat contradiction

proxy-dhcp.md carried a callout titled "Secure Boot and HTTPS are mutually exclusive". They are not. Every 1.6 install mode stages the Secure Boot binaries — the old installer skipped them on any HTTPS install, so the feature was missing precisely on the servers whose admins had gone furthest to configure TLS.

pki-zones.md said a rebuilt iPXE "forfeits the signed Secure Boot shim" and that there is no mechanism for signing a custom build with FOG's own key. FOG signs every EFI binary in its TFTP tree, and upstream's shim loads the result once the MOK is enrolled — so embed-ca moves the enrolment earlier rather than giving Secure Boot up, and Setup Mode is an alternative rather than the only route.

Also

compile_ipxe_binaries.md had not been touched since 2024: cloned over git://, pointed its config-header wgets at fogproject's 1.5 tree rather than the fog-ipxe repo that now holds them, built 1.5-era target names, and said nothing about TRUST=. It now also warns against EMBED= on a UEFI target, which since v2.0.0-fog.8 produces the /dev/ram0 panic.

kb/reference/index.md was missing pki-zones, pki-glossary, bringing-your-own-ca and secure-boot-technical-details, so four existing pages were unreachable from their own index.

The new page states plainly

  • The FQDN and public-DNS prerequisite for public-cert, and why.
  • ca.ipxe.org is fetched by the booting client, so air-gapped sites need embed-ca however public their certificate is.
  • No mode disables Secure Boot.
  • embed-ca adds an enrolment step.
  • fog-client is what puts FOG's root into a client's trust store — the reason the redirect is off by default.
  • FOG_WEB_HOST must be set to the certificate's FQDN before HTTPS netboot works past the first hop.

Verified

Full Quartz build against this worktree: 108 files, no errors. Unparsed-wikilink count in the built HTML still 12 — all pre-existing, none in a file touched here.

Merge this first — the other four docs branches forward-reference the new page.

darksidemilk and others added 2 commits August 18, 2026 19:58
…laim

FOG 1.6 splits what 1.5 conflated into a single httpproto setting: the web
protocol, the HTTP-to-HTTPS redirect and whether iPXE is recompiled are now
independent keys, with --install-mode as a preset over them. None of that was
documented, and several pages still told admins the opposite.

The flat contradiction was proxy-dhcp's "Secure Boot and HTTPS are mutually
exclusive". They are not. Every 1.6 install mode stages the Secure Boot
binaries; the old installer skipped them on any HTTPS install, so the feature
was missing precisely on the servers whose admins had gone furthest out of
their way to configure TLS.

pki-zones said a rebuilt iPXE "forfeits the signed Secure Boot shim", and that
there is no mechanism for signing a custom-rebuilt binary with FOG's own
Secure Boot certificate. FOG signs every EFI binary in its TFTP tree, and
upstream's shim loads the result once the MOK is enrolled -- so embed-ca moves
the enrolment earlier rather than giving Secure Boot up, and Setup Mode is an
alternative rather than the only route.

compile_ipxe_binaries had not been touched since 2024. It cloned over git://,
pointed its config-header wgets at fogproject's 1.5 tree rather than the
fog-ipxe repository that now holds them, built 1.5-era target names, and said
nothing about TRUST= or about what a rebuild costs a Secure Boot client. It
now also warns against EMBED= on a UEFI target, which since v2.0.0-fog.8
produces the /dev/ram0 panic.

The new page states the FQDN and public-DNS prerequisite for public-cert, that
the ca.ipxe.org cross-certificate is fetched by the booting client so an
air-gapped network needs embed-ca however public its certificate is, why the
redirect is off by default, and that FOG_WEB_HOST has to be set to the
certificate's FQDN before HTTPS netboot works past the first hop.

kb/reference/index.md was also missing pki-zones, pki-glossary,
bringing-your-own-ca and secure-boot-technical-details, so four existing pages
were unreachable from their own index.

Verified with a full Quartz build against this worktree: 108 files, no errors,
and the unparsed-wikilink count in the built HTML is still 12 -- all
pre-existing, none in a file touched here.

Co-Authored-By: Claude <noreply@anthropic.com>
The page turns on the difference between a public and a private CA and on
enrolling a MOK before a machine can netboot, and it used all of those cold.
An admin arriving here is choosing an install mode, which does not presuppose
knowing what a Machine Owner Key is -- and the whole argument for embed-ca
costing an extra enrolment is unreadable without it.

Adds a terms callout covering netboot, FQDN, MOK, shim, ACME and the
public-versus-private CA distinction the four modes turn on.

Rebuilt: 108 files, no errors, unparsed-wikilink count still 12.

Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant