Skip to content

Secure Boot: publish and document the ipxe.efi fallback chain - #979

Merged
mastacontrola merged 2 commits into
working-1.6from
secureboot-ipxe-chain-doc-16
Aug 3, 2026
Merged

Secure Boot: publish and document the ipxe.efi fallback chain#979
mastacontrola merged 2 commits into
working-1.6from
secureboot-ipxe-chain-doc-16

Conversation

@mastacontrola

@mastacontrola mastacontrola commented Aug 3, 2026

Copy link
Copy Markdown
Member

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.efi drives 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.efi carries 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_VERSIONv2.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:

If that chain loads but the network never comes up, the firmware's own UEFI network stack is at fault. Point the boot filename at secureboot/ipxe-shimx64.efi instead, which uses iPXE's built-in NIC drivers rather than the firmware's. Arm64 clients use the files under secureboot/arm64-efi/.

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:

  • Tarball matches its .sha256 asset.
  • Contains all four loaders and both shim names, for x86_64 and arm64.
  • Every loader is byte-identical to its upstream source in ipxeboot.tar.gz (compared against a separately downloaded copy).

No installer logic change: configureTFTPandPXE copies the staged tree wholesale, and the autoexec.ipxe hard-link loop already covers secureboot/ and secureboot/arm64-efi/.

php -l clean. No FOG_BCACHE_VER bump needed — PHP only, no JS/CSS touched.

dev-branch needs the same two changes and follows as its own PR per the branch convention.

🤖 Generated with Claude Code

mastacontrola and others added 2 commits August 3, 2026 08:52
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>
@mastacontrola mastacontrola changed the title Secure Boot: document the ipxe.efi fallback chain Secure Boot: publish and document the ipxe.efi fallback chain Aug 3, 2026
@mastacontrola
mastacontrola merged commit 49d420e into working-1.6 Aug 3, 2026
@mastacontrola
mastacontrola deleted the secureboot-ipxe-chain-doc-16 branch August 3, 2026 14:06
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