From: J.O. Aho on
nomail@_INVALID_no.org wrote:
> On 06/09/2010 01:26 PM, noi ance wrote:
>
>> Doesn't matter whether you have 3 PATA or not. The above is telling your
>> system which SATA device you want as your boot drive.
>
> On my machine any PATA drive comes first, so sda will always be the
> first sata but hd0 will only mean the first sata if there is no pata
> connected.

Fix your /boot/grub/device.map


> Does anyone out there have 4 sata drives continuously connected
> throughout a session without raid or anything?

I have 6 SATA connected to my motherboard, they always keep their device
dedication, as the driver I expect to be sda is connected to SATA port 1.


--

//Aho
From: nomail on
On 06/10/2010 01:33 AM, J.O. Aho wrote:
> nomail@_INVALID_no.org wrote:


>> Now all hell breaks loose, the subject of the OP. What am I missing?
>> Using other than disk by device-name (/dev/sdX) is not practical for me.
>> If I cannot use the sata 3/4 ports then fine
>
> No, it's not port 3/4, it's port 1 and 4, note that the first of those ports
> are port number 1. Your boot disk is connected to port 2, see the dmesg:
>
>>> <6>ata2.00: ATA-8: WDC WD20EARS-00S8B1, 80.00A80, max UDMA/133
>>> <6>ata2.00: 3907029168 sectors, multi 1: LBA48 NCQ (depth 0/32)

The drive to be booted "IS" plugged into the connector marked sata1.

Here's the relevant line to boot part-1 on that disk in the grub menu

title Suse-11.2 OP reiser sda1
root (hd0,0)
kernel /boot/vmlinuz root=/dev/sda1 vga=0x31a splash=0 3
initrd /boot/initrd

Here's the partition's /etc/fstab

/dev/sda1 / reiserfs acl,user_xattr 1 1
/dev/sda5 swap swap defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs noauto 0 0
debugfs /sys/kernel/debug debugfs noauto 0 0
usbfs /proc/bus/usb usbfs noauto 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0

No pata disks are present and everything pata is disabled in BIOS.

Are we on the same page? Everything is strictly sata-=1, disk-1,
partition-1. There is no way that this boot should EVER end up on any
other disk regardless of what OTHER sata disks may or may not be
connected to any OTHER sata connector at boot time.

So long as this disk is the one in sata1 with no disk anywhere else or
ANY disk in sata 2 everything works fine. That's cool, it's what I
expect. But as soon as any disk is plugged into 3 or 4 (or the one in #2
is migrated to 3 or 4) the problem starts.

What mobo is that one that's letting you use 6 sata drives all at once?
I'll try one, believe me.

Anyone using an asus A8N-E with more than 2 satas?






From: J.O. Aho on
nomail@_INVALID_no.org wrote:
> On 06/10/2010 01:33 AM, J.O. Aho wrote:
>> nomail@_INVALID_no.org wrote:
>
>
>>> Now all hell breaks loose, the subject of the OP. What am I missing?
>>> Using other than disk by device-name (/dev/sdX) is not practical for me.
>>> If I cannot use the sata 3/4 ports then fine
>>
>> No, it's not port 3/4, it's port 1 and 4, note that the first of those ports
>> are port number 1. Your boot disk is connected to port 2, see the dmesg:
>>
>>>> <6>ata2.00: ATA-8: WDC WD20EARS-00S8B1, 80.00A80, max UDMA/133
>>>> <6>ata2.00: 3907029168 sectors, multi 1: LBA48 NCQ (depth 0/32)
>
> The drive to be booted "IS" plugged into the connector marked sata1.

Just unplug all the other SATA except your boot disk, move it to another SATA
port, until you see in the dmesg that it does end up in ata1.00.


> Here's the relevant line to boot part-1 on that disk in the grub menu
>
> title Suse-11.2 OP reiser sda1
> root (hd0,0)
> kernel /boot/vmlinuz root=/dev/sda1 vga=0x31a splash=0 3
> initrd /boot/initrd

And your /boot/grub/device.map?
Without that your hd0 could be /dev/sdq as far as we know.



> Are we on the same page? Everything is strictly sata-=1, disk-1,
> partition-1. There is no way that this boot should EVER end up on any
> other disk regardless of what OTHER sata disks may or may not be
> connected to any OTHER sata connector at boot time.

See your dmesg, it tells you a completely different thing, and as long as it
thinks differently, you will have the problem you have.


Example from my machine with most SATA hard drives

dmesg:
ata1.00: ATA-8: WDC WD1001FALS-00J7B1, 05.00K05, max UDMA/133
ata2.00: ATA-7: SAMSUNG HD753LJ, 1AA01113, max UDMA7
ata4.00: ATA-7: SAMSUNG HD753LJ, 1AA01113, max UDMA7
ata3.00: ATA-7: SAMSUNG HD753LJ, 1AA01110, max UDMA7
ata5.00: ATA-8: WDC WD1001FALS-00J7B1, 05.00K05, max UDMA/133

/boot/grub/device.map:
(hd0) /dev/sda
(hd4) /dev/sde

/boot/grub/grub.conf:
title Rescue 2.6.30.8
root (hd0,0)
kernel /rescue-2.6.30.8 root=/dev/sde3 vga=792 panic=15 selinux=0
title Linux 2.6.30.8
root (hd0,0)
kernel /kernel-2.6.30.8 root=/dev/sda3 vga=792 panic=15 selinux=1

