nvtop pulled nvidia-tesla-470-* via Recommends into the nogpu build. Move it from bee.list.chroot into bee-nvidia and bee-amd lists so it only appears in GPU variants. Also remove the stray git-bible/ directory (was not gitignored) and move grub-bitmap-error docs into bible-local/docs/. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
8.3 KiB
GRUB Bitmap Error History
Symptom
On some servers GRUB prints:
error: null src bitmap in grub_video_bitmap_create_scaled.
Press any key to continue...
The important new observation as of v10.7 is:
- the error still appears even when the logo image block is removed from
iso/builder/config/bootloaders/grub-efi/live-theme/theme.txt - therefore the current error can no longer be explained only by
bee-logo.png/bee-logo.tga
That does not prove the theme system is healthy. It proves only that the currently remaining failure is deeper than "bad logo file".
Current State
Current source files:
- iso/builder/config/bootloaders/grub-efi/live-theme/theme.txt
has no
imageblock anymore - iso/builder/config/bootloaders/grub-efi/config.cfg
still does
insmod tgaand thensource /boot/grub/theme.cfg
Implication:
- if the error still fires, the trigger is likely elsewhere in GRUB theme
rendering or in the assets/config GRUB resolves while sourcing
theme.cfg - the old "PNG parser fragility" story is no longer a sufficient explanation for the current failure mode
Current artifact facts:
- the provided
easy-bee-nvidia-v10.7-amd64.logsbuild logs referencelinux-image-6.1.0-45 - the provided
easy-bee-nvidia-v10.7-amd64.isocontainslive/initrd.img-6.1.0-45-amd64andlive/vmlinuz-6.1.0-45-amd64 - a later
BOOT FAILED!screenshot showedlive/initrd.img-6.1.0-44-amd64andlive/vmlinuz-6.1.0-44-amd64
Implication:
- the
BOOT FAILED!screenshot is not from the same artifact as the providedv10.7ISO/log set - until the exact ISO filename and checksum are tied to that failure, the GRUB bitmap issue and the live-boot failure must be treated as separate problems
Chronology
1. Initial bee GRUB theme introduction
Relevant commit:
d52ec67Stability hardening, build script fixes, GRUB bee logo
What changed:
- bee-branded GRUB theme introduced
- image block with explicit
width/height
Observed result:
- bitmap error appeared
2. Remove explicit scaling dimensions
Relevant commit:
aa284aefix(iso): avoid grub logo scaling error
What changed:
- removed
width = 400 - removed
height = 400
Reason stated by the change:
- try to avoid the scaling path
Observed result:
- error persisted
Conclusion:
- explicit width/height were not the sole trigger
3. Rework PNG handling and menu rendering
Relevant commit:
6112094fix(grub): fix bitmap error and menu rendering
Commit message says the change was intended to:
- convert
bee-logo.pngto RGBA and strip metadata - move
terminal_output gfxtermbeforeinsmod png/ theme load - remove ASCII banner from GRUB menu area
- fix theme typography/layout fields
Observed result:
- error persisted
Notes:
- this was still operating under the assumption that the issue was the PNG payload or the order of gfxterm/theme init
4. Convert logo PNG back to RGB
Relevant commit:
333c44fFix GRUB splash: convert bee-logo.png from RGBA to RGB
Intended reason:
- GRUB might dislike RGBA PNG and want RGB PNG
Observed result:
- error still persisted according to later project notes
5. Add post-build canonical GRUB/isolinux sync
Relevant commit:
0cdfbc5fix(iso): restore boot UX and boot logs
What this introduced:
- post-
lb buildrewriting ofbinary/boot/grub/grub.cfg - post-
lb buildrewriting ofbinary/isolinux/live.cfg - forced rebuild of
binary_checksums,binary_iso,binary_zsync
Why it was added:
- restore canonical EASY-BEE boot UX after live-build wrote its own bootloader outputs
- restore expected boot menu and logs
Important note:
- this commit did not directly solve the bitmap issue
- it added a second layer of bootloader mutation after live-build
6. Switch from PNG to TGA
Relevant commit:
626763eFix GRUB bitmap error: switch from PNG to TGA for splash logo
Commit message says:
- GRUB PNG reader was considered fragile
- switch to uncompressed 24-bit TGA
config.cfg:insmod png->insmod tgatheme.txt:bee-logo.png->bee-logo.tga
Observed result:
- this did not eliminate the problem in the current lineage
- today the system still errors even after the entire image block was removed
Conclusion:
- switching PNG -> TGA was not a durable root-cause fix
7. Patch EFI image after build
Relevant commit:
4f20c92Make UEFI boot safe and remove GRUB logo
What this introduced:
sync_efi_grub_theme_assets- direct
mtoolspatching ofefi.img - copying
config.cfg,theme.cfg, andlive-theme/*into the EFI FAT image - removal of the logo image block from
theme.txt
Why it was added:
- make UEFI path "safe"
- keep EFI GRUB image aligned with canonical bootloader assets
Observed result:
- later this became the direct cause of
Disk fullduring build oncebee-logo.tgawas large enough - and even with the logo removed from
theme.txt, the bitmap error still remained
Conclusion:
- EFI post-build patching increased build complexity
- removing the logo alone did not remove the runtime GRUB error
8. Remove ASCII logo banners
Relevant commit:
14505efRemove easy bee ASCII logo banners
What changed:
- web loading page ASCII cleanup only
Relevance here:
- none for GRUB bitmap error
- included here only to avoid confusion with other "logo removal" work
9. Remove EFI post-build patching
Relevant commit:
5dc022dDrop post-build EFI bootloader patching
Why it was done:
- stop mutating
efi.imgpost-build - remove dependence on
mtoolsfor EFI patching - remove the
Disk fullfailure mode
Impact:
- this did not target the GRUB bitmap error directly
- it targeted build-system complexity and EFI image overflow
10. Restore only GRUB/isolinux post-build sync
Relevant commit:
42774d4Restore post-build GRUB and isolinux sync
Why it was needed:
- removing all post-build sync caused final ISO validation to fail with missing canonical EASY-BEE boot entries
- memtest was still fine, but final GRUB menu was no longer canonical
What it restored:
- only
binary/boot/grub/grub.cfg - only
binary/isolinux/live.cfg
What it did not restore:
- no EFI FAT image patching
- no
mtoolspath
What Is Proven False
The current evidence rules out several simplistic explanations:
- "the error is only caused by explicit image scaling"
- "the error is only caused by PNG vs TGA"
- "the error is only caused by the logo file itself"
Why:
- scaling dimensions were removed and error persisted
- PNG was replaced with TGA and error still survived in the lineage
- the image block itself is now absent, and the error still occurs
Working Hypotheses Left
The remaining plausible layers are:
- GRUB theme engine still tries to render some bitmap-related element even without the logo image block
- GRUB is resolving stale theme assets from the built EFI/ISO path rather than what we think the source tree says
theme.cfg/theme.txt/ GRUB module loading order still triggers a bitmap code path elsewhere- live-build may still package a stale
theme.txtor stalelive-themedirectory into the final image - the GRUB environment on the failing hardware may behave differently from the assumptions in our source tree
Decision Boundary
Before making another change, the next step should be evidence gathering from the real built artifact, not another speculative edit.
That means checking on the actual built ISO or EFI image:
- exact
boot/grub/theme.cfg - exact
boot/grub/live-theme/theme.txt - exact contents of
boot/grub/live-theme/ - whether the final image still contains a stale logo reference
- whether the EFI path and non-EFI path differ
Relevant Commits
d52ec67Stability hardening, build script fixes, GRUB bee logoaa284aefix(iso): avoid grub logo scaling error6112094fix(grub): fix bitmap error and menu rendering333c44fFix GRUB splash: convert bee-logo.png from RGBA to RGB0cdfbc5fix(iso): restore boot UX and boot logs626763eFix GRUB bitmap error: switch from PNG to TGA for splash logo4f20c92Make UEFI boot safe and remove GRUB logo5dc022dDrop post-build EFI bootloader patching42774d4Restore post-build GRUB and isolinux sync