Secure Boot: publish and document the ipxe.efi fallback chain - #979
Merged
Conversation
The page named exactly one DHCP boot filename,
secureboot/snponly-shimx64.efi. fog-ipxe now stages a second signed
chain beside it, so a site whose firmware UEFI SNP is broken has
somewhere to go -- but only if it knows the file is there, which is
the whole reason this paragraph exists.
Framed by symptom rather than by binary ("loads but the network never
comes up") because an admin hitting this has no way to know the fault
is in their firmware's network stack, and that is the only signal that
distinguishes the two chains. shim resolves its second stage from its
own filename, so switching is purely a DHCP change with nothing to
rename server-side.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The release that first carries the ipxe.efi Secure Boot chain (FOGProject/fog-ipxe#2). Without this bump the paragraph added in the previous commit names a boot file the installer never downloads, which is worse than not documenting it at all -- the admin points DHCP at a path that TFTP 404s and has no way to tell that from a broken chain. iPXE itself is unchanged at v2.0.0; only the fog-ipxe packaging moved. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This was referenced Aug 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Secure Boot was the one boot path in FOG with no fallback loader. fog-ipxe#2 (released as v2.0.0-fog.3) stages a second signed chain; this points the installer at that release and tells the admin the fallback exists.
Why a fallback was needed
The two signed loaders fail on disjoint hardware:
snponly.efidrives the NIC through the firmware's own UEFI SNP protocol. Right default — it's whatever the vendor shipped and tested — but dead in the water where SNP is broken or absent.ipxe.eficarries iPXE's native drivers and takes the NIC over from the firmware. Recovers exactly those machines, and hangs where the takeover fails.Non-Secure-Boot installs have always had that choice via DHCP option 67. A Secure Boot site had nothing to move to.
What changed
1.
FOG_IPXE_VERSION→v2.0.0-fog.3— the release that first carries the new chain. Without the bump the paragraph below names a boot file the installer never downloads, which is worse than not documenting it: the admin points DHCP at a path that TFTP 404s and cannot tell that from a broken chain. iPXE itself is unchanged at v2.0.0; only the fog-ipxe packaging moved.2. One paragraph on the Secure Boot configuration page, framed by symptom rather than by binary:
An admin hitting this has no way to know the fault is in their firmware's network stack, and "loads but no network" is the only signal that distinguishes the two chains. shim resolves its second stage from its own filename, so switching is purely a DHCP change with nothing to rename server-side.
Verification
Against the published
fog-ipxe-secureboot-v2.0.0-fog.3.tar.gz:.sha256asset.ipxeboot.tar.gz(compared against a separately downloaded copy).No installer logic change:
configureTFTPandPXEcopies the staged tree wholesale, and theautoexec.ipxehard-link loop already coverssecureboot/andsecureboot/arm64-efi/.php -lclean. NoFOG_BCACHE_VERbump needed — PHP only, no JS/CSS touched.dev-branchneeds the same two changes and follows as its own PR per the branch convention.🤖 Generated with Claude Code