Linux Kernel Roadmap



Improve kernel packaging for Breezy.


Improve maintainability, ease of use, and facilitate cooperation with upstream and other distributions.

Scope and Use Cases

  • Set long-term goals and direction for the Ubuntu kernel tree
  • Ease tracking of third-party drivers
  • Support highmem out of the box
  • Support SMP out of the box
  • Remind user to reboot after a kernel upgrade, via update-notifier

Implementation Plan

  • Switch to 2.6.12rc asap using gcc-3.4 and as long term target 2.6.12
    • (high priority: asap) (done - 30/04/2005)
  • Before releasing an official 2.6.12, do a pre-pre-release compiled with
    • gcc-3.4, and a pre-release compiled with gcc-4.0 to catch compiler regressions. (skipped due to upcoming UVF). (as soon as 2.6.12 is released: time unknown)
  • Ship 2.6.12 with appropriate compiler.
    • (as soon as previous point is done)

Update for the 2 above points: 2.6.12 has been released. Due to the upcoming UVF we will first release 2.6.12 with gcc-3.4 and later switch to 4.0 (before FeatureFreeze). Kernel gurus reported that 2.6.12 is compiled properly with gcc 4.0.1 that should be available soon in breezy.


The compiler situation is more complex than expected. We can't switch to 4.0 and apparently there is some miscompilation with 3.4. We might have to revert to 3.3 for all arches other than ppc64 and iseries (known to work).


All arches have been verified to be ok with gcc-3.4. We will stay with 3.4 for breezy. Switching to 4.0 brings no real advantages.

  • Stabilize via Greg K. tree.
    • (after 2.6.12 is released) (2.6.12 final shipped 22nd of Jun. stabilization is a constant WIP).
  • In parallel:
    • develop a simple tool to monitor third-party driver releases (similar to debian/watch).
      • (low priority: done - 20/06/2005)
    • test HIGHMEM on 386 and see what breaks.
      • (high priority: asap) (done - 20/04/2005)
    • evaluate cost of enabling SMP on UP. If performance hit is low
      • enough, drop UP kernels. (medium priority: around 01/06/2005) DEFERRED: we have a major issue with some -smp kernels showing extra bugginess compared to the UP version, mainly in these subsystems like USB that are very common on desktops.
    • evaluate cost of running generic kernels versus optimized kernels.
      • If performance hit is low, drop optimized (k7, etc) kernels. (medium priority: 15/06/2005) DEFERRED: from a fast look at the code there are too many differences on how certain CONFIG_ values are set. Some of them are related to cache allignement. Bringing in a non-optimized kernel will hit badly on the cache and as a consequence on performance.
    • detect a SMP machine booting a UP kernel.
      • (medium prority: 01/06/2005) DEFERRED: not enough time to investigate.
    • generate non-supported-linux-kernel-modules.
      • (high priority: asap) (preliminary bits available for merging - Chuck Short) DEFERRED: this is only a packaging problem and from a first cut, it might involve more headackes than the one it solves.
    • create policy for 3rd party driver inclusion policy.
      • (high priority: asap) (done - together with non-supported-linux-kernel-modules list definition)
  • 3rd party drivers will be maintained as patches.
  • Provide a psuedo/virtual package named 'linux' that depends on a generic
    • kernel image that will work for all processors (ie, i386, amd64, !powerpc). (low priority: right away) (done - 29/04/2005, moved to linux-meta 28-06-2005)
  • Include ABINAME in kernel version string, to remove ambiguities from bug reports.
    • The kernel image will end up similar to 'linux-image-2.6.10-1-386_2.6.10-1-3'. (high priority: right away) (done as point release 2.6.10-1.3 - 30/04/2005)
  • Defer enhancing ABI check for now; improvements to this can come over
    • time.

      (low priority: before FeatureFreeze) DEFERRED: current method is still working fine, even if requires a bit of manual fiddling.

  • Add a -dbg kernel image for all architectures that have a generic kernel
    • image. This enables all _DEBUG options found in the kernel, and potentially adds other debugging patches (kgdb? lkcd?).

      (low priority; before FeatureFreeze) (-dbg kernels cannot be shipped due to their size. Ship debug configs for adventurous users) (done for i386)

  • Unify Debian and Ubuntu kernel packaging. Drop dpatch, and add centralized
    • config file generation/management. (possibly use cdbs2) (low priority: decision beeds to be taken within 2 months)

      DEFERRED: debian arrived too late to match FeatureFreeze. Not enough resources to complete it in time.

  • Add infrastructure to autobuild git/bk snapshots from upstream.
    • DEFERRED: not enough resources to implement it.
  • Add a hook to kernel image's postinst to call out to module-assistant.
    • Create -source packages for 3rd party modules requested by users.

      (low priority: before FeaturesFreeze) DEFERRED: not enough resources to implement it.

  • Notification applet.

Data Preservation and Migration


Packages Affected

all linux-* packages.

User Interface Requirements

User will be notified that a reboot should be done asap after upgrading/installing after a kernel update.

Outstanding Issues

UDU BOF Agenda

  • What do we want out of the kernel?
    • Stabilization
    • Enhanced driver support
    • Time-based release cycle
  • How to provide highmem and SMP support out of the box
  • Tracking third-party drivers
    • Tarballs vs. patches
    • New third-party drivers for Breezy kernel
      • linux-wlan-ng?
      • hostap?
      • ALSA update?
    • Removing drivers which are dead upstream
    • Formal policy for third-party drivers
  • What upstream to use
    • -as?
    • others?
  • cooperation with other distro kernel teams.
  • Can we build fewer kernel flavours?
  • Create a "linux" metapackage
    • Depend on or-glob of available linux-<foo> metapackages for a given architecture

  • Use a more intuitive versioning scheme?
    • Users are confused between the package name and package version
  • Enhanced ABI compatibility check?
  • New kernel packaging system.
  • Add a -dbg flavour? or enhance the kernel debugging.
  • CONFIG_ alignment across arches
  • bk snapshot test and unsupported package.
  • XEN/UML flavours out of the box.
  • external modules build hook at install time.

UDU Pre-Work

  • Review Bugzilla for new driver requests
  • Review HardwareSupport pages and Bugzilla for driver candidates

CategoryUdu CategorySpec CategoryKernel

UbuntuDownUnder/BOFs/LinuxKernelRoadmap (last edited 2008-08-06 16:17:44 by localhost)