Skip to content

Run the Mac's boot setup through the platform setup seam - #635

Merged
maralcbr merged 1 commit into
quattro-upstreamfrom
mac/103-boot-setup-seam
Sep 27, 2026
Merged

maralcbr merged 1 commit into
quattro-upstreamfrom
mac/103-boot-setup-seam

Conversation

@maralcbr

Copy link
Copy Markdown
Collaborator

Ticket 103 open item "the boot shims". Hardware setup's last leaf (install/hardware/platform-setup.sh) now runs a new dispatch operation, setup-boot [image-first-boot], implemented by omarchy-mac-boot, before omarchy-mac's setup-system. install/hardware/all.sh no longer runs the apple/grub-console.sh and apple/limine-boot.sh shims.

  • setup-boot is required on Apple: a boot package without it stops the hardware leaf and asks for the update, where optional would silently skip the Limine activation (today a missing boot package fails the shim too). So omarchy-mac-boot must publish with or before this runtime (held boot re-pin Pin omarchy-mac-boot to the engine that repairs converted Macs (20260927-2) omarchy-pkgs#673 will carry it once re-pinned past this).
  • The entrypoint (packages/omarchy-mac/boot/entrypoints/setup-boot) sources setup/grub-console.sh then setup/limine-boot.sh as root under a cleared environment with OMARCHY_PATH=/usr/share/omarchy; with image-first-boot the Limine leaf asks for the deferred rebuild (/var/lib/omarchy/image/boot-rebuild) as before.
  • The shims stay: the image builder sources them inside the image, and queues of images built before run them by name. The migration engine still sources setup/limine-boot.sh directly.

Upstream (omacom#13362) gets the generic part (the operation and the leaf) in a follow-up batch; written into ticket 103.

Tests: new boot/test/mac-setup-boot-test.sh; platform-setup-test.sh (order, argument, either failing, boot package without the entrypoint), lifecycle-dispatch-test.sh (setup-boot among required operations). Boot suite 287/287; runtime suite only the usual environment failures.

Debated in two rounds (made required on Apple; test fixed). Second review: no blockers; docs and fixture nits fixed.

Hardware setup's last leaf now runs the platform boot package's setup-boot
before the runtime package's setup-system, so the GRUB console and Limine
activation leave the shared hardware leaves. setup-boot is required on
Apple: a boot package without it stops the leaf instead of skipping the
activation. The runtime's shims stay for the image builder and for queues
of images built before.
@maralcbr
maralcbr merged commit b32eb46 into quattro-upstream Sep 27, 2026
5 checks passed
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