2026-03-27 18:19:49 +00:00
|
|
|
# Archipelago GRUB Theme
|
|
|
|
|
# Dark background with Bitcoin orange accents
|
2026-03-27 21:35:12 +00:00
|
|
|
# Font references removed — GRUB uses whatever fonts are loaded in grub.cfg
|
2026-03-27 18:19:49 +00:00
|
|
|
|
|
|
|
|
title-text: ""
|
|
|
|
|
desktop-color: "#0a0a0a"
|
feat: custom boot branding, MBR fix, Plymouth theme, CI smoke tests
Boot fix:
- Ship proven Debian Live MBR (4552) as branding/isohdpfx.bin — the
ISOLINUX package MBR (33ed) doesn't boot on all hardware. This was
the root cause of "machine doesn't pick up the USB".
Branding:
- Custom GRUB background: pixel-art floating island (1024x574)
- Archipelago pixel-art logo for Plymouth boot splash
- GRUB theme: dark background, orange selected item, no broken font refs
- Plymouth theme: script-based with progress bar, LUKS prompt support
- Plymouth + splash added to target rootfs packages
- GRUB theme installed on both installer ISO and target system
- Serial console (ttyS0) added to kernel params for QEMU debugging
CI improvements:
- Smoke test step: mounts ISO, verifies all critical files, checks
initrd has live-boot, confirms boot=live in grub.cfg. Fails build
before copying to Builds if any check fails.
Dev workflow:
- dev-branding.sh: extract ISO, swap branding, repackage, boot in QEMU
(~10 seconds vs 20 min full rebuild)
- generate-grub-background.py: procedural cyberpunk background generator
- generate-plymouth-logo.py: procedural logo generator
- Improved test-iso-qemu.sh: --bios/--nographic flags, serial logging
Build:
- Simplified live-boot install (clean chroot, no complex fallbacks)
- Static branding images preferred, generators as fallback
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 22:26:56 +00:00
|
|
|
desktop-image: "background.png"
|
2026-03-27 18:19:49 +00:00
|
|
|
|
|
|
|
|
+ boot_menu {
|
|
|
|
|
left = 25%
|
|
|
|
|
top = 40%
|
|
|
|
|
width = 50%
|
|
|
|
|
height = 30%
|
|
|
|
|
item_color = "#aaaaaa"
|
2026-03-27 21:35:12 +00:00
|
|
|
selected_item_color = "#f7931a"
|
2026-03-27 18:19:49 +00:00
|
|
|
item_height = 36
|
|
|
|
|
item_spacing = 8
|
|
|
|
|
item_padding = 16
|
|
|
|
|
scrollbar = false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
+ label {
|
|
|
|
|
left = 25%
|
|
|
|
|
top = 20%
|
|
|
|
|
width = 50%
|
2026-03-28 11:31:48 +00:00
|
|
|
text = "a r c h i p e l a g o"
|
2026-03-27 18:19:49 +00:00
|
|
|
color = "#f7931a"
|
|
|
|
|
align = "center"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
+ label {
|
|
|
|
|
left = 25%
|
|
|
|
|
top = 28%
|
|
|
|
|
width = 50%
|
2026-03-28 11:31:48 +00:00
|
|
|
text = "bitcoin node os"
|
2026-03-27 18:19:49 +00:00
|
|
|
color = "#888888"
|
|
|
|
|
align = "center"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
+ label {
|
|
|
|
|
left = 25%
|
|
|
|
|
top = 90%
|
|
|
|
|
width = 50%
|
2026-03-28 11:31:48 +00:00
|
|
|
text = "use arrow keys to select, enter to boot"
|
2026-03-27 18:19:49 +00:00
|
|
|
color = "#555555"
|
|
|
|
|
align = "center"
|
|
|
|
|
}
|