How to update the supervisor

I have multiple Raspberry pi devices on a nodejs project. Currently I have the problem that I receive segfaults when I disconnect a device. I see that the resin supervisor has updates in its changelog that could help to solve the problem.

So my question is how to update the resin-supervisor from the dashboard?

Brett

Hi Brett, currently you need to update the OS to update the supervisor. You can see instructions for how to do that here (note that we also just released support for group OS updates, so you can update your entire fleet at once!): https://docs.resin.io/reference/OS/updates/self-service/

If you really need to update the supervisor separately from the host OS, let us know and we can try to help you with that.

Hi Alison,

So At this moment its not possible to update the supervisor independently? I want this feature supervisor release v7.16.1 - 2018-07-25

  • Dont restart service on device name change #704 [Cameron Diver]

And in the latest resin-os Resin OS 2.13.6+rev1 the supervisor version is: 7.14.0
Is it correct that I need to wait until resin releases an resin-os update?

Brett

Yes, correct, at the moment it’s not possible for you to update the supervisor independently on your own, though we can force a supervisor update for you if it’s necessary. The main reason is that we test certain versions of the supervisor with versions of the OS to make sure they are compatible, and don’t want users to update to a supervisor version that is not compatible with their OS version.

The new supervisor release will be available in the next OS release, which should be out very soon.

Thank you for the info, we will test the new supervisor as soon as it launches.

There’s actually a way to do it manually, although I’d advise to update the BalenaOS version first. After you did that:

  1. Log into “Host OS”
  2. Open /etc/resin-supervisor/supervisor.conf in vi
  3. Edit the version of the supervisor to match the one you need (the one that fits the BalenaOS version you’re using)
  4. Save the file, and reboot the Host OS by either clicking Reboot on the device or issuing reboot inside the Host OS Container.
1 Like

Actually, even easier - in the Host OS just run update-resin-supervisor -t v<SUPERVISOR_VERSION> and… profit!

3 Likes

We have several instances of balenaos-in-container running on EC2 instances. I have updated several of them manually to resin/resinos:2.68.1_rev1.dev-intel-nuc (changing the BalenaOS image version). However, when I run update-resin-supervisor -t v12.3.0, they all now say WARN: Ignore image/tag arguments as API overrides them. They are currently running older versions of the supervisor (some 9.x, some 10.x). How do I update them to the latest?

Different hardware with BalenaOS 2.47, but 10.6.27->12.5.10 just worked for me with tomgs’s first method.

echo "SUPERVISOR_IMAGE=balena/armv7hf-supervisor
SUPERVISOR_TAG=v12.5.10
LED_FILE=/sys/class/leds/led0/brightness" > /etc/resin-supervisor/supervisor.conf
reboot --reboot

The override might still affect the file in 2.68 though.

Ah found it. It turns out that you can now update the supervisor from the web console. Select the device, go to Actions and click on Update Supervisor there.