SCSI Controller Module Load Order - My FC2 gotcha

Dan Haines dan.haines at metservice.com
Thu May 20 00:27:55 UTC 2004


Hi all.

First of all, let me apologise for the wrapping of this email.

Let me describe my setup, and the processes that have led me to finding
a solution for a problem which only existed when I had upgraded from the
2.4 FC1 kernel, to the 2.6 FC2 kernel.

I have an external RAID device, attached to SCSI host adapter 0
(aic79xx) in my server.  I also have an internal 18gb SCSI drive
attached to SCSI host adapter 1 (aic79xx).

Under the 2.4 kernel, the RAID device was not automatically attached to
the machine during boot, thus a line had to be added to /etc/rc.sysinit
to manually attach it (echo "scsi add-single-device 0 0 1 1" >
/proc/scsi/scsi), which worked fine.  I attached it after the
LoadModules area.  This worked, attaching the RAID device as /dev/sdb.

However, when I upgraded to the 2.6 kernel and rebooted, the kernel was
suddenly very efficient, and COULD attach the RAID device without any
extra special attention.  Thats when I ran into my problem.  It was
attaching, logically, SCSI host adapter 0 first, which added the RAID
device as /dev/sda, and the internal SCSI drive as /dev/sdb.  This was
not desirable.

I tried changing the order of the scsi adapters in /etc/modules.conf, to
load the aic79xx module first, reran mkinitrd and rebooted.  No effect.

Through trial and error, a good friend of mine found the solution.

If you wish you change the SCSI controller module load order, and make
one module load before another, as was necessary in my case, try the
following:

mkinitrd -f -v --preload=aic79xx /boot/initrd-2.6.5-1.358smp.img
2.6.5-1.358smp

This resulted in the aic79xx being loaded before the aic7xxx, and this
correctly labelling the devices.  The internal SCSI using aic79xx became
/dev/sda, and the external RAID using aic7xxx became /dev/sdb.

I hope this solves a few headaches out there.

Enjoy, and good luck,
Dan






More information about the fedora-list mailing list