Click to See Complete Forum and Search --> : Technical advice needed with Serial ATA drive config, Linux Kernel 2.4.x


DrSoCold
12-17-2003, 02:14 PM
Hello forum users, help is desperately needed here. I have spent weeks trying to solve my SATA/kernel freeze problem, so help would be greatly appreciated in finding a solution if one exists (without changing hardware!).

I have recently built a new PC, the important specs are listed below:

P4 2.6ghz
Gigabyte GA-8IPE1000 PRO motherboard (bios upgraded from shipped version Fa to current Fc)
1gb DDR memory
2 x 80gb Maxtor SATA disks
1 x 250mb ATAPI zip disk
1 x cdrw
1 x dvd rom drive

I suspect this is a fairly trivial problem for some, but the background and current situation need a little explanation, so please bear with me.

I would like the ide disk structure listed below.

IDE 0: Master - IDE ZIP drive 250mb (/dev/hda)
IDE 0: Slave - 3GB UDMA dard drive (unused spare drive) (/dev/hdb1)
IDE 1: Master - CDROM/Writer (/dev/hdc)
IDE 1: Slave - DVD drive (/dev/hdd)

IDE 2 (SATA 0): - 80GB SATA drive (boot, swap) (/dev/hde1)
IDE 3 (SATA 1): - 80GB SATA drive (usr, home etc) (/dev/hdg1)

At the moment, due to partially foreseen problems, the layout looks like
this:

IDE 0: Master <-- SATA 0 (/dev/hda1)
IDE 0: Slave <-- SATA 1 (/dev/hdb1)
IDE 1: Master - CDROM/Writer (/dev/hdc)
IDE 1: Slave - DVD drive (/dev/hdd)
(SATA0): 80GB SATA drive (boot, swap) --> IDE0 Master
(SATA1): 80GB SATA drive (usr, home etc) --> IDE0 Slave

(i.e. the SATA drives are mapping to IDE0 Master and Slave)

My current disk structure restricts me to only 4 IDE devices as I am running my BIOS in a sort of "Legacy mode" where SATA 0 and 1 map to IDE 0 master and IDE 0 slave. I had to do this as when I tried to install RedHat 9 with it's default kernel 2.4.20-8, it would not detect the serial hard drives on the controller, and would therefore not install.

I now have a ZIP drive and one spare hard drive that I need to attach at some point, but am unable to do so.

I installed RedHat using the legacy mode BIOS setup. I then downloaded the latest stable kernel (2.4.22) and applied it. When I ran a hdparm -t on the drives, I got the SATA speeds that I was looking for and the SATA controller was detected, but am still stuck in the legacy IDE mapping mode in the BIOS (I have recently upgraded to Kernel 2.4.23 and I still have the problem).

After rebooting and checking all was fine I restarted and changed my BIOS to my desired layout, no problem. I ensured that I had made the necessary changes to /etc/fstab /boot/grub.conf to reflect the new positions of the SATA drives i.e. they would be /dev/hde1 and /dev/hdg1 as opposed to /dev/hda1 and /dev/hdb1 and that the swap would mount blah blah.

When I try to boot, the kernel detects the new drive config but freezes after it attaches the ide disk driver to the first SATA disk at /dev/hde, see the photos (75kb max) (I could not log these events):

http://www.uea.ac.uk/~u0366439/linux/SATAnative1.jpg
http://www.uea.ac.uk/~u0366439/linux/SATAnative2.jpg

I tried stopping the kernel from probing the slave disks that the BIOS thinks (!!) it has i.e. /dev/hdf and /dev/hdh. But the problem persists, see the photo:

http://www.uea.ac.uk/~u0366439/linux/SATAnativeNoProbeOfGhostDisks.jpg

Why does the BIOS present each SATA IDE channel as having two disks when it can only contain one?

I have tried numerous BIOS configurations, but it seems that this problem likes me and does not want to leave. I have tried several kernel parameters, but as I cannot log any real detail as to why the system is freezing, I am seriously stuck.

Thanks for reading, I Hope someone can shed some light on where I (or the system) may be going wrong.

Alex Cavnar, aka alc6379
12-17-2003, 07:20 PM
This suggestion's a little bit out in left field, and you may not like it, but I'd suggest a reinstall.

Here are my reasons. For one thing, the system is configured for those SATA drives to be at /dev/hda and /dev/hdb if I read correctly. That means that all of your files, like /etc/fstab, for instance, will point to those locations.

The best thing, IMO, is to get a distro like Fedora, which is Red Hat's consumer release now. It should have a kernel that supports SATA by default, thus allowing you to install directly onto those SATA drives in a native mode. That way, you won't have any issues with device names creeping up that the system doesn't expect.

DrSoCold
12-19-2003, 09:20 AM
Your suggestion does make sense Alex. I have decided to go down another direction now though.

I read that the 2.6 kernel supports SATA properly (?). I have managed to get my existing system working using stable 2.6 now, although I need to do a few more test compiles in order to fine tune the Kernel.

I was pondering over my issue and when I checked Kernel.org yesterday I found that 2.6 had been officially released as Stable.

I have HOWTOS from other users that I have been working through, I had to update many files for 2.6 to work though, these included:

- nvidia Linux drivers
- Mod Utils
- glibc
- rpm

I am still getting used to using the new xconfig and gconfig, although xconfig has stopped working and is giving me a segmentation fault on the command line (?). I am using gconfig (buggy as it may be).

I can see that I am going to have lots of fun hacking 2.6, thanks for the help.