How to build and use the new 2.6.23 kernel (with CFS scheduler) in Ubuntu Feisty

I wanted to get the new 2.6.23 kernel working on my work machine, since I suspected it would help improve responsiveness when running a very intense compilation (some of the link steps in our build eat gigs of memory and kill entire cores for minutes).

Here's how to do it for kernel version 2.6.23-rc9 (latest as of this writing). Substitute your desired version as appropriate.

joeuser@localhost$ sudo -i
root@localhost$ apt-get install kernel-package 
root@localhost$ cd /usr/src/
root@localhost$ wget http://kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.23-rc9.tar.bz2
...
root@localhost$ tar jxf linux-2.6.23-rc9.tar.bz2
root@localhost$ cd linux-2.6.23-rc9
root@localhost$ cp /lib/modules/$(uname -r)/build/.config .config
root@localhost$ make menuconfig

Choose "Load an Alternate Configuration File", and hit ok to accept the default, ".config".

root@localhost$ make-kpg clean
root@localhost$ make-kpkg -initrd --revision="joeuser1" linux_image

... (This will take a while)

root@localhost$ cp -r /lib/firmware/$(uname -r) /lib/firmware/2.6.23-rc9
root@localhost$ dpkg -i ../linux-image-2.6.23-rc9_joeuser1_amd64.deb

That should do it. If the installation gives you any errors during the update-initramfs or update-grub stages, you can always run them by hand:

root@localhost$ update-initramfs -k all -u -v
root@localhost$ update-grub # Note that this will set the new kernel as the default

That's it. Reboot, and enjoy.