Fix GRUB reassessment findings: clean-build gap, validation, robustness

- Add grub package to redbear-full-grub.toml so make all works from
  a clean tree (the installer needs grub.efi before it runs)
- Fix stat -f%z (macOS-only) to stat -c%s (Linux) in GRUB recipe
- Normalize bootloader config value to lowercase in install_inner so
  bootloader = "GRUB" from config files is accepted
- Add bad-cluster marker (0x0FFFFFF7) check in fat_tool.py
  _next_cluster to prevent potential infinite loops on degraded media
- Fix file handle leak in fat_tool.py if _read_bpb raises
- Clean up temp directory in fetch_bootloaders on error
- Update AGENTS.md with GRUB recipe and installer documentation
- Update GRUB plan with clean-build prerequisite note
This commit is contained in:
2026-04-17 22:21:08 +01:00
parent 33d8a4deaa
commit 1b785fea6a
6 changed files with 189 additions and 64 deletions
+4 -1
View File
@@ -1,7 +1,10 @@
# GRUB Integration Plan — Red Bear OS
**Date:** 2026-04-17
**Status:** Phase 2 complete — installer-native GRUB support implemented and compiling
**Status:** Phase 2 complete — installer-native GRUB support implemented and compiling.
**Prerequisite:** The `grub` package must be in the build plan (included in `redbear-full-grub.toml`)
for `make all` to work from a clean tree. Phase 2 is automatic only after `grub` is available in
the local repo or build output.
**Approach:** Option A — GRUB as boot manager, chainloading Redox bootloader
## Overview