ELinOS comes with range of selected hardware boards supported out of box. To extend possibilities for the customers, ELinOS allows the use of external Linux kernels instead of the integrated ones.
At present, big part of vendors provide their BSPs as overlay for Yocto Linux distribution – which usually also includes a custom Linux kernel branch. However some issues must still be considered – among others, the vendor BSPs are often not synchronized/merged with stable kernel releases. This task is left up to the customer to handle. Additionally, the more complex hardware devices often require several user-space components, some of them even proprietary.
Integrating the Linux kernel tree in ELinOS project only requires a few steps. The advantage resulting from this are the fast turn-around times and the graphical configuration editors that ELinOS provides also in this configuration.
Initial BSP Preparation
The only inherent limitation in using external BSPs is that each ELinOS version requires a minimal kernel version – in case of ELinOS 7.0 it is v4.9. The ELinOS glibc is cross-compiled against this version thus using an older kernel version is not supported.
We will show on the example of the i.MX 8 QuadMax Multisensory Enablement Kit board how to setup the Yocto Linux kernel in ELinOS. After consulting the kernel recipe in https://source.codeaurora.org/external/imx/meta-imx/tree/meta-bsp/recipes-kernel/linux?h=gatesgarth-5.10.9-1.0.0, we will take the kernel tree https://source.codeaurora.org/external/imx/linux-imx and tag lf-5.10.y-1.0.0, and integrate that into the so-called system project.
System Configuration
We start by cloning the kernel GIT repository: