physical scsi channel mapping to scsiX device node mapping, how to configure manually
I have and ncr scsi card and and aic78xx scsi card.
They each have drives attached to them. when I installed the system looked like this: scsi0 : ncr53c8xx-3.4.3b-20010512 scsi1 : Adaptec AIC7XXX Rev 6.2.8 scsi2 : Adaptec AIC7XXX Rev 6.2.8 sda sdb (no drives attached to ncr53x8xx) so now I have added some drives to the config and it looks like this: scsi0 : ncr53c8xx-3.4.3b-20010512 sda sdb scsi1 : Adaptec AIC7XXX Rev 6.2.8 scsi2 : Adaptec AIC7XXX Rev 6.2.8 sdc sdd and of course it won't boot cause the kernel thinks it's on /dev/sda. My questions: what's the most painless way of fixing this problem? Why am I having so much trouble telling the kernel to make the adaptec card be scsi0 and scsi1 and the ncr card to be scsi2? I have tried altering my modules.conf in several different ways: there's the classic but elegant: alias scsi_hostadapter aic7xxx and no other scsi dirrectives.. then I tried the full-on: alias scsi_hostadapter0 aic7xxx alias scsi_hostadapter1 ncr53x8xx tangents have included: alias scsi0 aic7xxx alias scsi1 aic7xxx alias scsi2 ncr53x8xx and alias ncr53x8xx off As an aside I have to admit that I am having trouble finding any examples of how to tell the kernel to do what you want it to do in this respect. |
Nice one...
are u updated the initrd after changing the modules.conf ?? Open the initrd image and check the sequence. I think it will solve ur issue.. :study: Siddiqu.T |
initrd is an image of a ram disk with the drivers required to boot, I know that.
However, I did not know that the initrd dictated how to use the drivers and I don't know how it does that (is there a modules.conf in it?). How do I "Open the initrd image and check the sequence." ? |
This just in...
I figured out how to fix my problem there is a file in the initrd called linuxrc that dictates which drivers should be loaded ( and in what order). It's just a shell script. I moved the modprobe for the aic card above the modprobe dor the ncr card and voila, I get sda1 to be the drive on the AIC controller. Which is exactly what I wanted. The tricky part was getting inside the initrd. I "reverse engineered the creation of the initrd by examining /sbin/mkinitrd which is just a sheel script that automates the creation of an initrd. So i had to unzip the file and mount it via loopback dev but once I had /sbin/mkinitrd in front of me it was just a step by step process. If anyone care I can write it out. |
All times are GMT -5. The time now is 06:28 PM. |