-
Notifications
You must be signed in to change notification settings - Fork 228
Does the install-same slot config attribute work? 8000 #1441
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
Comments
edited
Uh oh!
< 8000 p data-view-component="true">There was an error while loading. Please reload this page.
@ejoerns Thanks for the reply. #1392 fixes the issue for non-redundant slots, but redundant slots seem broken now. The issue seems to be that RAUC checks the hash of the inactive slot, rather than the active slot. So: rootfs.0, booted, SHA256 = "123" Note that the redundant slot case isn't important for me, it's just something I noticed while testing. I can carry the patches from #1392 until whenever the next release is. |
@andersm I am not sure if I understand correctly what the issue is here. Slot skipping only means that RAUC will skip updating the slot it would write to. Taking Scenario 1:
Here the update would write to rootfs.1. Thus RAUC checks if the bundle hash to write is the one that is already present in the target slot. Here "456" is present while "123" should be installed. Thus performing an update is the intended behavior. Note that RAUC will not skip the update itself if an active slot matches the current bundle One reason is that slot skipping works on a per-slot base and there might be multiple slots per slot group from which others cannot be skipped. |
@ejoerns That is not made clear in the documentation, but it also renders the whole feature kind of pointless, at least for a basic A-B setup. |
@andersm Slot skipping is a feature from the earlier days of RAUC, but there are still some potential use cases. You'll benefit from it if you have a setup with multiple slots per slot group and one slot is updated more frequently than the other. Another optimization we had in planning was to just sync content from the active to the inactive partition in case the active one is found identical to what's about to be installed. See #376 for more information. Nowadays, we have adaptive updates and enhancing the update based on these is the more generic and more efficient approach, especially for actual OTA updates. |
Describe the bug
RAUC will re-write the same update to a slot, even though the system.conf file has "install-same=false" for that slot. This happens both on bootloader and ext4 rootfs slots.
Background information
RAUC v1.11.3, with a Yocto Kirkstone build.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
RAUC should skip the slot.
Logs
If applicable, add console output or logs from the RAUC service to help explain your problem.
Additional context
It seems that inside
handle_slot_install_plan()
,slot_state->checksum.digest
is always a NULL pointer, causing the skip check to fail. https://github.com/rauc/rauc/blob/master/src/install.c#L984The test in the test suite for this config option do not seem to verify that the second install operation is actually skipped.
The text was updated successfully, but these errors were encountered: