Okay wait a minute. It sounds like you’re conflating two separate things now. The
ostree_repo
from your build has no effect on the rollback of your device. When you do an update on your device it downloads the ostree for that version from the server. The device will retain the previous version’s ostree deployment as a rollback, locally on that device. Theostree_repo
on your local Yocto build does not matter at all for this process.
I’m quite new to OSTree and aktualizr so I got that mixed up.
So the OSTree repo of a Yocto build is independent from the update and rollback process on the device. For every update package I want to deploy it is generally possible to have a new build environment and therefore a new repo.
One disadvantage is that the device has to download the entire repo from the server each time and not just the differences.
But when I use offline updates, this disadvantage doesn’t matter because the lockbox always contains the complete repo.
Another disadvantage could be that a completely new rootfs is written during an update due to the new repo and not just the differences, which significantly increases the memory requirements on the device.
Are my thoughts correct? Are there other disadvantages or problems when using a new repo for every build?
Again, if you could describe what your exact use-case/goal is here then I could have a better understanding of what your expectations are.
Perhaps I still have the wrong idea of how an update works in detail.
In the meantime, I found this thread, which essentially answers the question about the hooks : Selectively trigger aktualizr for offline updates - check and install subcommands
And for my question about the update progress, I’ll have to take a closer look at the logs from akutalizr.
Best regards,
Markus