Canonical Announce Major Ubuntu Kernel Change
Ever get miffed reading about a major new Ubuntu release only to learn it doesn’t come with the newest Linux kernel?
Well, that’ll soon be a thing of the past.
Canonical’s announced a big shift in kernel selection process for future Ubuntu release, an “aggressive kernel version commitment policy” pivot that means it will ship the latest upstream kernel code in development at the time of a new Ubuntu release.
Yes, even if that upstream kernel hasn’t yet seen a formal stable release (and received the requisite newspaper-graphic-topped rundown on this blog).
Which is a huge change.
Currently, new Ubuntu releases include the most recent stable Linux kernel release at the time of the kernel freeze milestone in the Ubuntu development cycle.
Kernel freezes tends to be around 2 months before the final release, which can mean the kernel chosen for Ubuntu isn’t the latest at the time of release.
“This approach would guarantee stability on the appointed release day, but was proving unpopular with consumers looking to adopt the latest features and hardware support as well as silicon vendors looking […] to align their Ubuntu support,” Canonical’s Brett Grandbois explains.
But to “provide users with the absolute latest in features and hardware support, Ubuntu will now ship the absolute latest available version of the upstream Linux kernel at the specified Ubuntu release freeze date, even if upstream is still in Release Candidate (RC) status.”
For example, Ubuntu 23.10 shipped with Linux 6.5 when released on October 12. However, Linux 6.6 went stable on October 30. Ubuntu 23.04 included Linux 6.2, but Linux 6.3 came out less than a week later.
Had the new selection policy been in play then, both would’ve had the latter versions.
Here’s a chart illustrating the new approach to kernel version selection Canonical’s engineers are intending to use future Ubuntu releases, starting with the upcoming Ubuntu 24.10 ‘Oracular Oriole’ release due in October (whose kernel freeze is next week):
As soon as the kernel does go stable Canonical will package the changes and push it out as a software update. This change doesn’t mean Ubuntu users will be stuck running a RC build for the duration of the support cycle!
What if there’s a major last-minute issue that means that RC kernel doesn’t go stable for several more weeks after an Ubuntu release? Well, in that instance Canonical says “the die is cast” — it’ll have to deal with it.
A new Linux kernel is released every 2-3 months on a flexible release schedule with no fixed deadline. During that time, a solid month or so of ‘release candidate’ (RC) builds are issued, until Linus and his team feel satisfied, sign it off, and announce it as stable.
In contrast, Ubuntu has a fixed release schedule, with a kernel freeze milestone. This is needed to make sure the kernel is patched, integrated, and reliable for all users (not just home users; the distro is used by businesses, cloud, mission-critical ops, etc).
This isn’t ‘new kernels, continuously’
This change doesn’t mean Ubuntu is following System76 and bringing new kernel versions to Ubuntu as updates.
The kernel series at the time of release (barring HWE in LTS point releases) remains the only supported kernel series. And an Ubuntu Linux kernel is not the same as a mainline one: it has tweaks and patches for technologies, OEMs, etc., that Canonical supports.
“Just package a new kernel and release it as an update” is an easy-sounding solution, but not practical. Doing so doubles the workload for Canonical, who’d need to package, test, and patch each kernel, and commit to concurrent support for the duration of a release.
But users of Ubuntu 24.04 LTS stand to benefit from this change. HWE updates bring the kernel from interim releases to LTS users. If even-newer kernel versions ship in interim releases it means even-newer kernel versions can filter down the back-port pipes.
Win-win, no?