Kernel Upgraded from 2.6.17 to 2.6.20 - SATA HD appears as hdx
Linux - KernelThis forum is for all discussion relating to the Linux kernel.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Kernel Upgraded from 2.6.17 to 2.6.20 - SATA HD appears as hdx
The title describes the problem fairly well - I was running 2.6.17.13 (I think), and I upgraded to 2.6.20 (I compiled both kernels, the second one using make oldconfig). Now, it sees my SATA hard drive as /dev/hda rather than /dev/sda; this is causing some problems, esp. with fstab (I was only able to boot by passing root = /dev/hda4. Is this normal? Should I just adjust to the new device nodes? Is there a kernel config option or other method for getting it to recognize the drive as what it is?
What motherboard and controller are you using, and did you change any BIOS or config options for the new kernel? I haven't run into this problem, and I've upgraded successively through the 2.6.19 kernels to now 2.6.20.6.
Thanks for the reply. I did not change and BIOS settings; the hard drive is set as the IDE primary master, even though the drive itself is SATA. I have little information besides it being an Asus motherboard, as this is a laptop.
The output from lspci -v sheds some light on the matter, I beleive:
Code:
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE (rev 02) (prog-if 80 [Master])
Subsystem: ASUSTeK Computer Inc. Unknown device 1447
Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 18
I/O ports at <unassigned>
I/O ports at <unassigned>
I/O ports at <unassigned>
I/O ports at <unassigned>
I/O ports at ffa0 [size=16]
Capabilities: [70] Power Management version 2
From this, it appears to be a controller that interfaces with the BIOS by IDE while controlling a SATA drive.
The question, now, is why the 2.6.17.13 kernel assigns it a /dev/sda designation while the 2.6.20.7 kernel recognizes it as /dev/hda.
"The question, now, is why the 2.6.17.13 kernel assigns it a /dev/sda designation while the 2.6.20.7 kernel recognizes it as /dev/hda."
I seem to remember seeing something about this on the switch from 2.6.17 to 2.6.18 and beyond, but I'll be damned if I can remember what or where. It kind of makes sense that the way the BIOS sees the drive should take precedence, though.
Changes were introduced at .18, and .19 - see this for pertinent .19 stuff.
Edit: It really does pay to keep an eye on the (kernel) changelogs. You might be used to just compiling it, but when it all falls apart, start looking at those changelogs. All of them.
I recall at least one occasion recently where Andrew Morton (in his changelog) has specifically warned against just habitually using oldconfig.
When you get bit, go looking for why.
I seem to remember seeing something about this on the switch from 2.6.17 to 2.6.18 and beyond, but I'll be damned if I can remember what or where.
The naming for the modules changed from CONFIG_SCSI_SATA_???? to CONFIG_SATA_???? which an oldconfig compile probably never picked up. Check in your old 2.6.17 config file comparing to the new 2.6.20 to see which module(s) did not get built for the SATA options.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.