Remotely update your host operating system on resin.io

resinhup

#1

At resin.io, we offer our users a simple way to remotely update their applications running on fleets of IoT devices. This usually means that users don’t need to worry about updating the host operating system, since their code lives inside of a Docker container running on top of the host OS. But, since we periodically release updates and improvements to resinOS (the host OS running on all resin.io devices), we also consider the ability to remotely update a device’s host OS to be a core feature.

We have been working hard to make this process easier for our users. We began offering experimental self-service updates for resinOS 1.x versions in February. We then released resinOS 2.x, which was designed with even more robust updates in mind. We’ve been beta-testing updates from 1.x to 2.x and between 2.x versions for a while now, with hundreds of successful updates performed, and we are happy to announce that we can now offer self-service host OS updates between 2.x versions, from 1.x to 2.x versions, and for an expanded range of 1.x devices!

For the Raspberry Pi series, you can now update from resinOS versions 1.8.0 and upwards (including 2.x versions) to any versions after resinOS 2.2.0!

For BeagleBone devices, you can update resinOS 1.8.0 through 1.26.0 to the newly released transitional 1.30.1 versions, and from 1.30.1 and upwards (including 2.x versions) to versions after 2.2.0.

For Intel NUC and UP Boards, you can update 2.x versions to versions after 2.2.0.

To run an update, navigate to your device’s Actions tab, click Update ResinOS, and select the version of resinOS you would like to update to.

We encourage you to keep your host OS up to date to take advantage of the fixes and improvements we release!

A few notes:

  • At the moment, only production and release candidate resinOS versions can be updated. Development and beta versions cannot.

  • You will see a progress bar that marks the steps completed for the update. Some steps that take longer, such as the device downloading the new OS image, may make the progress bar appear stuck. This doesn’t mean anything has gone wrong with your update. We are working on making the update process more informative.

  • Update time can vary significantly, depending on the speed of your network, the speed of your SD card (or other storage medium), and your device performance.

  • ResinOS 1.x to 2.x updates limit the amount of data you can have in your application’s /data folder to about 170MB (compressed). If you have more data, the update will fail and your device won’t be modified.

  • For device types and resinOS versions that are not yet supported, please get in touch with us! We are continuously expanding the range of versions and types that can be updated.

  • If your resinOS update fails for any reason, the device should still be recoverable. If you have any issues, please post in the troubleshooting section.

More information on what exactly goes on during the update process can be found in our writeup.

If you have successfully updated the host OS on your devices and would like to provide us any kind of feedback, we’d love to hear from you. Happy updating!