The Linux environment is full featured and modern, with updated kernels being released far more frequently than comparable environments such as Wind River’s VxWorks or Microsoft’s Windows Embedded. Among factors driving the choice of those kernels for an embedded design are features, flexibility, and kernel requirements among chosen software and hardware drivers.
Linux kernel releases incorporate thousands of changes into a stable kernel release every two to three months. New features are tested, and then the integration is also tested. New features are often summarized in a release announcement from Linus Torvalds. These new features could be just the ticket to give an embedded design the edge over the competition. As an example, support for OverlayFS was added to the mainline kernel in revision 3.18, and we summarized how file systems work with it in an earlier blog post.
Some kernel changes go beyond new features and result in a specialized kernel. SE Linux is one example of this, and the Real Time (RT) patches is another. Developers testing against a Linux kernel now have additional work to test these specialized kernels.
Also added to the Linux kernel are drivers. Embedded system designs often try to incorporate recent hardware and software releases, and drivers are how those gadgets work with the kernel and any Linux application software. Teams of developers, like those at Datalight, work on updating those drivers for each kernel release, and those updates must also be tested and integrated.
This cocktail of various releases has its greatest impact on the embedded system designer. They must juggle not only the hardware design, software applications, and project timeline, but also the matching releases. Between all those obstacles, there may be only one or two Linux kernels that are appropriate for the project.
To make this process as easy as possible for embedded developers, Datalight provides its software in source code and it is designed to build for a wide variety of Linux kernels. We know that kernel selection is not an easy choice for some projects, so our development and testing team makes it a priority that our file system and flash management software works on a wide variety of kernels. If you need a newer or older kernel than the wide range we tested, our support team can often provide a patch to meet your needs. Many obstacles stand in the way of every embedded design and we don’t think kernel compatibility should be one of them.