Software Update

The software update service manages all aspects of software update, including interaction with the built-in OTA agent.

A software update can be initiated either from the ACU6 Device Manager or by a user application running on the device.

An interface is exposed via the IPC system which enables user applications to read current software versions, monitor software update status and initiate an update.

Software Update API Reference

The Software Update Process

A software update is performed in multiple steps:

  1. A software update is requested from either the ACU6 Device Manager backend or a local user application.

  2. The device prepares the inactive A/B system for the update.

  3. Update files are downloaded, verified and installed.

  4. The device waits for confirmation, from the user application, to do the update by switching to the other A/B system.

  5. The device reboots into the new system, performing any remaining update actions during boot.

  6. The user application checks that the user software is OK and informs the device.

OTA (Remote) Update

An OTA update is initiated by the ACU6 Device Manager. You can trigger an OTA update from the ACU6 Device Manager.

Local Update

A local update is initiated by user software on the device. The user software requests an update to be prepared, sends the tar bundle and then confirms that the update shall proceed.

Refer to the actia-software-update demo applications and the Software Update API Reference.

The following example uses the local update demo on ACU6 Pro to install the software images built using buildroot:

$ scp build-guestimage/images/user-bundle.tar acu6pro:/media/user_mass_storage
$ ssh acu6pro
# killall software-update-always-start-daemon # Optional. Disables auto-start of the update.
# software-update-local /media/user_mass_storage/user-bundle.tar