We are using Raspberry Pis model 3B in some remote deployed products, each one is running a Raspbarian OS image. I'd like to investigate a software update scheme that would allow dual OS partitions, so the system can revert in an automated way to the previous partition if the update fails for some reason. I had implemented such a system before on another custom ARM Linux product, we used a modified boot loader that kept track of the state of the boot process in combination with a hardware watchdog. Any software updates were applied to the non active partition, and the system would try and boot into that partition, but boot into the previous working partition if booting into the newly updated partition didn't work for some reason.
Implementing all of the above however was a lot of work, so I'd like to avoid doing all that again for the Raspberry Pi, if there's any existing software out there that could do this for us.