Vendor ID | Device ID | Name | Spare # | Assembly # | Option # |
110e | 2040 | Smart Array Controller (EISA) | 142130-001 | 002969-001 | 142055-001 |
110e | 2040 | Smart Array Controller (EISA) | 181132-001 | 003596-001 / 003596-002 |
142055-001 |
linux text expert mem=24M
eisa=0x1000
Found 1 controller(s) cpqarray: Finding drives on ida0 (SMART) cpqarray ida/c0d0: blksz=512 nr_blks=16434495 ida/c0d0: unknown partition table autodetecting RAID arrays autorun ... ... autorun DONE. VFS: Cannot open root device 48:08 Kernel panic: VFS: Unable to mount root fs on 48:08 cpqarray: Completion of 0c850000 ignoredWhat has been found to happen is that during the install the array gets initialized a couple of times while loading the driver for the array (cpqarray) and then later when you fdisk the drive. The installer is able to create partitions and continue on with the rest of the installation and install Linux. If you examine the install process closely, you will notice that when the cpqarray driver first loads you get the same "unknown partition table" message, but by the time you get to fdisk and finish with fdisk, that error doesn't occur until you reboot.
mkdir /adir mknod /adir/c0d0 b 72 0After Install 5) Get a partition listing: Do "fdisk -l /adir/c0d0". If you don't see your partitions listed, then fdisk /adir/c0d0, don't make any changes, and exit fdisk, as follows: "fdisk /adir/c0d0", "w", "q". Then check again if you have your partitions listed. If not, another trick to get the partitions listed is to do an "rmmod cpqarray", "insmod cpqarray" until all your partitions show up; however, the fdisk trick should be faster (thanks to Mike Phillips).
mknod /adir/c0d0p1 b 72 1 mknod /adir/c0d0p6 b 72 6 mknod /adir/c0d0p7 b 72 7 mknod /adir/c0d0p8 b 72 8After Install 7) Mount your partitions: Now lets mount our partitions. You must mount the "root" partition first, then the others. Hopefully you know which partitions are which filesystem, otherwise you'll have to play the guessing game.
mkdir /bdir mount /adir/c0d0p6 /bdir (mount root partition first, here c0d0p6 is my root partition in this example) mount /adir/c0d0p1 /bdir/boot (in this example c0d0p1 is /boot) mount /adir/c0d0p7 /bdir/var (in this example c0d0p7 is /var) mount /adir/c0d0p8 /bdir/usr (in this example c0d0p8 is /usr) mount (run mount all by itself to see that your partitions are actually loaded - you should get listing for each of the partitions you mounted.)If you are unable to mount any of your hard drive partitions, then do the fdisk trick mentioned in step #5. Run fdisk on /adir/c0d0 or /adir/sda, then type "w" which will write changes and exit (don't make any changes in fdisk when you do this). This will cause the system to reinitialize something which will bring all your partitions online. Then start back at step #7 to mount your partitions again.
fdisk -l /adir/c0d0
mount /adir/c0d0p1 /bdir
ls -l /bdir/etc/fstab
umount /bdir
cat /bdir/etc/fstabthen mount the partitions you need. Remember when mounting these partitions to keep them relative to the /bdir directory. So when mounting /boot, you will mount it to /bdir/boot. When mounting /usr, you will mount it to /bdir/usr. You won't really need to mount your /home directory during this recovery method.
[root@localhost /root]# cat /etc/lilo.conf boot=/dev/ida/c0d0p1 map=/boot/map install=/boot/boot.b prompt timeout=50 default=linux image=/boot/vmlinuz-2.2.14-5.0smp label=linux initrd=/boot/initrd-2.2.14-5.0smp.img read-only append="smart2=0x1000 mem=96M" root=/dev/ida/c0d0p6 image=/boot/vmlinuz-2.2.14-5.0 label=linux-up initrd=/boot/initrd-2.2.14-5.0.img read-only append="smart2=0x1000 mem=96M" root=/dev/ida/c0d0p6