As an alternative to the update process, we can have a small recover/update partition that we can boot into. This partition would remain completely static, and serve a webpage that allows uploading a new image file. The recovery partition will image a second (main) partition with the companion software image.
This method of updates will provide a lot of benefits:
safer (can't brick companion)
more consistent (check partition hash, no failed downloads)
does not depend on wifi
maintainable (does not require maintaining/bugfixing scripts that install dependencies)
better application longevity (like a bootloader, the updating software/implementation is completely independent of the main/companion software)
Some things to think about:
will this work on any companion computer? If so, are there any additional requirements on certain systems (ie two storage mediums, or differences in software approach)?
As an alternative to the update process, we can have a small recover/update partition that we can boot into. This partition would remain completely static, and serve a webpage that allows uploading a new image file. The recovery partition will image a second (main) partition with the companion software image.
This method of updates will provide a lot of benefits:
Some things to think about: