Over-the-Air Updates on Raspberry Pi

Due to its low cost, modularity, and open system design the Raspberry Pi devices have taken the computing and digital world by storm.
In embedded Linux development, there are two main approaches when it comes to selecting an operating system for devices. You can either build a custom distribution with tools such as Yocto or Buildroot, or opt for a binary distribution where Debian and its derivatives are popular choices. The Raspberry Pi Foundation provides a Raspberry Pi operating system (OS) image, which is a Debian-based binary Linux distribution. For many development teams in small scale IoT projects it is common to start out with a binary distribution such as the Raspberry Pi (RPi) 4 kit, particularly when considering the integration of over the air update Raspberry Pi solutions.
Throughout the product development lifecycle, various needs such as bug fixes, security patches, and feature enhancements necessitate over-the-air (OTA) software updates for a fleet of internet-connected Raspberry Pis. OTA updates can target either the entire system or specific applications:
- System updates can be a low level bootloader, kernel, root filesystem that enable the underlying operating system software capabilities.
- Application updates (sometimes referred to as partial or micro update) in the higher software stack deals with user experience and device functionality and may require updating docker containers, packages, files, and configurations.
In a system update the entire operating system partition of a device is updated. This process includes all software on the partition, even when the update only contains a small change in a file. For a “brick-free” and redundant update process, system update is the most robust and safe updating method. However, this approach has drawbacks, such as the need for additional storage to support dual partitions and increased data costs over cellular networks, as the entire partition must be updated, often involving the transfer of hundreds of megabytes.
In application updates only particular parts of the software on the memory is updated. If there is only a minor change in a file, the OTA update will only include a new version of that particular software. These updates are generally smaller in size compared to system updates and are ideal for scenarios where frequent updates and minimizing data transfer costs are crucial. The disadvantages are that the risk of ‘bricking’ the device is higher and also often lead to inconsistencies in versions and dependencies of applications installed across the device fleet over time.
Ultimately, what methods are used for an over the air update of a Raspberry Pi is entirely up to the device requirements and the environment they function in.
Get up and running quickly with over the air updates for Raspberry Pi with Mender
You can connect almost any device and Linux OS with Mender, but to make it simple during evaluation we recommend using a Raspberry Pi as a test vehicle. Mender provides both system and application updates for deploying over-the-air (OTA) software updates to Raspberry Pis. The Mender client is integrated into the Raspberry Pi OS image with Raspberry Pi 3 Model B and B+ and Raspberry Pi 4 Model B. Follow the step-by-step guide in the Mender documentation to prepare your device and start managing and deploying OTA updates for Raspberry Pi.
Quickly and easily evaluate and deploy OTA updates using a secure server Mender hosts with this step-by-step onboarding guide. In this tutorial, you will learn how to do robust system level updates with rollback and in this tutorial, you will learn how to deploy an application update.
Mender also offers a set of features for solving device management use cases beyond OTA software updates. Some of the add-on features such as Remote Terminal are also available as open source. The add-ons will give users an expansion path to customize and enhance their usage to meet other device fleet management requirements.
Keep reading
Learn more about integrating Mender's OTA software updates with your project:
Related articles
How to leverage over-the-air (OTA) updates for NVIDIA Jetson Platform Services
First alpha version of Mender C++ client released
Mender OTA on the ESP32, Part 2
Learn why leading companies choose Mender
Discover how Mender empowers both you and your customers with secure and reliable over-the-air updates for IoT devices. Focus on your product, and benefit from specialized OTA expertise and best practices.
