Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Charge SOM: Add firmware chapter #39

Merged
merged 3 commits into from
Mar 14, 2025

Conversation

lategoodbye
Copy link
Member

After this pull request the RAUC jpg files in the CCC branch needs to be converted.

As long as the mountpoint graphic is generic move it to the
includes.

Signed-off-by: Stefan Wahren <[email protected]>
These screenshots are product specific, but are used from a generic
include. While at this use PNG instead of JPG.

Signed-off-by: Stefan Wahren <[email protected]>
@lategoodbye lategoodbye requested review from barsnick and FaHaGit March 12, 2025 10:26
Copy link
Contributor

@FaHaGit FaHaGit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only a suggestions. Everthing else LGTM

Partitioning
-------------

The internal eMMC storage of a chargebyte device is divided into several partitions. The main aim is to have two independent systems available, i.e. system A and system B. This allows to running firmware updates in background while performing normal charging operation, and then switching to the updated system with a fast restart of the device. This also allows to supporting a rollback mechanism in case of failures during firmware updates. In other words, during a firmware update, the active root file system switches from A to B or vice versa, leaving the other as rollback.
Copy link
Contributor

@FaHaGit FaHaGit Mar 13, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only a suggestion, think this sounds better. I know that this should also be changed in CCC.

Suggested change
The internal eMMC storage of a chargebyte device is divided into several partitions. The main aim is to have two independent systems available, i.e. system A and system B. This allows to running firmware updates in background while performing normal charging operation, and then switching to the updated system with a fast restart of the device. This also allows to supporting a rollback mechanism in case of failures during firmware updates. In other words, during a firmware update, the active root file system switches from A to B or vice versa, leaving the other as rollback.
The internal eMMC storage of a chargebyte device is divided into several partitions to support two independent systems: system A and system B. This setup enables firmware updates to run in the background while the device continues normal charging operations. Once the update is complete, the system can switch to the updated version with a reboot of the device. Additionally, this approach supports a rollback mechanism in case of update failures. In other words, during a firmware update, the active root file system switches from A to B (or vice versa), leaving the other partition available for rollback if needed.

@lategoodbye lategoodbye merged commit 546a263 into everest/charge_som Mar 14, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants