Additionally, there is community support for RISC-V boards, in particular the Freedom U540.
We also historically supported the Renesas Porter 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:
Make the board boot into U-Boot
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.
If you want our developers to add support for your board, contact us at firstname.lastname@example.org 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 email@example.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.
The aktualizr binary is a lightweight C++ application between 2-5 MB in size. It uses a minimum amount of resources when idle.
The following hardware is required for your primary ECU:
At a minimum, aktualizr needs 16 MB of RAM and 128 MB of storage to run.
We recommend that you use a controller with 128 MB of RAM and 512 MB storage — especially if you if your plan to process large, complex sofware updates.
If you plan to send updates to secondary, low-performance ECUs, you can also use a more minimal implementaton called