diff options
Diffstat (limited to 'source/documentation.rst')
-rw-r--r-- | source/documentation.rst | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/source/documentation.rst b/source/documentation.rst new file mode 100644 index 0000000..f04e08b --- /dev/null +++ b/source/documentation.rst @@ -0,0 +1,92 @@ +Documentation +============= + +.. toctree:: + :maxdepth: 1 + + documentation/packaging + documentation/integration + documentation/compat + documentation/compat-drivers + documentation/compat-drivers/hacking + documentation/compat-drivers/additional-patches + documentation/backports/hacking + documentation/backports/hacking/todo + +The Backports Project aims to backport current Linux **upstream** device +drivers for use with older kernels. The objective (1) is to provide a +central mechanism for backporting the device drivers of *any* subsystem, +thereby enabling (2) *both* users **and** developers to always focus on +upstream Linux kernel development. + +The project shall **never** include proprietary drivers, and is designed +to disallow its use with proprietary drivers. + +Every backports release has been test compiled *for usage* against all +supported kernels. The oldest release is (currently) 3.0. + +Linux kernel releases can become deprecated. You are encouraged to use +supported stable kernels as listed on `kernel.org +<https://kernel.org>`__. + +Workflows +--------- + +Backports provides users with a choice of two workflows: + +#. **kernel integration mode** (:doc:`documentation/integration`) + + - future kernel source tree and older kernel source tree must be + present on the same machine at the same time + - backports suite **integrates** the subsystems/drivers of the future + kernel directly into the older kernel + +#. **package releases mode** (:doc:`documentation/packaging`) + + - future kernel source tree and older kernel source tree do not need + to be present on the same machine at the same time + - on machine hosting future kernel source tree, backport package is + generated + - on machine hosting older kernel, backport package is built + out-of-tree against older kernel + - backport package is loosely akin to a patch file + +Backported Subsystems +--------------------- + +Device drivers are available for the following subsystems: + +- Ethernet +- Wireless +- Bluetooth +- NFC +- ieee802154 +- Media +- Regulator + +Backported Drivers +------------------ + +Whether or not a device driver is available from a subsytem will depend +on whether or not a developer decided to backport it **and** if the +device driver is backported down to the kernel you are on. If you see +the driver on **make menuconfig** it means you can use it. An +alternative is to look at the git tree `dependencies +<https://git.kernel.org/cgit/linux/kernel/git/mcgrof/backports.git/tree/dependencies>`__ +file. Note that the `dependencies +<https://git.kernel.org/cgit/linux/kernel/git/mcgrof/backports.git/tree/dependencies>`__ +**does not** exist on a final release, it only exists on the development +git tree and the one linked here is the one on the master branch -- you +should look at the `release branches +<https://git.kernel.org/cgit/linux/kernel/git/mcgrof/backports.git/refs/>`__ +for their respective dependencies file if using an older release. +Someone is welcome to come up with a fancy page that provides the device +driver <--> kernel dependency map page. If a device driver is available +on **make menuconfig** but is not listed on the `dependencies +<https://git.kernel.org/cgit/linux/kernel/git/mcgrof/backports.git/tree/dependencies>`__ +file it means it is available for usage on all supported kernel. + +Users should just install what they *know* they need, if not sure don't +enable a driver. Typically Linux distributions would use the backports +project and build modules for you and you'd have a backports package +available for your distribution. |