Fix GRUB bitmap error: switch from PNG to TGA for splash logo

GRUB's PNG reader (grub2 bookworm) fails to load bee-logo.png despite the
file being valid RGB 8-bit non-interlaced PNG with minimal chunks. Root
cause is a known fragility in GRUB's png.c; exact trigger is unknown.

Switch to uncompressed 24-bit TGA which bypasses the PNG parser entirely.
tga.mod is already present in the ISO (x86_64-efi/tga.mod).

- Convert bee-logo.png → bee-logo.tga (480018 bytes, BGR top-left)
- config.cfg: insmod png → insmod tga
- theme.txt: bee-logo.png → bee-logo.tga
- Document all prior failed attempts in git-bible/grub-bitmap-error.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Mikhail Chusavitin
2026-04-30 15:46:13 +03:00
parent 0b8a2ff83f
commit 626763e31d
4 changed files with 136 additions and 2 deletions

View File

@@ -27,5 +27,5 @@ insmod gfxterm
terminal_input console serial
terminal_output gfxterm serial
insmod png
insmod tga
source /boot/grub/theme.cfg

Binary file not shown.

After

Width:  |  Height:  |  Size: 469 KiB

View File

@@ -9,7 +9,7 @@ terminal-font: "Unifont Regular 16"
+ image {
top = 4%
left = 50%-200
file = "bee-logo.png"
file = "bee-logo.tga"
}
#help bar at the bottom