The Linux kernel in Debian
Ben Hutchings
The author
-
Professional software developer since 1998
-
Debian contributor since 2003
-
Regular Linux contributor since 2008
-
Maintaining a net driver in my day job, plus core networking
and PCI code as necessary
-
Debian kernel contributor since 2008; uploader since 2009
-
Initially trying to deal with the non-free firmware issue
-
Moved on to triaging bugs, fixing bugs, backporting
features, updating packaging...
Linux kernel
-
Started by Linus Torvalds in 1991 as a kernel for i386
PCs:
just a hobby, won't be big and professional like gnu
-
Adopted as the kernel of the Debian system in 1993
-
After 20 years' development, supports more hardware
architectures and devices than anything else
-
Hardware vendors must provide Linux drivers because
their customers demand it
-
Still the default kernel for the Debian system
Linux release model (1)
The old model:
-
Each stable release had even second component. Bug fixes and
minor features in stable releases with third component
incremented (e.g. 2.4.27)
-
Major development done separately, resulting in series of
unstable releases with odd second component (e.g. 2.5.50)
-
After a year or two, development resulted in a new stable
release
-
Problem: users waited years for new features, and then got many
more changes all at once. Particularly bad in the 2.4-2.6
transition.
Linux release model (2)
The new model:
-
Development results in a new stable(-ish) release every 2-3
months
-
git (and previously BitKeeper) made distributed development
and testing a lot easier
-
Each 2.6.x release has stable update branch; releases
numbered 2.6.x.y
-
Usually closed shortly after next stable release, but may
continue as a 'longterm' branch (e.g. 2.6.32.y)
-
Linux 3.0 doesn't change this, except that x is now
the second component and y is the third
Debian kernel team (1)
Who are we?
-
Currently 5 general maintainers: Maximilian Attems, Bastian
Blank, dann frazier, Moritz Muehlenhoff and me
-
Many more specialised contributors:
- Specific architectures
- Specific features (e.g. Xen)
- Bug triage
-
Would appreciate more help, particularly with bug triage and
PowerPC
Debian kernel team (2)
What do we do?
-
Bug triage - takes a huge amount of time
-
Backport bug fixes and features - particularly new hardware
support for stable
- ...while trying not to change kernel ABI in stable
-
Update build configurations for each new upstream release -
e.g. to enable new drivers
-
Try to ensure smooth upgrades when there are major
implementation changes - e.g. KMS, switch to libata drivers
-
Integrate some features not accepted upstream
Official Linux kernel packages
Custom Linux kernel packages
Out-of-tree modules
Firmware files
Documentation
Questions?
Credits
-
Linux 'Tux' logo © Larry Ewing, Simon Budig.
- Modified by me to add Debian open-ND logo
-
Debian open-ND logo © Software in the Public Interest, Inc.
-
DebConf 11 logo © Aurélio A. Heckert.
- Resized and coloured by me