Ubuntu – Install older kernel in a server and made it the default boot option in grub

grub2kernelupdates

I need to install an older kernel version (3.2.0-24-generic) on an existing Ubuntu 12.04.3 (3.8.0-34-generic) LAMP server and a new install Ubuntu 12.04.4 (3.11). After the installation I will need to stop the kernel from updating. Both servers are VMs on a ESX 5.5 host. I have some software that is only supported on 12.04 and 3.2.0 kernel that I would like to install on these two servers.

Here are my questions:

Will installing and using an older kernel affect any software currently installed?

Are there any negative effects to downgrading the kernel?

Is the process below correct for what I am trying to do?

What I have found so far on how to do this is…

Install 3.2.0-24 kernel

    sudo apt-get install linux-image-3.2.0-24-generic linux-headers-3.2.0-24-generic

Make a backup of grub

    sudo cp /etc/default/grub /etc/default/grub.bak

Edit grub to set default kernel at boot

    sudo gedit /etc/default/grub

Change line GRUB_DEFAULT=0 to GRUB_DEFAULT=”2>0” and saved changes

Update Grub

    sudo update-grub

Place a DPKG hold on the kernel to stop it from updating

    echo “linux-image-3.2.0-24-generic hold” | sudo dpkg --set-selections
    echo “linux-headers-3.2.0-24-generic hold” | sudo dpkg --set-selections

Best Answer

is it possible?

Switching between recent closely related kernels is possible - that is kernel versions 2-3 different. Any larger than this and you can run into graphical issues because todays graphics cards and drivers often need a similar kernel to work with.

I know this because my laptop is an intel based laptop. I'm running 12.04 and running the hardware-enablement stack.

Currently I'm using the 13.10 saucy stack but with the raring kernel (kernel 3.8 vs 3.11 in saucy). This works ok. When I switch to my 3.2 kernel, my laptop boots to a black screen.

Given that you are using a server, I imagine you are not running any graphics stuff anyway - or maybe just framebuffer type graphics. Thus, the graphics issues should not (in theory) apply to you.

kernel 3.2

Kernel 3.2 is the long-term supported kernel (LTS) - so it will receive the support the longest (i.e. a total 5 years from 12.04 release).

As long as you are not running any kernel device dependent software, there will be no impact in running an older kernel.

The other aspect you should consider is security updates. By pinning and holding your kernel you'll need to manually manage your kernel updates.

pinning

As to your queries - the procedure you have outlined is correct.

You may wish to consider not "pinning and holding". Instead of booting using the first kernel found in the "Previous Kernels" GRUB, you could instead boot to a named kernel

i.e.

change GRUB_DEFAULT="2>0" to GRUB_DEFAULT="2>Ubuntu, with Linux 3.2.0-24-generic"

You can obtain the grub label via the command fgrep menuentry /boot/grub/grub.cfg