Launchpad Entry: kernel-lucid-kernel-decision
This specification describes the thought process that goes into how we choose a kernel version.
Every release cycle we must choose a kernel that is as recent as possible while still remaining stable. Typically the decision is simply the most recently released kernel prior to the Ubuntu release. For an LTS release we have an additional tension between stability of an older kernel and the new features and bug fixes available in later releases; of wanting the latest and greatest.
With ARM firmly established as a supported kernel architecture and given the complexity of support of those kernels in Karmic we also need to give attention to the ARM base version requirements.
We also will want to confirm and announce the choice of default filesystem for the release. With this being LTS stablility is our key requirement.
Drivers: The major drivers in this decision are:
- overall stability: we want the kernel to be as stable as possible at release,
- commonality: having the same version as other long term releases allows us to share the maintenance costs,
- features: new features such as KMS for further platforms,
- hardware enablement: support for more newer hardware in the initial release, and
- lifetime: this is an LTS release and so will be supported for 3/5 years.
Version availability: with 2.6.32 already being at 2.6.32-rc7 we should expect 2.6.32 final around the end of November 2009. That would put a 2.6.33 release around the end of February 2010.
Kernel Freeze: stabalisation start earlier this cycle, and as a result kernel freeze is earlier this cycle, March 11th 2010.
ARM kernels: the major players in ARM are still not upstream meaning we are carrying large deltas for those platforms. Those are very hard to port forward each release. Our current ARM enablement branches are 2.6.31 based, the vendor patch sets are currently moving to 2.6.31, and may hit 2.6.32 (or even .33) in the Lucid cycle.
2.6.31: We could remain with the Karmic 2.6.31 kernel, this would have been stabalised for a considerable period by release. However there is a general feeling in the community that this was a bad kernel. This is not expected to be the kernel of choise for any long term release.
2.6.32: This kernel will definatly be released in time for release, we would have a considerable period of stabalisation. It should bring us KMS support for Radeon. There is some feeling that this is likely to be the kernel of choice for long term support releases.
2.6.33: This kernel is likely to be releasing around the time of the kernel freeze. It may contain Nouveau support bringing free Nvidia support and KMS on that platform. Further hardware enablement.
The key factor here is stability. ext4 was the filesystem of choice for Karmic, and appears to be holding up well. It is assumed we will not change for Lucid.
Split ARM Versioning: the ARM kernel were a big maintenance burden this cycle. Getting the vendor patch sets which typically lag the main kernel by one or two releases forward ported to the Ubuntu kernel release was problematic and left the consumers of those kernels with little time to test. It might be prudent to accept that these kernels are not releasing in lock step with the main kernel and allow them to lag one or maybe two versions.
- Hardware Enablement
- Long Life
- Kernel availability (2.6.31/2.6.32/2.6.33)
- 2.6.31: now
- 2.6.32: end nov-2009
- 2.6.33: end feb-2010
- Kernel Freeze (11-mar-2010)
- ARM version contraints
- vendor kernels lag the main kernel 1-2 releases
- PROPOSAL: Split ARM Versions
- Kernel Choice
- 2.6.31: poor kernel
- 2.6.32: may be the choice of other long term releases
- 2.6.33: latest and greatest
- Filesystem Choice
- ext4 seems to be the logical choice
As we concentrated on the stable option there was little discussion required on this subject. The kernel will be 2.6.32 as that provides good alignment with other distros and is ready very early in our cycle allowing for better stablisation. The ARM kernels will be allowed to lag the main kernel a little i that provides better alignment with the vendor patch sets. ext4 remains the default filesystem of choice. grub2 remains the default bootloader for x86.