RealTime IT News

'Old' Linux Kernels Keep Coming

For many in the world, it's the time of year for wrapping up the old and moving ahead with the new. That's not necessarily the case for Linux, though. For the Linux kernel, what's old is new again with the new releases of the 2.6.16.37 and 2.4.34 kernels.

The current Linux kernel, version 2.6.19, was released at the end of November and work is ongoing for an early 2007 release of the 2.6.20 kernel. But that's not stopping developers from putting out releases of older Linux kernels.

Currently both the 2.4.x Linux kernel and the 2.6.16.y kernel are being actively maintained, and both legacy kernels have recently released new updates.

Adrian Bunk, the maintainer of the Linux 2.6.16.y kernel, officially released the 2.6.37 release today. The first 2.6.16 kernel was originally released in March and was soon replaced as the leading-edge kernel in June with the 2.6.17 kernel.

In August, Linux kernel developer Greg Kroah-Hartman announced that Bunk would be taking over the maintenance of the 2.6.16-stable kernel branch. At the time Kroah-Hartman wished Bunk well but doubted the effort could last very long. So far, Bunk is proving Kroah-Hartman wrong.

That said, Bunk admitted that the further away 2.6.16.x will become from Linus Torvalds' tree, the harder it will be to maintain.

"It's therefore clear that the number of 'nice to have' things like non-security bug fixes and the small amount of safe patches for additional hardware support I'm currently adding to 2.6.16.x will greatly decrease as time passes by," Bunk told internetnews.com.

"The must-have of adding security fixes will also become similarly harder, but I'd expect that this will still be possible for a long time, especially considering that such fixes will anyway be made from distributions supporting 2.6.16 or nearby kernels for many years," Bunk added.

Though it's not at the head of Torvalds' current Linux development effort, there is still a demand and a need for a stable and maintained 2.6.16.y kernel. Bunk explained that the target audience for the 2.6.16.y kernel is users who are building their own kernels and who want security updates but no regressions.

"These people did otherwise have the choice between following Linus' tree that unfortunately contains frequent regressions or staying with an old kernel getting more and more known security vulnerabilities," Bunk said.

It's not known, however, exactly how many people need or want a maintained 2.6.16.y kernel.

"I have some sporadic feedback from users and zero idea how many users 2.6.16.x has," Bunk commented. "But that doesn't matter, it's simply an offer."

Bunk is not alone in his efforts at trying to maintain an older Linux kernel. Willy Tarreau currently maintains the even older 2.4.x Linux kernel, which was supplanted by the 2.6.x kernel in December of 2003.

Tarreau took over the maintenance of the 2.4.x kernel from Marcelo Tosatti in August of this year. Tarreau released version 2.4.34 of the Linux Kernel on Dec. 23.

The reason Tarreau is maintaining the 2.4.x kernel, even though it's three years past its prime, is quite simple. He needs it to do his job.

"I work at Exosec where we use Linux to provide managed services, and to build appliances," Tarreau told internetnews.com. "Just like several other true appliances makers, we still rely on 2.4 because its stability allows our customers to focus on their job instead of firmware updates."

"Part of my time at Exosec is spent working on the kernel, sometimes for our own needs, sometimes to merge other people's patches," Tarreau continued. "There are also a few distro vendors still supporting 2.4 who spontaneously send me fixes from time to time."

New bug fixes in the mainline 2.6.x branch of the kernel could be backported to the 2.4.x kernel, though that's not typically necessary according to Tarreau.

"Just a few of the 2.6 bugs affect 2.4," Tarreau said.

It's not all about fixes for 2.4.x, either. In fact there have even been some small enhancements made, as well. In particular Tarreau noted support for GCC 4, which was contributed by Mikael Pettersson.

Tarreau currently doesn't know how long he'll be maintaining the 2.4.x kernel for and it's not clear when end of life for the old kernel will happen.

"One year ago, some people told me they would switch to 2.6 within six months, and their migration plans have not evolved yet, so it's hard to tell when this will end," Tarreau said. " When we won't be using 2.4 anymore and there will be no demand for it anymore, I may pass it to someone else or keep it just because it won't induce much work.

"Then, maybe I will switch over to a long-term 2.6 branch in the hope to keep providing a high quality to our customers."