Ubuntu – Switching back from development to default kernel

14.04kernel

I'm on Ubuntu 14.04. My kernel version is kernel: 3.16.0-031600rc4-generic. I must at some point, for some reason, have switched to a development kernel but I can't remember how. How do I switch back to the stable kernel in such a way that this will persist over updates?

Output of apt-cache policy linux-generic

$ apt-cache policy linux-generic
linux-generic:
  Installed: (none)
  Candidate: 3.13.0.63.71
  Version table:
     3.13.0.63.71 0
        500 http://nl.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
     3.13.0.24.28 0
        500 http://nl.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

Best Answer

The problem with trying/testing kernels from a series more recent than the series used in your version of Ubuntu is that it will be what grub loads by default. You will have to delete kernel the 3.16 series kernel for things to fall back to working by default.

First, make sure that you can easily get to grub during boot time, so that you can select which kernel you want the system to boot with. As sudo edit /etc/default/grub, and set a long enough timeout to ensure that you have time to access it during boot. Perhaps save a copy of the original file first. I use these settings:

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=20 

After the edit do:

sudo update-grub

Now, re-boot. During re-boot access the Advanced Options for Ubuntu line to open the secondary menu. From the list of kernels select the most recent 3.13 numbered kernel.

Once booted, proceed to deleting kernel 3.16.0-031600rc4-generic. For the RC kernels, typically this would be 3 packages. To confirm:

dpkg -l | grep linux-

then (I think):

sudo dpkg -r linux-headers-3.16.0-031600rc4-generic
sudo dpkg -r linux-headers-3.16.0-031600rc4
sudo dpkg -P linux-image-3.16.0-031600rc4-generic

Note: I always purge the kernel image.
re-boot, and let the grub timeout expire without doing anything. i.e. do a default boot. Do you know have a 3.13 series kernel? Now, you can go back to whatever grub timeouts, or lack thereof, you prefer.