Software Updates and OTA
Introduction¶
Software maintenance does not stop when a product ships. Product teams need a defined way to deliver bug fixes, security updates, and feature enhancements over the product's lifecycle.
Software updates are a core part of long-term product maintenance. They affect how fixes are delivered, how recovery is handled, how trust is established for new software, and how a product remains maintainable after initial deployment.
Variscite provides several options for implementing software updates on supported releases, including documented examples and integration paths that can be used as a foundation and adapted to the needs of a specific product and deployment model.
Typical Update Models by Software Stack¶
Software update approaches can vary significantly between products. The software stack and product requirements determine whether updates are delivered as package-based updates, image-based updates with A/B designs, local updates from removable media such as USB pen drives or SD cards, or OTA updates through self-hosted or managed solutions.
Variscite provides documented examples and integration paths for several of these approaches on supported releases.
| Software stack | Typical update model |
|---|---|
| Yocto Project | Image-based update architectures, typically with A/B or recovery-oriented designs. |
| Debian | Package-based updates, optional image-based update architectures typically with A/B or recovery-oriented designs, or a combination of both. |
| Android | Android OTA package generation and installation flows based on the Android software stack. |
| Zephyr / MCUXpresso / MCU-PLUS-SDK | Typically delivered together with the parent Linux or Android platform. |
Software Update Reference Designs¶
Variscite provides working examples for multiple update approaches on supported releases. These examples are intended to show practical implementation paths that product teams can use as a foundation and adapt to their own requirements.
SWUpdate¶
Best for: DIY, self-hosted, offline, or highly customized update flows.
SWUpdate is an open source update agent for embedded Linux that supports image-based update workflows, local and remote delivery methods, and A/B system layouts. Variscite provides a Yocto-based example demonstrating how SWUpdate can be integrated, including recovery SD card image preparation, generation of .swu update artifacts, and an A/B update using the .swu.
Specific instructions and examples can be found in the release specific documentation by searching for swupdate. For example, see SWUpdate guide for the latest Yocto release on the DART-MX8M-PLUS. Additional information is also available in the official SWUpdate documentation.
Mender¶
Best for: Products that benefit from a managed OTA workflow with cloud-based deployment and device management.
Mender is an open source OTA update manager for embedded Linux that supports A/B updates, rollback, local update workflows, and both self-hosted and managed deployment models. The open source version can be used without a subscription for local update workflows or self-hosted deployments, while hosted commercial support is also available directly from Mender. Variscite provides Yocto-based examples demonstrating how Mender can be integrated, including A/B update configurations, artifact generation, and deployment workflows for both local and remote OTA updates.
Specific instructions and examples can be found in the release-specific documentation by searching for Mender. For example, see Mender guide for the latest Yocto release on the DART-MX8M-PLUS. Additional information can also be found in the official Mender documentation.