Upstream First - Toradex Mainline Kernel Support is a Reality
Last quarter, we reached an important milestone in the Toradex software strategy.
The quality of our hardware and software is well known, and we are committed to open-source initiatives in most projects across our product line. We are an active contributor to the Linux kernel in particular and, in keeping with this, recently changed our strategy to commit everything possible to the mainline Linux kernel — we are now enthusiastically "Upstream First."
When possible, our releases - starting with BSP 6.0.0 - come to life with the latest stable mainline Linux kernel (for instance, kernel v6.0 in the mentioned version). That is the first time where you'll find all our supported 32-bit i.MX-based SoMs using only the mainline/upstream kernel. Our Verdin family, which includes the iMX8M Mini and iMX8M Plus, also has an experimental version of the mainline kernel available. This will be released as an alternative to the NXP®-based downstream BSP that is still supported on these boards.
We use OpenEmbedded/Yocto Project 4.0 (Kirkstone) - a Long Term Supported (LTS) version. With our mainline first, or Upstream First, policy, Toradex will implement and fix technical solutions properly in upstream open-source projects (in this case, the Linux kernel). Once it is accepted, it is backported to potential (stable) forks, also known as downstream. This decision also reiterates our commitment to contributing to open-source projects and the community.
In the mainlining process, we submit our code and patches upstream and have several more reviewers looking through our code. That improves quality, robustness, and code standardization. But this might also result in the process taking longer to complete. Toradex has no direct control over the upstream review and acceptance process. Sometimes our code needs to be reworked, or a completely different implementation approach is required to solve a small problem. Quality gains require this price. Future versions will automatically contain our changes, or an even better version of those changes, as someone else can contribute and improve on our work.
We will also include those changes in every downstream version forked after they got merged upstream. Therefore, the downstream quality will also improve as soon as the newly supported features are inherited in all new versions. Examples of that are the SoC Vendor specific versions and the SLTS - Super Long Term Support - from the Civil Infrastructure Platform. Eventually, we will maintain a later mainline kernel branch over a longer period as an LTS. Official backports to an LTS need to have a confirmed upstream status - meaning they need to be merged Upstream First.
Our release of the BSP 6.0.0 with the Linux kernel v6.0 is no coincidence; it is a landmark representing our team's and the entire open-source community's hard work to make every product better and more useful.
Enjoy our new Release!
Renato Kiss, Product Manager - Software, Toradex