= Supported boards
:page-partial:
// MC: Included in aktualizr/docs/ota-client-guide/modules/ROOT/pages/supported-boards.adoc
Currently supported platforms are:

* https://github.com/advancedtelematic/meta-updater-raspberrypi[Raspberry Pi 2 and 3]
* https://github.com/advancedtelematic/meta-updater-minnowboard[Intel Minnowboard]
* https://github.com/advancedtelematic/meta-updater-qemux86-64[Native QEMU emulation]
* Renesas R-Car H3 and M3
* https://github.com/advancedtelematic/meta-updater-ti/[TI BeagleBone Black] (rocko only, using TI SDK 05.03)
* https://github.com/advancedtelematic/meta-updater-ti/[TI AM65x industrial development kit] (rocko only, using TI SDK 05.03)

Additionally, there is community support for https://github.com/ricardosalveti/meta-updater-riscv[RISC-V] boards, in particular the Freedom U540.

We also historically supported the https://github.com/advancedtelematic/meta-updater-porter[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 https://ostree.readthedocs.io/en/latest/manual/atomic-upgrades/[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 http://www.denx.de/wiki/U-Boot[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 https://github.com/advancedtelematic/meta-updater-minnowboard[Minnowboard] or https://github.com/advancedtelematic/meta-updater-raspberrypi[Raspberry Pi] integration layers for examples.

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

[NOTE]
====
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 mailto: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 aktuallizr binary is a lightweight {cpp} application between 2-5 MB in size. It uses a miniumum about 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.

[NOTE]
====
If you plan to send updates to secondary, low-performance ECUs, you can also use a more minimal implementaton called link:https://github.com/advancedtelematic/aktualizr/tree/master/partial/libuptiny[`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 mailto:otaconnect.support@here.com[]. 
====