ProLiant Servers (ML,DL,SL)
1753850 Members
7530 Online
108807 Solutions
New Discussion

Re: Compaq Proliant ML370 won't boot all of the sudden after power failure

 
Marian_10
New Member

Compaq Proliant ML370 won't boot all of the sudden after power failure

I had RedHat Linux 8.0 installed on this machine and after a power failure won't boot.The BIOS recognises the hdds (3x9.1GB).the error i get when I try to boot the default linux kernel is:

Loading jbd moduJournalled Block Device driver loaded
le
Loading ext3 module
Mounting /proc filesystem
Creating root device
Mounting root filesystem
mount: error 2 mounting ext3
pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed: 2
Freeing unused kernel memory: 304k freed
Kernel panic: No init found. Try passing init= option to kernel.

I tried with a redhat rescue cd, and it wont recognize any partition with linux.But if I switch to the console, and fdisk /dev/ida/c0d0 I can see the partitions are there: c0d0p1 which is /boot , c0d0p2 which is swap, c0d0p3 is /
I tried to modify grub.conf and append root=/dev/ida/c0d0p3 but it won't work either.I just can't see that damn c0d0p3 partition and I can't even mount it.What can I do? Thanks a lot.
1 REPLY 1
Matti_Kurkela
Honored Contributor

Re: Compaq Proliant ML370 won't boot all of the sudden after power failure

It seems something goes wrong in mounting the
root filesystem:
Mounting root filesystem
mount: error 2 mounting ext3
pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed: 2

Later, you told that the root filesystem (/) is /dev/ida/c0d0p3.

The problem is not exactly with GRUB. More likely the problem is caused by a bad initrd file: /boot/initrd-x.yy.zz-n.img.

When the kernel starts, it gets a "fake" root filesystem from the initrd file. To successfully mount the real root filesystem, the device files for /dev/ida/c0* must exist in the "fake" root filesystem, or /linuxrc script (also on fake root fs) must auto-create it. There might be something wrong with this. The rescue disk may be also prepared to handle only /dev/hd* and /dev/sd* automatically, since these are the two most common cases.

To fix the problem, try mounting the /boot as read/writable using rescue disk. Then make a copy of the initrd file. Uncompress the copy (it's gzipped, although it's named just .img). Then make a loopback mount to peek inside the uncompressed image file:
mount -o loop /some/where/uncompressed-initrd.img /mnt
or something similar.

Check that the /mnt/dev/ida (which will be /dev/ida when booting with initrd) exists and has the necessary device files. Also read through the /mnt/linuxrc and see if it makes an attempt to autogenerate those files somehow.

When you're added the necessary device files,
umount the image file and gzip it. Then change the GRUB boot entry to use this fixed initrd file.

If this allows your server to boot, you'll have to fix the "mkinitrd" command so that it will automatically generate the necessary device files into the initrd filesystem every time you'll upgrade to a new kernel version.

I seem to recall that this - or something like this - was a known bug in RedHat 8 or 9.
Check http://www.fedoralegacy.org/, there might be a permanent fix for it.
MK