Most recent kernel where this bug did not occur: UNKNOWN
Distribution: Gentoo 2006.1 Amd64
Hardware Environment: System based on Asus A8N-SLI Deluxe Mainboard with AMD64
X2 4600+ cpu
Software Environment: Linux!
Linux Gemini 2.6.17-gentoo-r4 #13 SMP PREEMPT Mon Aug 28 16:36:01 CDT 2006
x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 4600+ AuthenticAMD GNU/Linux
And an nVidia based ASUS A8n SLI-Deluxe,
The driver in the kernel does *not* detect the sata ports correctly, even after
jogging my wiring around.
The disk which is connected to SATA 0 (And confirmed by the BIOS), is detected
as /dev/sdc. Of course, I am using three sata ports. But it would be nice to
know what is going on here.
Gentoo has asked that this bug be filed against the mainline kernel. So, here it is.
I am adding a dmesg output.
Steps to reproduce:
Boot the computer, and it will not detect the discs in the appropiate order.
Created attachment 9056 [details]
Dmesg of affected system
Original report: http://bugs.gentoo.org/show_bug.cgi?id=145431
Apart from the addition of some PCI ID's (pulled from 2.6.18-rc kernels) there
are no modifications to sata_nv in the 2.6.17 Gentoo kernel releases
If the BIOS order is 1,2,3,4, is the detected order 3,4,1,2?
These chipsets use two PCI devices to implement four SATA ports and it seems
like BIOS and the kernel are using different PCI ordering. If that's the case,
maybe we can do something about it w/ pci quirks and some tricks in
nv_init_one(), but I'm not sure whether the change would fix or break more. The
probing order has been like that for all 2.6 kernels and I guess people are used
to it by now (including me).
Is it causing a lot of headache for you? Doesn't gentoo use LABEL= trick yet?
If it will break the hell out of everything, I guess it would be inappropiate to
make it a "mainline fix", but the fact is that at this point I had to order my
discs in the 1,2,3 slots to get the order detected as 3,1,2. But my 4th is
attached to an eSata adapter to hook up external discs. If i add anything to
that channel, it completely messes up the ordering AGAIN.
What's the label trick?
The LABEL= thing works by giving unique string names to each filesystem. For
ext2/3, you can set it w/ "tune2fs -L blahblah /dev/sda1". Then, you can use
"LABEL=blahblah" almost whereever you would use "/dev/sda1". Most FS related
userland tools recognize the format and will handle it properly no matter which
device node the drive ends up with.
For the root partition, the kernel itself doesn't recognize the format but most
if not all initrd images from distributions recognize it, so if your boot
process includes initrd, you can simply say "LABEL=my_root_fs" on the kernel
parameter line. Many distributions default to such method nowadays.
So, just to recap, my / is on XFS, named "rootfs", how do i play the labeltrick?
You need to use an initrd which will process the LABEL argument and use it to
find the root device. I'm not sure if genkernel-generated initrd's do this just
yet, if they don't it would certainly be a valid feature enhancement request for
I do not use genkernel. I am using the normal make menuconfig method to generate
everything. I therefore also do not use a RamFS to boot, straight into primary
rootfs for my computer. This may pose a problem, I think ? ^_^
You can't do it with the standard kernel boot system, as far as I know. Maybe
this will change when klibc is merged, although thats a complete guess.