Applying patches to the Debian kernel tree ========================================== The Debian kernel packaging uses a custom patching system: Patches are stored below debian/patches, loosely sorted in bugfix/, features/ and debian/. Patches are in the standard kernel patch format. The order and the selection of patches which are applied during build time are specified in the series/ subdirectory. For each revision there may be up to one file named REVISION specifying the patches applied for the standard revision and one file named REVISION-extra for addon flavours. If, e.g. the patches are specified for 2.6.26-12, the patch order file is called debian/patches/series/12 for the standard kernel images and debian/patches/series/12-extra for the addon flavours. Let's look at the actual series file for 2.6.26-12: + bugfix/all/net-unix-gc-fix-soft-lockups-oom-issues.patch + bugfix/all/inotify-watch-removal-umount-races.patch + bugfix/all/atm-duplicate-listen-on-socket-corrupts-the-vcc-table.patch + bugfix/all/ata-pata_marvell-vs-ahci.patch + features/sparc/video-sunxvr500-intergraph.patch The patches to be applied are specified relative to debian/patches. "+" indicates that the patch should be added, "-" can be used to drop a patch in later patch series (e.g. if the patch turned out to be faulty). The series files may be arbitrarily documented with comments starting with "#". Let's now have a look at the series file for the addon kernel flavours of 2.6.26-12: + features/all/xen/dom0-fix-processor-throttling-when-pr-id-is-minus-1.patch featureset=xen The same syntax applies for specifing the patches, but an additional argument is needed which specifies the featureset the patch applies to. TODO: - Generating DFSG tarballs - How to define a flavour - Generation of debian/control and configs