kernel-xen-2.6.18-348.el5.x86_64I recently rebooted my virtual server at 2host, only to find all my kernel modules failing to load. The VPS provider had provided kernel 2.6.18-348.el5xen, which I didn’t have installed.

I did a yum update / yum upgrade to get everything updated, and my /lib/modules now had:

drwxr-xr-x 6 root root 4096 Oct 1 2011 2.6.18-194.32.1.el5xen
drwxr-xr-x 6 root root 4096 Apr 10 2011 2.6.18-238.5.1.el5xen
drwxr-xr-x 6 root virtualftp 4096 Feb 11 2012 2.6.18-274.3.1.el5xen
drwxr-xr-x 6 root root 4096 Oct 22 2011 2.6.18-274.7.1.el5xen
drwxr-xr-x 6 root root 4096 Mar 12 09:12 2.6.18-348.3.1.el5xen

Rebooted again … and still no modules.

I tried “uname -a” again, and got:

Linux vpshost 2.6.18-348.el5xen #1 SMP Tue Jan 8 18:35:04 EST 2013 x86_64 x86_64 x86_64 GNU/Linux

Well, “2.6.18-348” is not the same as “2.6.18-348.3.1”. Trying my luck I did a symlink, and that still didn’t work. I suspect that on the VPS system, the kernel the OS boots with is not necessarily what is installed / specified by grub, but rather what is specified by the VPS system.

I looked inside the CentOS “updates” repository, and there was no 2.6.18-348 … hmm … where did this 2.6.18-348 come from? In the end, I found it under “OS” / base folders — 2.6.18-348 is what ships with a stock CentOS 5.9 !

I couldn’t figure out how to get yum to install this specific version of the kernel, so instead ended up doing a:

rpm -ivh kernel-xen-2.6.18-348.el5.x86_64.rpm

… and got all my modules running again!

This post was originally published publicly on Google+ at 2013-03-12 21:23:21+0800

You may also like...