Objective
Transition Greenboot from a GRUB2-coupled logic to a pluggable backend architecture. This will enable native support for modern and diverse boot environments (ukiboot, systemd-boot, and Android) while keeping the core health-checking logic lightweight.
The Problem
Greenboot currently relies on grubenv for state management (boot counting/marking success). This "hard-coding" prevents Greenboot from running on:
Modern EFI Systems: Utilizing UKIs (Unified Kernel Images) or systemd-boot.
Mobile/Edge Hardware: Utilizing Android A/B Boot logic (where state lives in misc partitions or GPT attributes).
Proposed High-Level Architecture
Introduce a Backend Provider Interface. The Greenboot core will call a generic wrapper, which delegates the hardware-specific "state writing" to a specialized module.
Target Bootloaders
ukiboot,android boot,systemd-boot,grub2(legacy, backward compatibility)
Why This Matters
Universal Portability: One health-check framework that works identically on a Raspberry Pi (U-Boot/UKI), an Android-based Edge Gateway, or a standard Fedora Server.
Modernization: Aligns Greenboot with the industry shift toward UKIs and systemd-native boot management.
Objective
Transition Greenboot from a GRUB2-coupled logic to a pluggable backend architecture. This will enable native support for modern and diverse boot environments (ukiboot, systemd-boot, and Android) while keeping the core health-checking logic lightweight.
The Problem
Greenboot currently relies on grubenv for state management (boot counting/marking success). This "hard-coding" prevents Greenboot from running on:
Modern EFI Systems: Utilizing UKIs (Unified Kernel Images) or systemd-boot.
Mobile/Edge Hardware: Utilizing Android A/B Boot logic (where state lives in misc partitions or GPT attributes).
Proposed High-Level Architecture
Introduce a Backend Provider Interface. The Greenboot core will call a generic wrapper, which delegates the hardware-specific "state writing" to a specialized module.
Target Bootloaders
ukiboot,android boot,systemd-boot,grub2(legacy, backward compatibility)
Why This Matters
Universal Portability: One health-check framework that works identically on a Raspberry Pi (U-Boot/UKI), an Android-based Edge Gateway, or a standard Fedora Server.
Modernization: Aligns Greenboot with the industry shift toward UKIs and systemd-native boot management.