Patches against Debian's stable kernels
At work, we use Debian on a couple (hundred) servers. We run pretty standard
setups for each use (web, database, etc), and it works very well for us. However, each server runs a custom kernel
.deb. The kernels are based closely off Debian kernel source trees (2.6.18 as of Debian 4.0 "etch"), and kernels are
recompiled and pushed to our local Debian mirror every time an upstream Debian security release is made. We don't
use custom kernels for the sake of custom kernels, but for a few specific reasons:
- We are a large 3ware shop, with 3ware SATA RAID cards installed in nearly all servers. Shortly after Debian etch was released, we switched to the 3ware 9650SE line for all new servers. 9650SE driver support was introduced in 2.6.19; Debian uses a variant of 2.6.18. [0]
- We use User Mode Linux heavily, which requires a custom guest kernel [1], and an optional host kernel patch for speed improvements (SKAS3).
- We could use the latest and greatest vanilla kernel, but we found it is much easier to backport functionality and fixes to Debian's current stable kernels. Debian's stable kernels are already "enterprise" (excuse the term), and less of a moving target than vanilla for mass deployment.
The patches
This patch list is currently applied by us against Debian's 2.6.18.dfsg.1-17 kernel source tree. Most patches should apply cleanly against a vanilla 2.6.18, but some definitely will not, and none have been tested against vanilla 2.6.18.
None of these patches will interfere with systems they're not designed for use with, i.e. ARCH=um fixes and SKAS3 will have no detrimental effect on a 686-compiled kernel that will not be used as a UML host. Therefore, all of these patches are applied to the reference Debian kernel source tree, and kernels are compiled against that one tree. At the moment, we are compiling 486, 686, 686-bigmem, and um kernels against this patched tree.
Build HOWTO
Coming soon, an easy method for compiling Debian kernel packages using make-kpkg, that act nearly identically to upstream Debian kernel packages.
Notes
- [0] Debian backported support for 9650SE cards into its 2.6.18.dfsg.1-17 update. Updated 3ware drivers are still present in our patchset, just in case we move to the 9690SA series anytime soon.
- [1] Debian does contain a UML guest kernel package, but it is unsuited for quick deployment use. (It contains guest kernel modules, which must be copied to the guest image before it is booted, and must be upgraded on each guest when the kernel is updated. By contrast, we run statically-linked monolithic guest kernels. They require more memory to run because of unused kernel code at runtime, but we believe the convenience is worth the extra memory requirement.)