What comprises a board integration?

Apologies if this is documented somewhere - I’ve searched the docs and this forum and haven’t been able to find a definitive answer. I’d like to know what comprises a board integration.
I have a Raspberry Pi image that I have heavily customized and I’d prefer not to start from scratch building that image again from a Mender downloadable image.
The docs say that " in order to support system updates , a board integration is required which includes more than simply installing Mender on top of a running operating system." Since this is in a production environment I’d like to have the ability to perform system updates if necessary.
I know that I’ll need to create a Mender-style partition structure and install the Mender client but what else is required to provide the same robust and supportable environment as a standard board integration?
Thanks, Andrew.

Hi @ASwingler at the highest level, a board integration consists of adding the mender client and configuration files to your Linux runtime as well the bootloader integration for your particular hardware. This generally consists of the custom boot logic that handles the boot time selection of the A or B partition. Finally, there is the setting up of the multiple partition structure.

In your case, you have a custom golden master image that you wish to integrate with Mender. This is exactly what our mender-convert utility is designed for. Essentially, you create an image from your Rasbian boot SD Card, then use that as input to mender-convert. This utility will then add the mender client and config files into your filesystem, add the appropriate bootloader and partition setup and create two images:

  1. The sdimg file which gets written to a new SD Card and booted up to provision a new device.
  2. The mender file which is an OTA artifact that can be deployed to the system from #1 above.

Note that the recommended workflow is that you make all your changes on the original image which does not have Mender integrated, and then when you have a new release, create a new input image and rerun the mender-convert setup.

Hope that helps clarify.


Thank you for the comprehensive response @drewmoseley - that’s very helpful.

So if I use mender-convert I end up with an image that’s as resilient as I would get if I started with an ‘official’ Mender downloadable image, and allows me to do system updates too?

Regards, Andrew.

Yes. In fact the prebuilt images we provide were created with mender-convert.