Arch Linux - How do I downgrade my kernel?

In my experience, it is safe to downgrade the kernel. I had to do it a lot lately, because of a problem with lirc and new kernel versions. My Hauppauge PVR-250 remote just doesn't work any more, after installing a recent kernel version. Actually, I just did it a few hours ago ;).

Reinstalling old kernel version:

Prerequisite: You actually have to find the binary package of the old kernel anywhere. If you don't have it, you're pretty much out of luck (if you don't want to compile the old packages yourself).

Oh my, where do I get the old package, you ask? There are a few possibilities listed in the wiki link, posted in one of the other answers. I usually stick to the possibility to search the pacman package cache (/var/cache/pacman/pkg). I also always have a recent backup of this directory, so no packages get lost, if I clear the cache.

If you have the old kernel package, you can install it by using pacman -U package-name.pgk.tar.gz. You will most likely get a dependency error after that. Every package, that is listed in this error has to be downgraded, too. So move back to the package cache, find the named package in an older version and try to install it, by calling pacman again, this time with the old kernel and the newly found package (pacman -U package-name.pgk.tar.gz other-package.pkg.tar.gz).

You will have to repeat this steps, until the pacman run succeeds. After that you should be able to reboot your system and the new (actually the old) kernel will be loaded. If pacman tells you, that it can't remove a package, that is incompatible with the old kernel, you will have to remove it manually (pacman -Rd conflicting-package.pkg.tar.gz), before installing the old kernel. But be careful with this step, it can break your system.

In my case, I have to downgrade 7 packages, including the kernel, glibc, kernel-headers, lirc and two packages of my nvidia driver.

In think, the only big flaw in Archlinux is actually the problem of downgrading. If you have cleared your package cache, it can be really hard to find the binary package you need. I've never succeeded in finding the package I needed on one of the mirror servers.

Because Archlinux is pretty much a cutting edge distro with very current packages and frequent releases, I need the downgrading feature very often. I really hope, the guys of Archlinux find a way to make this a little bit easier some time in the future.


This should cover how to downgrade a package with Pacman. I know that I've done it once (probably two years ago) and it worked alight (as far as I can remember).

Questions this specific to Arch are probably better asked on the Arch Linux message board or looked up in their wiki, since they are Arch specific and that's where you'll find the Arch Linux experts.