OTA Connect Developer Guide

Supported boards

Additionally, there is community support for RISC-V boards, in particular the Freedom U540.

We also historically supported the Renesas Porter board.

Adding support for your board

If your board isn’t supported yet, you can add board integration code yourself. The main purpose of this code is to provide a bootloader that will be able to use OSTree’s boot directory. In the meta-updater integration layers we have written so far, the basic steps are:

  1. Make the board boot into U-Boot

  2. Make U-boot import variables from /boot/loader/uEnv.txt and load the kernel with initramfs and kernel command line arguments according to what is set in this file.

Take a look at the Minnowboard or Raspberry Pi integration layers for examples.

If you want our developers to add support for your board, contact us at otaconnect.support@here.com and we can discuss a potential NRE (Non-recurring Engineering) agreement.

Although we have focused on U-Boot and GRUB so far, other bootloaders can be configured to work with OSTree as well. If you want to use a different bootloader, contact us at otaconnect.support@here.com.

Your images will also need network connectivity to be able to reach an actual OTA backend. Our 'poky-sota' distribution does not mandate or install a default network manager but our supported platforms use the virtual/network-configuration recipe, which can be used as a starting example.

Minimum hardware requirements for controllers (ECUs)

The aktualizr binary is a lightweight C++ application between 2-5 MB in size. It uses around 20 MB RAM, although some of that comes from shared libraries. It uses a minimum amount of other resources when idle.

The following hardware is required for your primary ECU:

  • At a minimum, the board or device aktualizr is running on will need 64 MB of RAM and 128 MB of storage.

  • We recommend using a board with slightly higher specs, however. 256 MB of RAM and 512 MB storage are reasonable targets, especially if you plan to process large, complex software updates. The aktualizr process itself won’t consume significantly more RAM with larger updates, but the filesystem cache memory usage might increase.

If you plan to send updates to secondary, low-performance ECUs, you can also use a more minimal implementaton called libuptiny. This utility is only 10 KB and performs a minimal verification of software metadata that is less resource intensive. For more information on libuptiny, contact us at otaconnect.support@here.com.