Hello,
This is a complex issue as it involves the following :
=> Booting a scsi device via a PCI scsi controller.
This is possible if the SCSI controller has its own BIOS. Hence, the first time you boot you may need to press something on the keyboard to enter the SCSI card's BIOS setup. Then make your it is properly configured (selection of BOOT device, no SCSI ID conflict between the disk and the tape drives, ...).
If your SCSI controller have no BIOS, then you MUST boot on the internal IDE driver. This means MBR + /boot !!!
Why /boot ? Because at the boot time, the BIOS does not know how to address SCSI devices, so it cannot read the Linux kernel code located in /boot on the SCSI device.
=> Boot with root filesystem on LVM device.
This should be OK if you load the "lvm-mod.o" driver in the initial ramdisk, and if you instruct the kernel properly to switch between the ramdisk and the real root device.
On you ramdisk, you may have something like this :
insmod
insmod scsi_mod.o
insmod sd_mod.o
insmod lvm-mod.o
...
...
mount /proc
...
...
vgscan
vgchange -a y
...
...
mkrootdev
echo >/proc/sys/kernel/real-root-dev
mount
...
umount /proc
pivot_root
Something may be wrong in this sequence.
If you need more help on this, please do the following :
* Boot your RedHat installation CD, follow the instructions until the keyboard is properly selected
* Open a shell (CTRL-ALT-F2).
mkdir /test
mknod /dev/sda b 8 0
mknod /dev/sda1 b 8 1
mount -t ext3 /dev/sda1 /test
mkdir /floppy
mknod /dev/fd0 b 2 0
mount -t msdos /dev/fd0 /floppy
cp -p /test/ /floppy
umount /floppy
umount /test
reboot
Then post the initrd file collected. I'll try to find what is wrong.
Good luck.
Kodjo
Learn and explain...