2 ms·
I've used RAUC (https://rauc.io/ https://rauc.io/) professionally for a couple of projects and am happy with it. There's a RAUC meta layer which provides bbclas
by mort96 2y ago
I've used RAUC (https://rauc.io/ https://rauc.io/) professionally for a couple of projects and am happy with it. There's a RAUC meta layer which provides bbclasses for generating rauc bundles from an image recipe. It's not that complicated to set up boot partition selection in u-boot.
For embedded systems, I strongly prefer the "full immutable system image update" approach over the "update individual packages with a package manager" approach. Plus you get rollbacks "for free": if the system doesn't boot into the new image, it automatically falls back to booting into the previous image.
- unitexe 2y agoOne has to implement the rollbacks in the bootloader after they have implemented an A/B update pattern. In u-boot this is done with its boot count limit config and altbootcmd.
- mvip 2y ago+1 for "full immutable system image update" People who suggest updating individual packages (or even worse, individual deb packages for instance) have never deployed any large scale IoT/Embedded projects. These devices are very different than servers/desktops and will break in ways you can't imagine. We started out using deb packages at Screenly before moving to Ubuntu Core, and the amount of error/recovery logic we had written to recover from broken deb package state was insane at that point.