Sponsored Link

Lead kernel developer Linus Torvalds announced the official release of Linux 2.6.28 on Wednesday. The new version introduces some noteworthy changes that will put the kernel in a strong position for growth and advancement in the coming year. This latest release follows a few months after version 2.6.27, which was released in October.

"It doesn't really matter what day it is, or what holiday (if any) you're celebrating, because even if you sit at home, alone in your dank basement, without any holidays or friends, I bring you a tiding of great cheer: you can now download Linux-2.6.28, and compile it to your hearts content," wrote kernel chieftain Torvalds in a message to the kernel mailing list. "In fact, even _if_ you have friends or family, leave them to their endless toil over that Christmas ham or turkey, and during the night, when they're asleep, you can give them that magical present of a newly updated computer. When they wake up tomorrow morning, tell them how you saw Santa crawl down the chimney with his USB stick in hand, updating the OS of all good boys and girls."

Graphics Execution Manager (GEM)

One of the most significant additions in 2.6.28 is the Graphics Execution Manager (GEM), a new GPU memory manager that was developed primarily by Keith Packard and Eric Anholt of Intel. In some early benchmarks that Intel conducted back in May, GEM was said to boost framerates by between 50 and 60 percent for Intel 915 graphics hardware. GEM represents a significant and much-needed step towards modernization for the Linux graphics stack.

The need for a GPU memory manager was originally going to be fulfilled by the translation table maps module (TTM), which was created by Tungsten graphics. TTM has several deficiencies, however, and its API is regarded as needlessly complex. Plans to merge TTM in version 2.6.24 of the kernel were scrapped and the kernel development community selected GEM as its successor. At the present time, the Intel drivers are the only ones that can take advantage of GEM, but work is already underway to add support for other devices.

Ext4 filesystem

Another significant milestone in version 2.6.28 is that the ext4 filesystem has been declared stable and no longer designated as "experimental". As the successor to ext3, the most widely-used Linux filesystem, ext4 boosts performance and reliability and provides a clean migration path for existing ext3 users so that it can be adopted without necessitating a reformat. In ext4, the theoretical maximum filesystem size has been increased to 1 exabyte and the 32,000 limit on the number of subdirectories that can be contained in any given directory has been eliminated.

The filesystem check (fsck) process is also significantly faster in ext4 thanks to the new uninitialized block group feature. Instead of scanning every inode table on the filesystem, fsck will now only check inodes that are in use. This optimization will make fsck between two and 20 times faster depending on how much of the filesystem is consumed. There are a number of other significant features in ext4, including delayed allocation, support for extents, and journal checksumming. These features will reduce fragmentation and increase the robustness of the filesystem.

TAINTed_CRAP in the mainline kernel

Prominent Linux developer Greg Kroah-Hartman has left a particularly special present for kernel hackers under the source tree in 2.6.28. The -staging branch, which contains incomplete or unstable drivers, has been merged into the mainline kernel and placed in a new "staging" directory. It is hoped that this move will increase the visibility of work-in-progress drivers and encourage other developers to help contribute to the effort of readying them for full adoption. The modules in staging will all be marked with Kroah-Hartman's new TAINT_CRAP flag, which signifies their unsuitability for regular usage. Although the staging move was highly controversial, it could have a very positive impact on driver development and accelerate the rate at which new drivers evolve.

You can install the new kernel very simply by adding the jaunty repositories in synaptic. I have no issues with doing it this way so far. If you get the kernel headers it will update libc6 too. I added the main and restricted Jaunty repositories temporarily in order to access the 2.6.28-4 kernel in synaptic. It would be nice if someone would come up with a tutorial for converting to ext4 and grub2.

I did what Robbie has explained, but looking at his reply with the sources there seems to be an error in the fact that both lines have restricted. One line should just be main. Once you add the sources you will find the new kernel is listed in Synaptic. I have since tarred up my home partition and converted it to ext4. It also is working what seems to be without issues so far. I did this by running mkfs.ext4 -j /dev/sdax from the intrepid live cd. Then I untarred the home back to the ext4 partition from the recovery root command line. I also had to change the fstab to reflect the home folder be mounted as ext4. Good luck

I added the jaunty repo (deb http://archive.ubuntu.com/ubuntu/ jaunty main restricted) to my “Software Sources” then did ‘sudo apt-get install linux-image-2.6.28-4-generic’ Then I removed the jaunty repo and restarted. I’m now running the new kernel…so far so good.