This document aims to cover the highlights and major decisions arising from the UDS Lucid as affecting the Ubuntu Kernel Team.
The kernel team has changed its focus for the Lucid cycle. The team is now service focused, more in keeping with its role as underpinning everything in Ubuntu. Our major work items inevitably come out of the needs of the various platform teams. Thus this UDS we spent three full days attending sessions which required kernel team input, providing input to those teams and gathering requirements and actions from those sessions. We then had two days of kernel specific sessions, including the choice of kernel for Lucid. The sections below cover those major decisions in overview, see the associated blueprints for more detail.
The decision was to synchronise our kernel with that chosen by Debian and others for long term support, v2.6.32. This kernel was released on December 3rd, 2009, before our Alpha 1 release -- this will allow great amount of time for stabilization before our Alpha release. We will allow some version skew in Lucid for the ARM kernels allowing vendor driven kernels to remain on v2.6.31 should they not be able to make the jump to v2.6.32. We also reviewed the default filesystem choice confirming ext4 as the default filesystem for new installs. Finally grub2 remains the recommended boot loader for x86 platforms.
Kernel Delta Review
We reviewed the complete drivers as carried in the current Lucid kernel. Of those all but drbd were found to be in active use. Those which are still under active development will be updated to the latest versions early in the cycle. The patch stack review was deferred to a smaller group of developers will review the delta and make recommendations, those will be documented on the blueprint as they occur.
Kernel Config Review
We reviewed the underlying rules applied to new options as they are set, and these are now documented in the blueprint. We also reviewed the major security items and core feature settings for the kernel, those remain unchanged. The blueprint also includes a list of new items and the values selected, this is based on the kernel as was present in Lucid at UDS.
Stable Release Updates Policy Review
The policy was updated to get most of the low and medium priority fixes through upstream stable and allow for special need updates, should those be necessary. It was reviewed at UDS and got approved. For more details see KernelTeam/KernelUpdates.
We reviewed our current bug management work flow and practices to establish a more efficient and effective way to manage our kernel bug volume. Some of the decisions included improving apport's kernel bug reporting, expanding the kernel arsenal scripts, and updating the kernel wiki's and documentation. A complete list of work items have been documented on the blueprint's whiteboard.
It is expected that AppArmor will merge upstream in the 2.6.34 merge window. As Lucid will ship with 2.6.32 as its kernel we will pull back the upstreamed version to Lucid as soon as it is available.
The kernel has been allocated 2 seconds for its boot and mount of the root filesystem. Work here will include trying to acertain where the time is going. We have some work on AppArmor which should save significant time, and plans to look at how initramfs is decompressed to try and save time. Also a review will be performed of the Moblin kernel which has much better initialisation times.
Current status can be seen here: http://people.canonical.com/~scott/daily-bootcharts/
Kernel Mode Settings
Intel KMS is well supported at this time and updates will be pulled in as required to fix bugs. For ATI based graphics Radeon KMS as merged into v2.6.32 is expected to be of reasonable quality and we decided to enable Radeon KMS immediatly for get maximum testing, and this has already occured. For NVIDIA based graphics we are going to evaluate the new Nouveau driver, which is already being shipped by other distributions.
Kernel Backports for LTS releases
Limited backports of updated kernels (from later series) will be offered for the Lucid LTS. These will only be supported for certified platforms. More policy details will follow.
Further work in testing strategies and analysis of suspend/resume failures.