Once you have generated an update package, you can use it to update your system. See Create a signed OTA package.

There are several ways to update your device:

Update from Android Settings

Follow the steps to update your system from the Android settings menu using an already generated package:

  1. Place the update package you have generated anywhere inside the Android file system. It can be located either in the internal memory or in any removable device such as micro SD or USB stick.

  2. Navigate to the Android settings and select the System category.

    System

  3. Expand the Advanced category and select the System update option. A file explorer opens.

  4. Browse to your update package file in the Android file system and select it.

    Select the update package

  5. Confirm the update package you want to use by selecting OK in the Update firmware dialog. The firmware update process starts.

Remember that the system will be restarted during the update process.

You can also install an update package from a custom Android application using the Firmware update service API provided by Digi. See Firmware update API

Firmware update process

Once the firmware update process is triggered, it follows these steps:

  1. Device reboots into recovery mode. The kernel in the recovery partition is booted instead of the kernel in the boot partition.

  2. Recovery binary is started by init. It finds command-line arguments in /cache/recovery/command that point it to the update package.

  3. Data is pulled from the package and used to update the boot, vendor, and system partitions. One of the new files on the system partition contains the contents of the new recovery partition.

  4. Device reboots normally.

  5. The newly updated boot partition is loaded, and it mounts and starts the newly updated system partition.

  6. As part of normal startup, the system checks the contents of the recovery partition against the desired contents (previously stored as a file in /system). They are different, so the recovery partition is reprogrammed with the desired contents. On subsequent boots, the recovery partition already contains the new contents, so no reprogram is necessary.

  7. The system update is complete. The update logs can be found in /cache/recovery/last_log.#.