Skip to content

Remove the systemd-boot entries the ISO never ships - #369

Merged
emirb merged 1 commit into
quattrofrom
boot/drop-dead-efiboot-config
Oct 30, 2026
Merged

emirb merged 1 commit into
quattrofrom
boot/drop-dead-efiboot-config

Conversation

@emirb

@emirb emirb commented Oct 30, 2026

Copy link
Copy Markdown
Contributor

Problem

configs/efiboot/ holds systemd-boot loader entries. As the profile stands, configs/profiledef.sh selects bootmodes=('bios.syslinux' 'uefi.grub') on x86_64 and ('uefi.grub') on aarch64, so mkarchiso never reads the directory and never copies it into the ISO. Nothing builds or boots these entries.

The entry is also stale: it names vmlinuz-linux-t2, but the live kernel is linux-omarchy (build-iso.sh:8, configs/grub/grub.cfg:55), with linux-t2 only on firmware that reports Apple Inc. A reader who looks for the live boot config finds a dead file that disagrees with the one in use.

Fix

Delete configs/efiboot/ and drop the directory from the paths test/unit/boot-cmdline-test.sh scans. The test keeps every assertion on the entries that do ship.

The alternative was to update the dead entry to linux-omarchy. That keeps a second, unreachable copy of the boot config, and it will drift again the next time the live kernel changes. Deleting it removes the special case instead.

Scope and risk

The ISO's boot behaviour does not change, because mkarchiso never read these files. The only changes are two deleted dead files and the path list in one unit test. The boot paths that matter, configs/grub/ and configs/syslinux/, are untouched.

To undo, restore the two deleted files.

Evidence

test/unit/boot-cmdline-test.sh passes: 11 entries across syslinux, GRUB and the loopback config pin copytoram=n and initramfs_options=size=90%, above the test's minimum of 9. A repo-wide search finds no remaining reference to configs/efiboot.

Not verified: a full ISO build. The change removes files mkarchiso never reads, so the build input is unchanged.

@greptile-apps

greptile-apps Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Low impact] The PR appears safe to merge; the removed files are unused by the selected boot modes, and the updated test passes.

Summary

Removes two unused systemd-boot configuration files and updates the boot test to stop searching their deleted directory.

  • The ISO boot setup drops unused EFI loader files and checks only shipped paths.

Reviews (2) · Last reviewed commit: "Remove the systemd-boot entries the ISO ..." · Reviewed by Greptile

configs/efiboot/ holds systemd-boot loader entries, but profiledef.sh
selects only bios.syslinux and uefi.grub. mkarchiso never copies them
into the ISO, so nothing builds or boots them.

The entry is also stale: it names vmlinuz-linux-t2, while the live
kernel is linux-omarchy, with linux-t2 only on Apple firmware
(configs/grub/grub.cfg). A reader who looks for the live boot config
finds a dead file that disagrees with the one in use.

Delete the directory and drop it from the paths boot-cmdline-test.sh
scans. That test still finds 11 entries across syslinux, GRUB and the
loopback config, above its minimum of 9.
@greptile-apps

This comment has been minimized.

@emirb
emirb force-pushed the boot/drop-dead-efiboot-config branch from 7a1f898 to 294095f Compare October 30, 2026 22:20
@github-actions

Copy link
Copy Markdown

Install test passed

x86_64 vs quattro aarch64 vs quattro
Result ✅ passed ✅ passed
Build the ISO 339.0 s −11.0 s 452.0 s −3.0 s
Install 19.0 s −6.2 s 22.6 s +0.8 s
First boot 11.8 s −0.1 s 5.6 s −0.1 s
Everyday boot 11.8 s −0.1 s 5.5 s −0.1 s

Boots are loader, kernel and userspace, without the VM's firmware.

Install phases, x86_64
Phase This PR quattro
Preparing live environment 1.3 s 1.3 s
Preparing install target 6.8 s 7.4 s
Installing Arch + Omarchy 5.3 s 10.3 s
Configuring hibernation 0.2 s 0.2 s
Configuring system 2.8 s 3.3 s
Staging provisioning 0.1 s 0.1 s
Finalizing boot and user 2.3 s 2.4 s
Configuring login 0 s 0 s
Configuring SSH access 0.2 s 0.2 s
Configuring Tailscale 0 s 0 s
Configuring DNS resolver 0 s 0 s
Validating boot setup 0 s 0 s
Creating factory snapshot 0 s 0.1 s
Install phases, aarch64
Phase This PR quattro
Preparing live environment 1.3 s 1.3 s
Preparing install target 2.1 s 2.1 s
Installing Arch + Omarchy 7.3 s 7.7 s
Configuring hibernation 0.1 s 0 s
Configuring system 10.1 s 8.8 s
Staging provisioning 0 s 0 s
Finalizing boot and user 1.4 s 1.5 s
Configuring login 0 s 0 s
Configuring SSH access 0.1 s 0.1 s
Configuring Tailscale 0 s 0 s
Configuring DNS resolver 0 s 0 s
Validating boot setup 0.1 s 0.1 s
Creating factory snapshot 0.1 s 0.1 s

Run · 294095f

@emirb
emirb merged commit 6c7eeea into quattro Oct 30, 2026
24 checks passed
@emirb
emirb deleted the boot/drop-dead-efiboot-config branch October 30, 2026 23:03
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