0

I had installed Ubuntu 12.04 64-bit on my Laptop (host OS) when it was released (around April, 2012) and after applying all the patches (sudo apt-get update;sudo apt-get dist-upgrade), the version of Linux kernel is

uname -r
3.2.0-53-generic

Recently I downloaded ubuntu-12.04.3-desktop-amd64.iso and used if for installing a guest OS on top of VirtualBox, the default Linux kernel is

uname -r
3.8.0-29-generic

And 3.8.0-34 is available on doing a dist-upgrade on the guest.

Why is not the kernel version getting upgraded to 3.8.0-* on the host OS even after a dist-upgrade? I am getting the rest of the upgrades though.

Also, because of the kernel mismatch I am not able to install the VirtualBox guest additions.

2 Answers2

1

When 12.04 was first released, the Linux kernel was about 3.2, 3.3. Since then you haven't updated your kernel stack, hence you still use 3.2. But, point releases which you installed recently has the latest available kernel (and others packages) which is 3.8. This is to prevent that .5, 1 and 1.5 years of updates.

In your laptop you can install the latest kernel available using:

sudo apt-get install linux-image-generic-lts-raring
Braiam
  • 67,791
  • 32
  • 179
  • 269
  • As mentioned in the query, I did a apt-get dist-upgrade on the host, so this should have upgraded the kernels also. Also, in the synaptic linux-generic points to 3.2.0.57.68 and not the latest 3.8.0-29 version of Kernel. – Praveen Sripati Dec 20 '13 at 13:59
  • @PraveenSripati even if you do dist-upgrade if you don't have the meta package installed it will not upgrade the kernel out of the 3.2. If you do apt-cache search image | grep linux-image you will notice several kernel versions that you don't have installed. – Braiam Dec 20 '13 at 14:09
  • As I said, in the synaptic linux-generic points to the old 3.2.0.57.68. So, sudo apt-get install linux-generic installed 3.2.0.57.68 and not the latest kernel. I did a sudo apt-cache search linux-image | grep 34 and I see linux-image-3.8.0-34-generic as one of it. I was able to manually update the kernel with sudo apt-get install linux-image-3.8.0-34-generic, but it's a pain. – Praveen Sripati Dec 20 '13 at 14:49
  • Then, what's the problem? Just install linux-image-3.8.0-34-generic or the package that depends of it (I don't use LTS so I wouldn't know) but a simple apt-cache rdepends linux-image-3.8.0-34-generic will tell you exactly what package is (I hope is not something like linux-image-lts-raring-generic) – Braiam Dec 20 '13 at 14:54
  • apt-cache rdepends linux-image-3.8.0-34-generic returns linux-image-generic-lts-raring and I am using Precise. Not sure, but I am missing something. linux-generic should point to the latest kernel on any version and it is not. – Praveen Sripati Dec 20 '13 at 15:05
  • That is. When you try to install a kernel that is not provided by the version of ubuntu, it comes with the latest Hardware Enablement Stack http://askubuntu.com/q/248914/169736. This is why the different package name, since you are installing the kernel provided in raring. – Braiam Dec 20 '13 at 15:17
0

According to the Ubuntu Documentation

By default, the 12.04.3 point release will ship with a newer 3.8 Ubuntu kernel from Ubuntu 13.04, and a matching X.org stack. This is based on the 3.8.0 Extended Upstream Stable Kernel Release. The purpose of providing a newer kernel in the 12.04.3 point release is for hardware enablement.

More here.