Skip to content

fix(iso): name the boot menus Arch Colony, theme them from the palette and correct the archinstall licence notice - #9

Merged
MotherSphere merged 3 commits into
mainfrom
fix/boot-menu-branding
Oct 14, 2026
Merged

MotherSphere merged 3 commits into
mainfrom
fix/boot-menu-branding

Conversation

@MotherSphere

@MotherSphere MotherSphere commented Oct 14, 2026 •

Copy link
Copy Markdown
Member

What changed

Boot menus present the image as Arch Colony. Every install-image boot entry said "Arch Linux install medium": the systemd-boot entries 01 and 02, GRUB grub.cfg and loopback.cfg, and the syslinux BIOS and PXE entries with their help text. They now say "Arch Colony install medium". The base profile already used Arch Colony.

The syslinux menu is themed from the palette. iso/install/syslinux/archiso_head.cfg is now archiso_head.cfg.in:

  • MENU TITLE Arch Colony.
  • Every MENU COLOR element the menus can show takes a palette field (@bg_primary@, @text_secondary@, @accent_blue@, ...) instead of archiso's literal ARGB values. Elements that were left at syslinux's built-in colours (hotkey, hotsel, screen, scrollbar, cmdline) are listed too.
  • MENU BACKGROUND @bg_primary@ replaces archiso's stock splash.png, which is removed. vesamenu accepts a colour there, and reads a #rrggbb palette value as fully opaque (checked in syslinux readconfig.c parse_argb and vesamenu.c draw_background).

iso/build.sh now resolves syslinux/*.in alongside etc/calamares/**/*.in, and principle 4 in docs/principes.md lists the boot menu among the theme templates.

Licence correction. archinstall is GPL-3.0-only, but tools/gen-netinstall.py and iso/build.sh called it "GPL-3.0-or-later, the same licence as Arch Colony". The changes:

  • tools/gen-netinstall.py now carries SPDX-License-Identifier: GPL-3.0-only, plus a provenance note that points at ARCHINSTALL_COMMIT in iso/pins.env.
  • The header of the generated package tree now says GPL-3.0-only.
  • The README licence section notes the exception.

CI (tools job):

  • New step: no boot menu file under iso/*/syslinux, iso/*/grub or iso/*/efiboot contains "Arch Linux".
  • The palette step now also resolves the syslinux template in every palette of the pinned themes.json. It then fails if any @token@ is left in the boot menu output. syslinux would paint such a token bright red, because parse_argb falls back to 0xffff0000.

Notes

  • The install profile boots UEFI only (bootmodes=('uefi.systemd-boot'), see profiledef.sh). On that image the visible menu is systemd-boot, and loopback.cfg is used for GRUB loopback boots. The syslinux files and grub.cfg are not copied to the medium today. They are kept and themed for when BIOS boot returns. For the same reason, the plan's ImageMagick-generated logo splash was not built: a palette background needs no build dependency.
  • systemd-boot and GRUB's text menu take no hex colours, so only the entry names change there.

Verification

  • Ran the CI palette loop locally against the pinned themes.json (sha256 checked by iso/fetch-inputs.sh). All 59 variants resolve all 4 templates with no placeholder left in syslinux/. A stray @accent_blue@ in a non-template .cfg is caught.
  • grep -rn 'Arch Linux' iso/*/syslinux iso/*/grub iso/*/efiboot finds nothing.
  • tools/gen-netinstall.py against the pinned archinstall still generates the tree (21 desktops, 15340 packages), with the corrected header.
  • python -m py_compile tools/*.py passes, and ci.yml parses. shellcheck runs in CI.

archinstall is GPL-3.0-only, not GPL-3.0-or-later. tools/gen-netinstall.py
and iso/build.sh claimed otherwise. Mark the generator GPL-3.0-only with an
SPDX header and a provenance note pointing at the pinned commit, correct the
generated file's header, and note the exception next to the README licence.
…ette

Every boot entry of the install image called it 'Arch Linux install medium',
and the BIOS menu kept archiso's stock splash and nine literal ARGB colours.
Rename the entries, turn archiso_head.cfg into a template resolve-theme.py
fills from the pinned palette, use the palette background in place of the
splash image, and have CI check every palette and the entry names.
@MotherSphere
MotherSphere merged commit 14fb384 into main Oct 14, 2026
6 checks passed
@MotherSphere
MotherSphere deleted the fix/boot-menu-branding branch October 14, 2026 11:27
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