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 memory partition on a device is updated. The update will include all software and firmware on the device, 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.

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.

Recent articles

How over-the-air (OTA) updates help emergency response teams

How over-the-air (OTA) updates help emergency response teams

There’s no getting around it—we live in a connected world where almost every industry is dependent on the Internet of Things (IoT).
What’s hot in the open source and embedded community?

What’s hot in the open source and embedded community?

AI, robotics, IoT, AVs, and more – 2024 is proving to be an exciting year for technology. And the open source and embedded tech community is no exception.
How to use over-the-air (OTA) updates & NVIDIA Jetson Microservices

How to leverage over-the-air (OTA) updates with NVIDIA Microservices for Jetson

Mender, in collaboration with NVIDIA, published two critical use cases, providing a step-by-step guide to over-the-air (OTA) updates with NVIDIA Jetson.
View more articles

Learn more about Mender

Explore our Resource Center to discover more about how Mender empowers both you and your customers with secure and reliable over-the-air updates for IoT devices.

 
sales-pipeline_295756365