Fix OS update reboot, boot confirmation and repeated downloads - #12
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ae394ac4ac
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Pi OS updates could install successfully but fail to reboot because
rebootreceived two arguments instead of the required single0 trybootargument. Unpaired x86/Pi clients also failed to confirm healthy trial boots, allowing a later reboot to return to the old OS and download the update again.This change makes the signed bundle wait for successful RAUC activation before rebooting, confirms healthy pairing screens, and persists the client attempt and RAUC metadata across root-slot changes. Startup and paired updates share bounded attempts; installed or uncertain outcomes block automatic reinstallation. Channel changes do not kill an in-flight RAUC transaction or delete its bundle. BF preserves the attempted version, reports rollback/errors, and exposes retry controls and pairing-screen diagnostics without requiring a shell.
The bundle carries the reboot repair for upgrades from 0.318/1.0.0. Already published v1.0.0 bundles remain unchanged; deployment requires a new OS release after merge. No signing keys or client lockdown permissions change. This branch also includes the existing four-line Android SDK setup fix from PR #11, needed because master still requests the removed SDK tools package.
Validation: