Yocto Guide¶
Board Support Packages¶
We provide and maintain two projects that offer software for our modules using the Yocto Project. Below are the corresponding guides:
The table below helps you choose the appropriate guide based on your module.
Note
If you’re new to Yocto, we recommend reading the respective section below before you continue choosing a guide.
Module |
Kernel Version |
Latest Release |
Usage Guide |
Supported Build Hosts |
|---|---|---|---|---|
|
linux-imx_6.6.52_2.2.2 NXP Kernel [6] |
scarthgap KARO-2026-09-17 on GitHub |
||
|
Linux 6.6.116 |
scarthgap KARO-2026-10-02 on GitHub |
||
|
Linux 6.1.141-cip43 Renesas Kernel [7] + Ka-Ro patches |
scarthgap KARO-2026-09-17 on GitHub |
||
|
Linux 5.10.61 Mainline [3] |
hardknott KARO-2022-07-14 on GitHub |
To customize or extend our BSP for your custom baseboard or additional functionalities, start by following our customization guide:
Development Environment Setup¶
Host Setup¶
The Yocto Project can be built on supported Linux distributions. To keep the host operating system independent of these requirements, a virtualized environment such as a virtual machine or container (e.g., Docker) can be used to provide a compatible build environment.
Linux distribution
If you aim to build Yocto natively on your host, then restrictions apply regarding which Linux distributions you can use, as defined by Yocto’s supported distributions.
Under Windows, use one of the following to work in a Linux environment:
With that, you should be able to set up a working Linux environment. Once complete, you can proceed to configure your Yocto build environment.
Build Environment Setup¶
To build Yocto, a specific environment is needed. This environment can be set up in different ways, depending on your preferences and the tools you want to use. Below we document several approaches to setting up a build environment for Yocto and developing with it:
Legacy Yocto¶
These Yocto releases are still available but they are deprecated, please use the new ones listed above instead.
Module |
Kernel Version |
Yocto Release |
Usage Guide |
Supported Build Hosts |
|---|---|---|---|---|
|
linux-imx_6.1.36_2.1.0 NXP Kernel [6] |
Mickledore |
||
|
linux-imx_6.1.1_1.0.0 NXP Kernel [6] |
Langdale |
||
|
Linux 6.1.28 |
Mickledore |
||
|
Linux 5.10.184-cip36 Renesas Kernel [8] + Ka-Ro patches |
Mickledore |
||
|
linux-karo_4.14.98 NXP Kernel [5] |
Sumo |
||
|
linux-karo_4.14.24 Mainline LTS [3] |
Rocko |
If you’re new to Yocto¶
First, let’s explain some terms:
BSP - Board Support Package:
A Board Support Package is a collection of information that defines how to support a particular hardware device, set of devices, or hardware platform. It includes information about the hardware features present on the device, kernel configuration, and any additional hardware drivers required. It also lists any additional software components required beyond a generic Linux software stack for both essential and optional platform features. [1]
BSP-Layer:
See section 1.1 in the official Yocto documentation of the Scarthgap Release.
Recipe:
Recipes (.bb files) are fundamental components in the Yocto Project environment. Each software component built by the OpenEmbedded build system requires a recipe to define the component. [2]
On GitHub we provide different BSPs and layers. The following table gives you an overview:
Repository |
Type |
Description |
|---|---|---|
BSP |
Ka-Ro’s Mainline Yocto BSP for boards. |
|
Layer |
Ka-Ro’s Mainline Yocto layer for our CoMs. |
|
Layer |
Ka-Ro’s Mainline Yocto Distro layer. |
|
BSP |
Ka-Ro-flavored NXP i.MX Yocto BSP. |
|
Layer |
Ka-Ro’s Yocto layer for NXP i.MX Processor-based boards. |
|
Layer |
Ka-Ro’s NXP Yocto Distro layer deprecated (prior to mickledore release) |
Glossary