How to force a (SATA) drive to be sda and the PATA one sdb

ed at hp.uab.edu ed at hp.uab.edu
Wed Oct 3 04:25:10 UTC 2007


On Wed, 3 Oct 2007, Alfredo Ferrari wrote:

> Hi
> I have the following problem:
>
> a) a laptop with a SATA drive
> b) a modular bay in the same laptop where I can fit a DVD, a battery
>   or a PATA drive
>
> If the PATA drive is there Fedora 7 recognizes it as /dev/sda and the 
> SATA one as /dev/sdb. Without the PATA one, the SATA one is obviously 
> /dev/sda. I would like to find a way to force the SATA one to be 
> /dev/sda always: using labels is only mitigating the issue of the (main) 
> disk flipping name, since some partitions are mounted via autofs which 
> does not accept labels, and others are Windows ones which again cannot 
> be mounted by labels at least to my knowledge.
>
> In short, is there any mean (kernel parameter?) to force the SATA drive 
> come first? BTW on Fedora Core 6 this issue was never present.
>

Alfredo, I had the same problem when I added a SCSI controller into the 
computer. The SCSI module was loaded first, then the SATA module. This 
bumped the SATA drive that was sda to sdb, and nothing worked right.

Solution: extract the initial ramdisk, edit the 'init' script, and reorder
the module loading. Make sure the module for the sata is loaded before the 
ide module.

Now, I am not familliar with the PIDE modules, so you are on your own 
there. But I would look for a line like

insmod /lib/ide-scsi.ko

and put it after a line like: ( since I have the NVidia chipset)

insmod /lib/sata_nv.ko

shout out again, if you don't know what I'm talking about when I say 
'initial ramdisk'

Otherwise: Think again about labels, that's what they are for. And you 
have already booted grub, and grub found the initial ramdisk... That may 
be all you need.

ed




More information about the users mailing list