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

Add support for full custom update handler #363

Open
wants to merge 1 commit into
base: kirkstone
Choose a base branch
from

Conversation

dennisvec
Copy link

Rauc allows a script to be defined that will perform a full custom update. This script is referenced in the manifest in a section called [handler]. Allow users to specify a script to be provided for this purpose.

Rauc allows a script to be defined that will perform a full custom
update. This script is referenced in the manifest in a section called
[handler]. Allow users to specify a script to be provided for this
purpose.

Signed-off-by: Dennis Van Ee <dennis.vanee@vecima.com>
@jluebbe
Copy link
Member

jluebbe commented Dec 18, 2024

I would have expected that a full custom update bundle would be built outside of any build system, as it should be a one-time recovery operation. What is your use-case to generate them via Yocto?

@jluebbe
Copy link
Member

jluebbe commented Feb 24, 2025

@dennisvec Could you describe you use-case? Otherwise, I'd tend to close this PR.

@jluebbe jluebbe added the kirkstone kirkstone release-related label Feb 24, 2025
@dennisvec
Copy link
Author

In our case the slots on the target system are changing quite frequently (we are adding new slots). Changing slots is somewhat difficult to do since the system.conf needs to be upgraded prior to supporting the slot so this either requires a 2 step upgrade, or some out-of-band method to upgrade system.conf and restarting rauc prior to starting the upgrade. To avoid these issues, we just implemented a custom upgrade handler that works without a system.conf upgrade. Our use case is somewhat corner case; however, rauc does support full-custom-update for special situations (recovery, testing, migration), and if you are already using yocto to build bundles, IMO, it makes more sense to continue to do so for a special use case rather than trying to build a custom bundle manually. We use rauc on a number of projects and frequently encounter the situation where one or more slots need to be added at some point during the lifecycle. The full custom update handler provides a reasonably painless way to do this migration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kirkstone kirkstone release-related
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants