Hi Guys,
Finally got the problem solved:
Here is a brief problem description and solution in my case:
Problem Description:
I have installed RHES 2.1 installed on my machine, which comes by default with kernel-2.4.9-e.24. It works well. I recently upgraded to kernel 2.4.18-27.7.x using kernel RPM as follows:
rpm -ivh kernel-2.4.18-27.7.x.i686.rpm
/sbin/mkinitrd -f -v /boot/initrd-2.4.18-27.7.x 2.4.18-27.7.x
I am using grub as the bootloader and it has following configuration for booting into new kernel:
title Red Hat Linux (2.4.18-27.7.x) root (hd0,0) kernel /vmlinuz-2.4.18-27.7.x ro root=/dev/hda3 initrd /initrd-2.4.18-27.7.x.img
When i boot into new kernel i get following error: (I have added comments as I understand after some research in Italics after the errors)
mounting root filesystem kmod: failed to exec /sbin/modprobe -s -k block-major-3, errno = 2 >> run modprobe on block-major-3 i.e. IDE Drive and errno=2 signifies cannot find file. mount: error 6, errno = 2 >> Cannot find IDE Disk so cannot mount it. And all other error follows. pivotroot: pivot_root(/sysroot, /sysroot/initrd) failed: 2 Freeing unused kernel memory: 160k free Kernel panic: No init found. Try passing init= option to kernel.
Solution:
Problem was my BIOS (version BF86510A.86A.0038.P08) allowed to configure ATA/IDE Drives on enhanced mode which has all PATA and SATA Resources enabled (comes by default), but new kernel identifies IDE Drives only in LEGACY Mode (Primary /Secondary). I changed the BIOS Settings for IDE Drives from Advanced to LEGACYand it works fine.
Let me know if you have any doubts/clarifications.
Regards, Nikunj Virani