OTA Updates for 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 approaches when it comes to what operating system to run devices on. Either build a custom distribution with tools such as Yocto or Buildroot, or use a binary distribution where Debian and derivatives are common. Raspberry Pi Foundation provides 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 .
There are various needs such as bug fixes, vulnerability patches and feature updates that arise during the product development lifecycle that will require over-the-air (OTA) software updates to a fleet of internet connected RPis. Deploying OTA updates can be components related to a whole system or applications:
- System update can be a low level bootloader, kernel, root filesystem that enable the underlying operating system software capabilities.
- Application update (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.The update will include 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. The main disadvantages with this method are additional costs to accommodate the extra storage capacity needed for the two partitions and data costs over cellular networks when hundreds of megabytes of data transfer are required since the entire partition is updated.
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. Application updates come in relatively smaller size than system updates and favor use-cases where frequent updates and data transfer cost are the primary concerns. 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 is entirely up to the device requirements and the environment they function in.
Get up and running quickly with Mender and Raspberry Pi
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.