Monday, February 12, 2007

Saga of Kernel upgradation - No dep file found

Oh yeah..It was a 1 hour journey to fix the issue. Lovely because I could fix it :-P Day seems bright as well, because I fixed the XWindows in a cPanel installed machine as well, that will explained in the next blog.

Kernel upgradation was of 2.6.19.2 with grsec patch, after the grsec expand_stack vulnerability. Vulnerability was of high severity considering the purpose of grsec patch. So this time, I went for a rpm build. First build was successful, but I missed the elsa patch. Now ELSA , Enhance Linux System Accounting is included in the kernel itself. So built kernel rpm the second time and this time it was oops!!! :-D I love kernel panic oops. Fun begins here..

I realized I went for Uvh instead of ivh. This is the second time I go for Uvh and having kernel panics. Uvh removed all grub entries and old kernels from /boot directory. Gone.

Went to rescue mode, but when I tried to install the kernel it failed with post-scriptlet and pre-scriplet rpm script execution. So rpm installation on rescue mode failed (On a cPanel installed machine, I never was able to do it)

So extracted the rpms using the command rpm2cpio kernel.rpm | cpio -idv . Result was two dirs, boot and lib in my `pwd` .

Copied the files in boot and lib to appropriate directories. I now realize that initrd image is missing. Have to build it.

Normal mkinitrd /boot/initird-2.6.17.img 2.6.17 was erroring out No dep file found for kernel 2.6.17 Fun again. Let's create the dep file now. depmod is the command which will help you here. Command (after a few trial and error) which actually worked was

depmod -ae -F /boot/System.map-2.6.17 /lib/modules/2.6.17
and that worked.
And finally ran the mkinitrd, which did it's job calm and quiet. Kernel booted up in the older kernel and I am happy :-)

No comments: