Skip to content
mcgrof edited this page Feb 17, 2012 · 45 revisions

compat - Linux kernel backport module

This page is dedicated to compat, a generic Linux kernel backport compatibility module that has been brewing since 2009. The compat module provides functionality introduced in newer kernels to older kernels through a set of header files and exported symbols. The compat module allows code from newer kernel releases to be used on older kernels without modifications with a few exceptions. Exceptions to achieve automatically backporting kernel code through the compat module are dealt with through specific mechanisms documented in compat-wireless project page and most recently through the slides used at the 2011 Linux Plumbers presentation on automatically backporting the kernel.

By using compat and frameworks such as compat-wireless we hope to ensure developers can prioritize working directly upstream on the Linux kernel and provide deliverables to end users and customers for any target kernel.

compat-wireless today automatically backport the Wireless, Bluetooth and Ethernet drivers directly from the Linux kernel on a daily basis by using linux-next.git. We also make stable backport releases by using the linux-stable.git trees. We are considering expanding this framework to automatically backport more drivers -- patches are welcomed, otherwise, you'll have to wait until someone decides to integrate other subsystems. If one more subsystem is backported compat-wireless will just be renamed to compat-kernel.

Supported kernels

The goal is to backport new kernel functionality at least down to the oldest stable supported kernel listed on kernel.org, but backporting code further is certainly welcomed. Currently this means supporting backporting down to the 2.6.27 Linux kernel release. Although our goal is to at least support backport efforts down to 2.6.27 the compat module currently has code to support even older kernels, and we welcome code to support older kernels as well.

Mailing list

As it right now we use the Linux wireless mailing list given that this project started as a part of the compat-wireless project, which was automatically backporting the Wireless, Bluetooth and Ethernet subsystems. This may change in the future.

Presentations

Metrics explaining the amount of code saved by automatically backporting the kernel using compat and current research are explained.

Estimating deliverables

Once you use compat and kernel framework integrators such as compat-wireless you should have no excuse to work outside of the upstream Linux kernel. In order to help guestimate when your upstream code will be available through a stable release such as the stable compat-wireless releases you can rely on the phb-crystall-ball.

Contributions

Contributions to compat follow the same mechanisms as used in the Linux kernel, this means you should provide as Singed-off-by tag as documented on the Developer's Certificate of Origin 1.1.

Submitting patches

You can send patches as follows:

To: mcgrof@frijolero.org
Cc: linux-wireless@vger.kernel.org
Subject: compat: foo

License

The compat module and code is all licensed under the same license as the Linux kernel and is considered a complete derivative work of the Linux kernel. For more information refer to the COPYRIGHT file.

Clone this wiki locally