From Driver Backports Wiki
(Difference between revisions)
Jump to: navigation, search
(add hacking page for backport based on old from compat)
(add old links)
Line 71: Line 71:
  * Add support for [ DKMS]
  * Add support for [ DKMS]
= Old compat-drivers Hacking =
  * [[Meetings|Documented backport meetings]]
  * [[code|Backports code]]
  * [[Documentation/compat#Tacking_down_when_a_feature_went_upstream|hacking on compat]]
    * [[Documentation/compat-drivers/additional-patches|additional patches to stable releases]]
  * [[Documentation/compat-drivers/hacking|hacking on compat-drivers]]

Revision as of 21:00, 13 June 2013

This section deals with development details of backports and the other trees it uses. If you want to make your own backports tarballs, or if you see something busted with backports or just want to add something new or an enhancement this is the guide for you.

backports replaced the old compat and compat-driver, which are not supported any more and will not get any updates.


Git trees you will need

backports backports a few subsystems down to older kernels. To be able to synchronize backporting the latest and greatest the linux-next.git tree is used as its main source for kernel updates. backports brings a general kernel compatibility part containing some backported c functions and header files in addition to patches for code in linux-next to make it work on older kernel versions and with the general kernel compatibility part. This is now in one repository backports.git and not spitted over two any more.

You can generate backports based on different trees depending on your needs. We are supporting build based on linux-next.git, linux.git and linux-stable.git. You can also generate builds based on your own tree, but then you probably have to patch backports yourself to add support for that.

Generate new release

To generate a own backport release based on linux-next you need the following git trees:


As linux-next changes often you should start with a working version by using a tagged version from linux-next.git and backports.git with the same date in it like backports-20130607 and next-20130607. This is a combination where someone already tested that the patches are still applying.

After you have checked out some version of these git trees, you can start generating a tar by running ./ in the backports tree. This will take the path to the already checked out linux-next kernel as the second last argument and the path to a directory where the newly created release should be written to as the last parameter. The releases are not created in place any more, but in a new path specified in the last parameter.

./ /path/to/your/liunx-next  /path/to/your/newly/created/release

Adding new driver

When adding a new driver you first have to copy it to the resulting release by adding it to the copy-list file in the root directory of backports. If this backported driver does not work on all supported kernel versions you have to specify it in the dependencies file. You should also add a new defconfig for your driver to /backport/defconfigs/

Sending patches

backports contributions follow the contribution model implemented by the Linux kernel. Patches or pull requests for backprots must have be signed-offed. If you don't sign off on them they will not accepted. This means adding a line that says "Signed-off-by: Name <email>" at the end of each commit, indicating that you wrote the code and have the right to pass it on as an open source patch. For exact definition of what the Signed-off-by tag is you can read the definition of the "Developer's Certificate of Origin 1.1", which you can read here:

Remember there are three trees. linux-next itself is a conglomeration of kernel git trees itself, so patches for linux-next.git should be sent to each respective subsystem for which the patches are targeted for. So for example for 802.11 you will want to send them to John Linville and cc linux-wireless, for further guidelines on this see the Submitting Patches guidelines for 802.11. As another example, for bluetooth you will want to send them to Gustavo Padovan and cc the linux-bluetooth mailing list. If your patch touches on others areas of the kernel refer to the MAINTAINERS file on the kernel.

For backports.git please send patches against to:

To: Luis R. Rodriguez <>
Subject: [PATCH] backports: fix foo

Patches are preferred sent with a clear commit log entry, if unfamiliar with how to send patches please refer to a git guide.


* Add support for DKMS

Old compat-drivers Hacking

 * Documented backport meetings
 * Backports code
 * hacking on compat
   * additional patches to stable releases
 * hacking on compat-drivers
Personal tools