/etc/fstab:
/dev/sda1 /boot jfs noauto,noatime 1 2
/dev/sda3 / jfs noatime 0 1
/dev/sde3 /mnt/rescue jfs noatime,noauto,ro 0 1


In my case everything works as my boot disk is ata1.00, I would have the same
problem as you, if I had plugged it into ata2.00.

The most important for you is to change to believe that the kernel is right in
detecting the hardware and adopt your plugging to match the kernel, when you
do that, your problems will be just an old memory from the past.

--

//Aho
From: nomail on
On 06/11/2010 01:20 AM, J.O. Aho wrote:
> nomail@_INVALID_no.org wrote:

> Just unplug all the other SATA except your boot disk, move it to another SATA
> port, until you see in the dmesg that it does end up in ata1.00.

Did that. If I plug any drive into the different sata connectors in turn
I get:

ata3.00: ATA-8: WDC WD20EARS-00S8B1, 80.00A80, max UDMA/133
ata4.00: ATA-8: WDC WD20EARS-00S8B1, 80.00A80, max UDMA/133
ata1.00: ATA-8: WDC WD20EARS-00S8B1, 80.00A80, max UDMA/133
ata2.00: ATA-8: WDC WD20EARS-00S8B1, 80.00A80, max UDMA/133

Sata Bios Grub Kernel
Plug # hd hd
1 sata1 0 ata3
2 sata2 1 ata4
3 sata3 2 ata1
4 sata4 3 ata2

For a moment I thought that not only you were right but that maybe the
board connectors had been misprinted, so I swapped the 1-2 & 3-4 cable
sets and yes, I could now boot with all 4 drives connected but not off
the root sector of (hd0) and booting a partition on hd0, only with

root (hd2,0)
kernel /boot/vmlinuz
initrd /boot/initrd
boot

This alone would require me to edit too many scripts, it's nowhere near
a rational standard nor does it resolve the other problem of disks 3-4
showing up as sdg-sdh instead of sdc-sdd regardless of the above. ALL of
these are unacceptable so I'll just consider this board as a 2-disk one
with the ability to hot-plug 3 of 4 for data use.

> And your /boot/grub/device.map?
> Without that your hd0 could be /dev/sdq as far as we know.

Didn't have one because it's generally not needed.

http://forums.fedoraforum.org/showthread.php?t=153679

Grub doesn't read it except if it cannot determine the partition to be
booted (hardly ever happens) and neither does the OS. But I forced it to
write one after a boot with only two disks folowed by hotplugging the 3
& 4. It wrote out disk ID's instead of device names.

(hd2) /dev/disk/by-id/ata-WDC_WD5000AAKS-00V1A0_WD-WMAWF1325726
(hd1) /dev/disk/by-id/ata-WDC_WD20EARS-00S8B1_WD-WCAVY2992781
(hd0) /dev/disk/by-id/ata-WDC_WD20EARS-00S8B1_WD-WCAVY2963859
(fd0) /dev/fd0
(hd3) /dev/disk/by-id/ata-WDC_WD3200KS-00PFB0_WD-WCAPD2725230

Besides the problem isn't with grub or booting. The correct partition
does gets booted, it's the kernel that screws it up after loading.

> See your dmesg, it tells you a completely different thing, and as long as it
> thinks differently, you will have the problem you have.
>
>
> Example from my machine with most SATA hard drives
>
> dmesg:
> ata1.00: ATA-8: WDC WD1001FALS-00J7B1, 05.00K05, max UDMA/133
> ata2.00: ATA-7: SAMSUNG HD753LJ, 1AA01113, max UDMA7
> ata4.00: ATA-7: SAMSUNG HD753LJ, 1AA01113, max UDMA7
> ata3.00: ATA-7: SAMSUNG HD753LJ, 1AA01110, max UDMA7
> ata5.00: ATA-8: WDC WD1001FALS-00J7B1, 05.00K05, max UDMA/133

Just curious, how do those compare to the relative sata pinouts? Maybe
I'll have to evaluate future motherboards by their knack to anticipate
linux kernel behaviour :-)

> In my case everything works as my boot disk is ata1.00, I would have the same
> problem as you, if I had plugged it into ata2.00.

I understand, you keep saying "plug into ataX" but the user has no ata
plugs, only sata. You are (or would be prepared to) follow a workaround
to arrive at what you want.

> The most important for you is to change to believe that the kernel is right in
> detecting the hardware and adopt your plugging to match the kernel, when you
> do that, your problems will be just an old memory from the past.

Thanks for your comments, I now unsderstand that what seemed like a bug
of sorts isn't ..unfortunately. I need logical and unbroken disk
sequences where hd0 is always hda/sda and so on all the way to the last
connected disk.

From: nomail on
On 06/11/2010 07:12 PM, noi ance wrote:

> Without looking at your original post, that contained your /etc/fstab, my
> question is how are you describing the drives 2-4?

In fstab I use only disk by device name i.e. /dev/sda etc. so if I were
to describe drives 2 & 4 it would be /dev/sdc & /dev/sdd. As it is only
the booted operating partition and swap figure in my fstab. To mount any
other partition when I want and for the time I want I click my own
scripts via dropdown menus in the panel.