Reorganized testing section to cover both Phase 1 (post-build script)
and Phase 2 (installer-native) workflows. Added unit test commands.
Removed mtools dependency from limitations.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Reorganized testing section to cover both Phase 1 (post-build script)
and Phase 2 (installer-native) workflows. Added unit test commands.
Removed mtools dependency from limitations.
Adds --bootloader and --filesystem to installer help text. Fixes
fstools host build by symlinking local/ directory alongside recipes/
so the ext4-blockdev path dependency resolves correctly.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Adds --bootloader and --filesystem to installer help text. Fixes
fstools host build by symlinking local/ directory alongside recipes/
so the ext4-blockdev path dependency resolves correctly.
Extends the installer to write a GRUB chainload ESP layout when
bootloader = "grub" is set in config. Changes GeneralConfig, DiskOption,
fetch_bootloaders, with_whole_disk, with_whole_disk_ext4, and both CLI
binaries. When GRUB mode is active, the ESP contains GRUB as primary
(BOOTX64.EFI), grub.cfg, and the Redox bootloader as chainload target
(EFI/REDBEAR/redbear.efi).
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Extends the installer to write a GRUB chainload ESP layout when
bootloader = "grub" is set in config. Changes GeneralConfig, DiskOption,
fetch_bootloaders, with_whole_disk, with_whole_disk_ext4, and both CLI
binaries. When GRUB mode is active, the ESP contains GRUB as primary
(BOOTX64.EFI), grub.cfg, and the Redox bootloader as chainload target
(EFI/REDBEAR/redbear.efi).
Documents the two-phase GRUB integration approach (post-build script
then installer-native), build notes for the three cookbook workarounds,
and measured artifact sizes. Sets efi_partition_size=16 in redbear-full
to accommodate GRUB plus Redox bootloader on the ESP.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Documents the two-phase GRUB integration approach (post-build script
then installer-native), build notes for the three cookbook workarounds,
and measured artifact sizes. Sets efi_partition_size=16 in redbear-full
to accommodate GRUB plus Redox bootloader on the ESP.
fat_tool.py provides zero-dependency FAT32 manipulation (ls, mkdir,
cp-in, cp-out) using only Python stdlib struct/os. install-grub.sh uses
it to extract the existing Redox bootloader from ESP, install GRUB as
the primary boot manager, and set up the chainload configuration.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
fat_tool.py provides zero-dependency FAT32 manipulation (ls, mkdir,
cp-in, cp-out) using only Python stdlib struct/os. install-grub.sh uses
it to extract the existing Redox bootloader from ESP, install GRUB as
the primary boot manager, and set up the chainload configuration.
Builds GRUB 2.12 for the host machine (not Redox target) using template=custom.
Produces a 540 KiB standalone PE32+ EFI binary with GPT, FAT, ext2,
chainloader, and utility modules. The grub.cfg chainloads the Redox
bootloader from EFI/REDBEAR/redbear.efi.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Builds GRUB 2.12 for the host machine (not Redox target) using template=custom.
Produces a 540 KiB standalone PE32+ EFI binary with GPT, FAT, ext2,
chainloader, and utility modules. The grub.cfg chainloads the Redox
bootloader from EFI/REDBEAR/redbear.efi.
5-second countdown with any-key cancel into manual mode selection. Defaults to 1280x720, falls back to EDID best resolution. UEFI only via get_key_timeout polling with BootServices.Stall.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
5-second countdown with any-key cancel into manual mode selection. Defaults to 1280x720, falls back to EDID best resolution. UEFI only via get_key_timeout polling with BootServices.Stall.