hits counter

Upgrading Ubuntu Linux to a newer kernel version.

As part of installing Ubuntu 12.04 alongside Win7 on a new ultrabook, I discovered that, in order to get the touchpad working correctly, I would need to upgrade the Linux kernel from the current version (3.2.0-24) to the latest official stable release (3.4.6).

This turned out to be easier than I had feared.

(Caveat: if you are running proprietary drivers, for example nVidia or ATI graphics drivers, a kernel upgrade may cause them to become unstable, or even fail catastrophically, so proceed with caution!)

First, get yourself a kernel.

Ubuntu maintains an archive of past present, and experimental kernels at http://kernel.ubuntu.com/~kernel-ppa/mainline/. It looks like this:







From here, you can navigate to the kernel you are interested in. In my case, I was interested in 3.4.6, which is part of Ubuntu 12.10, Quantal Quetzal:







Now, this is where you need to know if you’re running 64bit or 32 bit linux.  This is really easy.  Open a terminal (ctrl+alt+t), and type:

uname -m

If this outputs something with a 64 in it, you’re running a 64 bit kernel. If it shows something like “i686”, then you are on a 32 bit kernel.

Since I am on a 64 bit kernel, that’s what we’ll be talking about. If you’re running 32 bit, just replace “amd64” with “i386” in each of the files we’ll be downloading.

So, we’re looking for three files here: a linux-headers file that ends in “all.deb”, a linux-headers file that ends in “amd64.deb” and a linux-image file that also ends in “amd64.deb”.  Download these to a place of your choosing.  Go back to your terminal, and navigate to the directory where you put these three files.You should see something like this:

Now, install the Headers-all file with the following command:

sudo dpkg -i linux-headers(...)all.deb

Naturally, you’ll want to specify the filename you actually downloaded. In my case, the command would be:

sudo dpkg -i linux-headers-3.4.6-030406_3.4.6-030406.201207191609_all.deb

Next, install the Headers file:

 sudo dpkg -i linux-headers(...)amd64.deb

Again, in this specific case:

sudo dpkg -i linux-headers-3.4.6-030406-generic_3.4.6-030406.201207191609_amd64.deb

And finally, the Image file:

sudo dpkg -i linux-image(...)amd64.deb

Once again, in my case:

sudo dpkg -i linux-image-3.4.6-030406-generic_3.4.6-030406.201207191609_amd64.deb

You’ve now installed a new Linux kernel, congratulations!

Just to make sure everything went like it’s supposed to, reboot, open a terminal, and type:

uname -r

If something went wrong, you’re not necessarily SOL.  By default, Linux does not erase your previous kernel installs.  If you’re running a dual-boot system, you probably see the GRUB menu on every startup.  If not, reboot, hold down the Shift key right after your computer completes the power-on self-test (POST), and you should get to the GRUB menu, which will give you the option to boot to a previous kernel.

Good luck and enjoy!


Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>