A collection of Yocto Project recipes for the mainline and stable Linux kernel releases from kernel.org.
This layer currently contains the following kernel recipes:
linux-stable (multiple versions): These recipes follow the patch releases
in each currently supported stable release series of the Linux kernel. The
currently supported release series can be seen at
linux-mainline: This recipe uses AUTOREV to pull the latest commit to the
master branch of the mainline Linux repository. As this branch includes
release candidate (rc) kernels it is only recommended for testing and active
It is expected that some BSP layers will directly use this layer to provide a vanilla kernel recipe where a vendor kernel is not needed. In these cases no changes will be needed to make use of the kernel recipes in this layer.
For other BSP layers you may be given a choice between a vendor kernel and a
vanilla kernel. The method of choosing the desired kernel provider will be
BSP-specific. An example of this can be seen in the
meta-sancloud BSP where the
kernel recipes from this layer are used if
BBE_KERNEL_PROVIDER is set to
Many Board Support Package (BSP) layers default to using a vendor-specific kernel repository (containing many patches which haven't been incorporated into the upstream kernel) or an obsolete kernel version. However, most boards are supported by the mainline Linux kernel to some degree or other. Switching to a mainline kernel allows you to take advantage of bugfixes & new features and enables you to work more closely with the kernel community.
The kernel recipes in this layer are intended as optional replacements for
the vendor kernel recipes included in a BSP directory. Simply including this
layer in your build will not alter the kernel recipe in use. To select a
kernel recipe from this layer you should override the
PREFERRED_PROVIDER_virtual/kernel variable to either
linux-mainline as appropriate. If using
linux-stable it also also
possible to set
PREFERRED_VERSION_linux-stable to choose a stable kernel
To simplify the process of selecting a kernel recipe from this layer, 3
.inc files are provided which can be included from your
or from a distro conf file:
conf/linux-mainline/stable.inc: Selects the
linux-stable recipe for the
latest stable kernel version (typically not an LTS kernel).
conf/linux-mainline/lts.inc: Selects the
linux-stable recipe for the
latest LTS kernel version.
conf/linux-mainline/mainline.inc: Selects the
To support a particular target board with
it is usually necessary to select an appropriate defconfig from the kernel
source tree. It may also be necessary to provide additional configuration or
to make changes to the bootloader to properly support a vanilla kernel.
This layer includes a selection of
.inc files which add support for a
vanilla kernel if it is not supported already by the relevant BSP layer. To
use the appropriate
.inc file, add the following line to your
or distro conf file:
If you find any bugs or have a feature request feel free to open a ticket in the issue tracker.
To submit patches to meta-linux-mainline please
send them to my public inbox
[meta-linux-mainline] in the subject line. Please use
plain text email when sending messages to this
list. Submitted patches and other discussions may be found in the
archives of this mailing list. The
following commands can be used to configure git to format patches appropriately:
git config format.to '~firstname.lastname@example.org' git config format.subjectPrefix 'meta-linux-mainline][PATCH'
Further instructions on how to set up git to send emails can be found at git-send-email.io.
Paul Barker <email@example.com>