On Thu, Sep 11, 2008 at 5:52 AM, Joseph A Borg <[EMAIL PROTECTED]> wrote:
> but i'll have to change it every time i add or remove a hard diskwhich can
> be pretty frequent.

Ah, so there's the rest of the problem description.  (You didn't
initially why the assignments were an issue, so the assumption was
that it was an aesthetic matter.  That may sound silly, but people
worry about the silliest things.)


It's possible to hardcode the assignment of drives in the kernel
config.  I _think_ this can only be done by compiling a new kernel
completely (i.e., I don't think "config -e" can do it).

(I used to do this for my laptop, so that the main harddrive would
always be wd0, whether or not I had a second drive in the removable
bay.  I stopped when ahci support was added, as then the main drive
became sd0 always.)

Basically, you look at the dmesg to see what the chain of devices to
the one you want to hardcode is and then you add explicit lines for
those to your kernel config as special cases.  In my case, IIRC, I
added lines that ran something like:
   pciide1 at pci0 dev 31 something something something
   wd0 at pciide1 flags 0x0000

(My memory says that specifying the involve pciide channel as pciide0
didn't work right; the assignments didn't always occur the way I
expected or something.  Forcing it to be pciide1 worked, and then I
could always set wd0 to be the drive on that channel.)

Note: don't alter the GENERIC config.  Create a new file that uses
'include' to pull in GENERIC and then follows it with your required
lines.

Of course, compiling your own kernel is taking you out of normal,
supported territory.  You'll need to decide whether that's worth the
trade-off.  If you aren't comfortable supporting your custom kernel
config, then don't, and use your existing best practices to avoid the
problem.  Don't forget to keep an original GENERIC kernel on hand for
confirming and reporting problems.


Philip Guenther

Reply via email to