Friday, August 19, 2011

Updating to Kernel 3.0.0-x in Linux Mint 11

With Kernel 3.0 comes quite a few bug fixes over 2.6 and it's going to take a while before Linux Mint allows you to upgrade to it.  So naturally you might be interested in upgrading to it.  Luckily it's not too terribly difficult to do.

To upgrade to kernel 3.0 you're going to either want to disable 3D acceleration -OR- download and install the latest version of your video card drivers from the appropriate website (NVIDIA and AMD/ATI for example) BEFORE you start.

Once you're ready to get started open up terminal and type the following commands:

$ sudo add-apt-repository ppa:xorg-edgers/ppa
$ sudo apt-get update
$ sudo apt-get install linux-headers-3.0 linux-headers-3.0-generic linux-image-3.0-generic --fix-missing

Now you'll see an error that gets spit out depending on which version of the kernel is available and you'll have to go back and fix the final part of the command.  The error will look something like this:

Note, selecting 'linux-headers-3.0.0-8-generic' instead of 'linux-headers-3.0'
Note, selecting 'linux-image-3.0.0-8-generic' instead of 'linux-image-3.0'
Note, selecting 'linux-image-3.0.0-8-generic' instead of 'linux-image-3.0'
Package linux-headers is a virtual package provided by:
  linux-headers-3.0.0-8 3.0.0-8.10
  linux-headers-3.0.0-8-generic 3.0.0-8.10
  linux-headers-2.6.38-10-virtual 2.6.38-10.46
  linux-headers-2.6.38-10-server 2.6.38-10.46
  linux-headers-2.6.38-10-generic 2.6.38-10.46
  linux-headers-2.6.38-10 2.6.38-10.46
  linux-headers-2.6.38-8-virtual 2.6.38-8.42
  linux-headers-2.6.38-8-server 2.6.38-8.42
  linux-headers-2.6.38-8-generic 2.6.38-8.42
  linux-headers-2.6.38-8 2.6.38-8.42
You should explicitly select one to install.

E: Package 'linux-headers' has no installation candidate
E: Package 'linux-headers' has no installation candidate
E: Unable to locate package 3.0-generic
E: Couldn't find any package by regex '3.0-generic'

In all of those it states that the latest version of the kernel is 3.0.0-8.  So now we want to go back to the final command and edit that part for each instance where the 3.0 occurred like so:

$ sudo apt-get install linux-headers-3.0.0-8 linux-headers-3.0.0-8-generic linux-image-3.0.0-8-generic --fix-missing

Now reboot and you'll see that kernel available in your GRUB or LILO menu.  If your system fails to boot with this kernel, select "Previous Kernel" and then open terminal up again and type the following command:

$ sudo nautilus

Navigate to the folder /boot and delete all the files that have the new kernel's numbers in it.  It should be:


Once they're deleted, type in terminal:

$ sudo update-grub

Your grub should now have the 3.0.0-x instance removed from the list.