feat(installer): adopt Flatcar's EFI-SYSTEM/USR-A/USR-B/ROOT partition layout - #147
Open
kylerankin wants to merge 5 commits into
Open
kylerankin wants to merge 5 commits into
kylerankin wants to merge 5 commits into
Conversation
Replace the installer's target-disk repart.d drop-ins (10-esp.conf, 20-root-a.conf, 30-var.conf) with Flatcar's GPT layout, adopting the upstream type GUIDs verbatim (projectbluefin#134): EFI-SYSTEM ESP/vfat bootctl install + the OS UKI USR-A 5dfbf5f4-... CopyBlocks= the /usr DDI (read-only) USR-B 5dfbf5f4-... empty A/B rollback slot OEM 0fc63daf-... ext4, filesystem label OEM (stage-2 boot dep) ROOT 3884dd41-... writable state, grows to fill the disk BIOS-BOOT stays dropped (UEFI-only, hard rule 5); OEM-CONFIG stays dropped (nothing in the boot path references it). Verity stays off: stage 1 guards the veritysetup block behind [ "${usrhash}" != "" ], so this layout-only change is a bootable intermediate state and verity lands in the /usr DDI ticket. The installer media still stamps bluefin-installer-data, so USR-A's CopyBlocks= source is unchanged. Update the DDI and installer element docs, the fallback bootloader label (bluefin-server-root-a -> ROOT), and the docs/skills target-layout tables. tests/unit/test_repart_layout.py is rewritten for the new layout: it pins the four upstream type GUIDs verbatim, asserts USR-B is provisioned and empty, OEM is labelled ext4, and ROOT grows; the sysupdate label-match is moved to an xfail since wiring 50-root.transfer to USR-A/USR-B is a follow-on ticket. Signed-off-by: kylerankin <kylerankin@users.noreply.github.com>
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
Adopts Flatcar's GPT partition layout for the installer's target disk, per
issue #134 (design: phase 3 of the Flatcar base migration). Replaces the
old
10-esp.conf/20-root-a.conf/30-var.confdrop-ins with fivethat use upstream type GUIDs verbatim:
EFI-SYSTEMbootctl install+ the OS UKIUSR-A5dfbf5f4-…CopyBlocks=the/usrDDI (read-only)USR-B5dfbf5f4-…OEM0fc63daf-…Format=ext4, filesystem labelOEMROOT3884dd41-…Format=,GrowFileSystem=yesBIOS-BOOTstays dropped (UEFI-only, hard rule 5).OEM-CONFIGstaysdropped (nothing in the boot path references it).
OEMis kept — the bootproof showed stage 2 waits on
dev-disk-by-label-OEM.device, so a diskwithout it stalls to an emergency shell.
Verity stays off in this ticket: stage 1 already guards the
veritysetup block behind
[ "${usrhash}" != "" ], so this layout-onlychange is a bootable intermediate state. Verity lands in the
/usrDDIticket.
Changes
files/installer/repart.d/: rewrite the drop-ins to the new layout.tests/unit/test_repart_layout.py: rewritten for the new layout — pinsthe four upstream type GUIDs verbatim, asserts
USR-Bis provisioned andempty,
OEMis labelled ext4, andROOTgrows. The sysupdatelabel-match moves to an
xfailsince wiring50-root.transfertoUSR-A/USR-Bis a follow-on.bootloader partition label (
bluefin-server-root-a→ROOT),installer-repart.bst layout comment, and the
docs/skillstarget-layouttables.
Verification
python3 -m pytest tests/unit/test_repart_layout.py: 24 passed, 1 xfailed.check-release-versionandcheck-k0s-version: OK.just validate'sbst showsteps need buildstream/network and were notrunnable in this environment; the graph is unchanged in shape.
— hive: backend=pi model=lemonade/Ornith-1.5-35B-A3B-GGUF-Q6_K
🐝 Hive Agent:
contributor| SHA:dd744dd