FS#18288 - Udev does not create IDE drive nodes

Attached to Project: Arch Linux
Opened by Andrej Podzimek (andrej) - Thursday, 11 February 2010, 10:56 GMT
Last edited by Tobias Powalowski (tpowa) - Thursday, 11 February 2010, 14:21 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To No-one
Architecture All
Severity Critical
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

Udev doesn't create IDE drive and partition nodes on startup.
Kernel messages show something like "hda: hda1 hda2 hda3 < hda5 hda6 hda7 >" just as usual, but there are no corresponding files in /dev.
This happens after I upgraded my system yesterday and it may be related to other packages as well.
I have been using a vanilla kernel 2.6.31.12 for some time, so my kernel didn't change.

Due to the failure described above, Arch does not boot properly and the whole system became unusable.

I tried 'udevd --debug' and went through all the steps in /etc/rc.sysinit manually. There was nothing really suspicious in the output, no severe errors. (BTW, what should I look for?) Both IDE channels were mentioned in the output messages, but no nodes were created for drives and partitions. Neither for the optical drive, nor for the hard drive.

Additional info:
* package version(s)

udev 151-2 (probably), but can't get to pacman's logs now.

* config and/or log files etc.

I'll try to get the output from 'udevd --debug' if I'm asked for it, but it's somewhat hard to transfer right now. :-(

Steps to reproduce: pacman -Syu and reboot.

A couple of details:
1) I use a 2.6.31.12 vanilla kernel.
2) Reiser4 is on all of my partitions, so booting the Arch kernel is not an option.
3) I don't use any initrd/initsomething stuff.
4) All worked fine (with exactly the same kernel) till I upgraded the system yesterday.
5) Processing of "udev uevents" took 18 seconds before the upgrade. Now it takes just a fraction of a second, but something is obviously wrong.
6) I use the old IDE subsystem that labels drives /dev/hd[a-z][0-9]* by default. It has always worked fine for me ... up to now.
7) This is an Asus M2400N laptop.
8) Filesystem and IDE drivers are compiled into the kernel. (After all, the kernel sees all the partitions.)
9) The root partition is mounted RO at startup, but can be remounted to RW manually, although there is no corresponding /dev/hda7 node.
10) Neither kernel messages nor udev messages show hardware failures. Kernel messages look just as usual.

Have there been any important changes that require me to reconfigure some udev rules manually? What am I doing wrong? I didn't notice any announcement on the ArchLinux web site. If there's anything I could try, please give me a hint.
This task depends upon

Closed by  Tobias Powalowski (tpowa)
Thursday, 11 February 2010, 14:21 GMT
Reason for closing:  Not a bug
Comment by Andrej Podzimek (andrej) - Thursday, 11 February 2010, 11:13 GMT
FTR, this is how you can workaround this situation using mknod. In my case, I had IDE partitions with this layout: hda: hda1 hda2 hda3 < hda5 hda6 hda7 >

So I called
mknod /dev/hda b 3 0
mknod /dev/hda1 b 3 1
mkond /dev/hda2 b 3 2
... and so forth.

Now I can at least access my partitions.
Comment by Tobias Powalowski (tpowa) - Thursday, 11 February 2010, 11:23 GMT
i cannot confirm this on my test archboot isos with latest .32 kernel and udev 151-2.
I guess you messed something up in udev rules.
Comment by Andrej Podzimek (andrej) - Thursday, 11 February 2010, 12:44 GMT
Well, I have never touched those rules... Which packages should I reinstall to sort this out?
Comment by Tobias Powalowski (tpowa) - Thursday, 11 February 2010, 13:07 GMT
You run a custom kernel it could be udev doesn't like old sysfs config option.
Comment by Andrej Podzimek (andrej) - Thursday, 11 February 2010, 13:13 GMT
That should be easy to fix. Could you please specify the name of the conflicting option(s)? I could try to switch them off and recompile my kernel. Or is kernel 2.6.32 required?
Comment by Tobias Powalowski (tpowa) - Thursday, 11 February 2010, 13:16 GMT
$ zgrep CONFIG_SYSFS_DEPRECATED /proc/config.gz
# CONFIG_SYSFS_DEPRECATED_V2 is not set

If this option is set to yes, udev will fail to create devices properly.
If the option is unset in your kernel, we have to look for the reason
further.
Comment by Andrej Podzimek (andrej) - Thursday, 11 February 2010, 14:09 GMT
That's it! This fixed the problem. I didn't even know I had these deprecated options switched on.

Loading...