Bug 651594

Summary: Pulseaudio does not detect devices in Rawhide (no read permissions on /dev/.udev for regular user)
Product: [Fedora] Fedora Reporter: Adam Williamson <awilliam>
Component: dracutAssignee: Harald Hoyer <harald>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: low    
Version: rawhideCC: harald, jonathan, lkundrak, lpoetter
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-11-12 14:16:30 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 617261    
Attachments:
Description Flags
full log of pulseaudio -vvvvv none

Description Adam Williamson 2010-11-09 21:18:27 UTC
Just upgraded to Rawhide yesterday. Pulseaudio runs, but cannot detect any devices:

[adamw@adam pulseaudio (master *%)]$ pulseaudio -vvvvv
I: main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted
I: main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted
...
D: cli-command.c: Checking for existance of '/usr/lib64/pulse-0.9.21/modules/module-udev-detect.so': success
I: module-udev-detect.c: Found 0 cards.
I: module.c: Loaded "module-udev-detect" (index: #4; argument: "").

(full log will be attached). This obviously renders PA useless and breaks sound. This is confirmed by Thomas Belvin on test list: http://lists.fedoraproject.org/pipermail/test/2010-November/095441.html

I had a quick look at upstream changelog and thought perhaps http://git.0pointer.de/?p=pulseaudio.git;a=commit;h=1552abf62820e063e933e54372bec25f8ea2f68a was relevant, so I rebuilt PA with that patch (also needed to take http://git.0pointer.de/?p=pulseaudio.git;a=commit;h=80093c94be077d15fda945786bc1291fb864e51c and add a buildrequires dbus-devel to make it build, BTW) but it didn't change anything (the attached log is actually from my rebuilt PA).

This blocks F15 final.

Comment 1 Adam Williamson 2010-11-09 21:18:40 UTC

-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 2 Adam Williamson 2010-11-09 21:19:51 UTC
Created attachment 459244 [details]
full log of pulseaudio -vvvvv

Comment 3 Adam Williamson 2010-11-10 01:33:09 UTC
lennart thinks this has something to do with udev. here's why:

[adamw@adam ~]$ udevadm info -p /sys/class/sound/card0 -qallP: /devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:1.2/sound/card0
E: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:1.2/sound/card0
E: SUBSYSTEM=sound

that's missing all the stuff that should be added by /lib/udev/rules.d/78-sound-card.rules, and which PA relies on. here's the udevadm test output:

[adamw@adam ~]$ udevadm test /devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:1.2/sound/card0
run_command: calling: test
udevadm_test: version 164
This program is for debugging only, it does not run any program,
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

add_matching_files: unable to open '/dev/.udev/rules.d': Permission denied
parse_file: reading '/etc/udev/rules.d/10-blackberry.rules' as rules file
parse_file: reading '/lib/udev/rules.d/10-console.rules' as rules file
parse_file: reading '/lib/udev/rules.d/10-dm.rules' as rules file
parse_file: reading '/lib/udev/rules.d/11-dm-lvm.rules' as rules file
parse_file: reading '/lib/udev/rules.d/13-dm-disk.rules' as rules file
parse_file: reading '/etc/udev/rules.d/40-hplip.rules' as rules file
parse_file: reading '/lib/udev/rules.d/40-isdn.rules' as rules file
parse_file: reading '/lib/udev/rules.d/40-libgphoto2.rules' as rules file
parse_file: reading '/lib/udev/rules.d/40-multipath.rules' as rules file
parse_file: reading '/lib/udev/rules.d/40-usb-media-players.rules' as rules file
parse_file: reading '/lib/udev/rules.d/50-compat_firmware.rules' as rules file
parse_file: reading '/etc/udev/rules.d/50-euvccam.rules' as rules file
parse_file: reading '/lib/udev/rules.d/50-firmware.rules' as rules file
parse_file: reading '/lib/udev/rules.d/50-udev-default.rules' as rules file
parse_file: reading '/lib/udev/rules.d/55-gcm-i2c.rules' as rules file
parse_file: reading '/etc/udev/rules.d/56-hpmud_support.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-cdrom_id.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-floppy.rules' as rules file
parse_file: reading '/etc/udev/rules.d/60-fprint-autosuspend.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-libmtp.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-net.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-pcmcia.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-alsa.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-input.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-serial.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-storage-tape.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-storage.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-v4l.rules' as rules file
parse_file: reading '/lib/udev/rules.d/61-mobile-action.rules' as rules file
parse_file: reading '/lib/udev/rules.d/61-persistent-storage-edd.rules' as rules file
parse_file: reading '/lib/udev/rules.d/64-md-raid.rules' as rules file
parse_file: reading '/lib/udev/rules.d/65-libsane.rules' as rules file
parse_file: reading '/lib/udev/rules.d/65-md-incremental.rules' as rules file
parse_file: reading '/etc/udev/rules.d/69-blackberry.rules' as rules file
parse_file: reading '/lib/udev/rules.d/69-pilot-link.rules' as rules file
parse_file: reading '/lib/udev/rules.d/69-xorg-vmmouse.rules' as rules file
parse_file: reading '/lib/udev/rules.d/70-acl.rules' as rules file
parse_file: reading '/lib/udev/rules.d/70-cups-libusb.rules' as rules file
parse_file: reading '/lib/udev/rules.d/70-hid2hci.rules' as rules file
parse_file: reading '/etc/udev/rules.d/70-persistent-cd.rules' as rules file
parse_file: reading '/etc/udev/rules.d/70-persistent-net.rules' as rules file
parse_file: reading '/lib/udev/rules.d/70-printers.rules' as rules file
parse_file: reading '/lib/udev/rules.d/70-touchpad-quirks.rules' as rules file
parse_file: reading '/lib/udev/rules.d/70-wacom.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-cd-aliases-generator.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-net-description.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-persistent-net-generator.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-probe_mtd.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-tty-description.rules' as rules file
parse_file: reading '/lib/udev/rules.d/77-mm-ericsson-mbm.rules' as rules file
parse_file: reading '/lib/udev/rules.d/77-mm-longcheer-port-types.rules' as rules file
parse_file: reading '/lib/udev/rules.d/77-mm-pcmcia-device-blacklist.rules' as rules file
parse_file: reading '/lib/udev/rules.d/77-mm-platform-serial-whitelist.rules' as rules file
parse_file: reading '/lib/udev/rules.d/77-mm-simtech-port-types.rules' as rules file
parse_file: reading '/lib/udev/rules.d/77-mm-usb-device-blacklist.rules' as rules file
parse_file: reading '/lib/udev/rules.d/77-mm-zte-port-types.rules' as rules file
parse_file: reading '/lib/udev/rules.d/77-nm-olpc-mesh.rules' as rules file
parse_file: reading '/lib/udev/rules.d/78-sound-card.rules' as rules file
parse_file: reading '/lib/udev/rules.d/79-fstab_import.rules' as rules file
parse_file: reading '/lib/udev/rules.d/80-drivers.rules' as rules file
parse_file: reading '/etc/udev/rules.d/80-kvm.rules' as rules file
parse_file: reading '/lib/udev/rules.d/80-udisks.rules' as rules file
parse_file: reading '/etc/udev/rules.d/85-pcscd_ccid.rules' as rules file
parse_file: reading '/etc/udev/rules.d/85-pcscd_egate.rules' as rules file
add_rule: BUS= will be removed in a future udev version, please use SUBSYSTEM= to match the event device, or SUBSYSTEMS= to match a parent device, in /etc/udev/rules.d/85-pcscd_egate.rules:3
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/85-pcscd_egate.rules:3
add_rule: BUS= will be removed in a future udev version, please use SUBSYSTEM= to match the event device, or SUBSYSTEMS= to match a parent device, in /etc/udev/rules.d/85-pcscd_egate.rules:5
parse_file: reading '/lib/udev/rules.d/85-regulatory.rules' as rules file
parse_file: reading '/lib/udev/rules.d/85-usbmuxd.rules' as rules file
parse_file: reading '/etc/udev/rules.d/86-hpmud-hp_laserjet_1000.rules' as rules file
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_1000.rules:6
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_1000.rules:9
parse_file: reading '/etc/udev/rules.d/86-hpmud-hp_laserjet_1005_series.rules' as rules file
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_1005_series.rules:6
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_1005_series.rules:9
parse_file: reading '/etc/udev/rules.d/86-hpmud-hp_laserjet_1018.rules' as rules file
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_1018.rules:6
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_1018.rules:9
parse_file: reading '/etc/udev/rules.d/86-hpmud-hp_laserjet_1020.rules' as rules file
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_1020.rules:6
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_1020.rules:9
parse_file: reading '/etc/udev/rules.d/86-hpmud-hp_laserjet_p1005.rules' as rules file
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_p1005.rules:6
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_p1005.rules:9
parse_file: reading '/etc/udev/rules.d/86-hpmud-hp_laserjet_p1006.rules' as rules file
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_p1006.rules:6
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_p1006.rules:9
parse_file: reading '/etc/udev/rules.d/86-hpmud-hp_laserjet_p1007.rules' as rules file
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_p1007.rules:6
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_p1007.rules:9
parse_file: reading '/etc/udev/rules.d/86-hpmud-hp_laserjet_p1008.rules' as rules file
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_p1008.rules:6
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_p1008.rules:9
parse_file: reading '/etc/udev/rules.d/86-hpmud-hp_laserjet_p1505.rules' as rules file
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_p1505.rules:6
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_p1505.rules:9
parse_file: reading '/etc/udev/rules.d/86-hpmud-hp_laserjet_professional_p1102.rules' as rules file
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_professional_p1102.rules:6
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_professional_p1102.rules:9
parse_file: reading '/etc/udev/rules.d/86-hpmud-hp_laserjet_professional_p1102w.rules' as rules file
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_professional_p1102w.rules:6
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_professional_p1102w.rules:9
parse_file: reading '/etc/udev/rules.d/86-hpmud-hp_laserjet_professional_p1566.rules' as rules file
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_professional_p1566.rules:6
add_rule: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/86-hpmud-hp_laserjet_professional_p1566.rules:9
parse_file: reading '/lib/udev/rules.d/88-clock.rules' as rules file
parse_file: reading '/lib/udev/rules.d/89-microcode.rules' as rules file
parse_file: reading '/etc/udev/rules.d/90-alsa.rules' as rules file
parse_file: reading '/lib/udev/rules.d/90-libgpod.rules' as rules file
parse_file: reading '/lib/udev/rules.d/90-pulseaudio.rules' as rules file
parse_file: reading '/etc/udev/rules.d/91-drm-modeset.rules' as rules file
parse_file: reading '/etc/udev/rules.d/92-video-post.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-dm-notify.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-gcm-colorimeters.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-gcm-devices.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-keyboard-force-release.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-keymap.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-udev-late.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-upower-battery-recall-dell.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-upower-battery-recall-fujitsu.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-upower-battery-recall-gateway.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-upower-battery-recall-ibm.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-upower-battery-recall-lenovo.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-upower-battery-recall-toshiba.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-upower-csr.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-upower-hid.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-upower-wup.rules' as rules file
parse_file: reading '/etc/udev/rules.d/99-fuse.rules' as rules file
parse_file: reading '/etc/udev/rules.d/99-gpsd.rules' as rules file
parse_file: reading '/etc/udev/rules.d/99-libconcord.rules' as rules file
add_rule: BUS= will be removed in a future udev version, please use SUBSYSTEM= to match the event device, or SUBSYSTEMS= to match a parent device, in /etc/udev/rules.d/99-libconcord.rules:4
parse_file: reading '/lib/udev/rules.d/99-systemd.rules' as rules file
udev_rules_new: rules use 217104 bytes tokens (18092 * 12 bytes), 39953 bytes buffer
udev_rules_new: temporary index used 62760 bytes (3138 * 20 bytes)
udev_device_new_from_syspath: device 0x13741b0 has devpath '/devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:1.2/sound/card0'
udev_device_new_from_syspath: device 0x1368a60 has devpath '/devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:1.2/sound/card0'
udev_device_new_from_syspath: device 0x1368e20 has devpath '/devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:1.2'
udev_device_new_from_syspath: device 0x133e8a0 has devpath '/devices/pci0000:00/0000:00:1d.7/usb2/2-3'
udev_device_new_from_syspath: device 0x133ea90 has devpath '/devices/pci0000:00/0000:00:1d.7/usb2'
udev_device_new_from_syspath: device 0x1374970 has devpath '/devices/pci0000:00/0000:00:1d.7'
udev_device_new_from_syspath: device 0x1374b60 has devpath '/devices/pci0000:00'
udevadm_test: UDEV_LOG=6
udevadm_test: DEVPATH=/devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:1.2/sound/card0
udevadm_test: ACTION=add
udevadm_test: SUBSYSTEM=sound



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 4 Adam Williamson 2010-11-11 00:50:27 UTC
okay, discovered something else: this may be some kind of permissions issue.

if I run the udevadm command as root, I get the correct full output:

[root@adam rules.d]# udevadm info -p /sys/class/sound/card0 -qall
P: /devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:1.2/sound/card0
E: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:1.2/sound/card0
E: SUBSYSTEM=sound
E: SOUND_INITIALIZED=1
E: ID_VENDOR=Rocketfish
E: ID_VENDOR_ENC=Rocketfish
E: ID_VENDOR_ID=19ff
E: ID_MODEL=Rocketfish_2MP_AF_Webcam
E: ID_MODEL_ENC=Rocketfish\x202MP\x20AF\x20Webcam
E: ID_MODEL_ID=0103
E: ID_REVISION=0100
E: ID_SERIAL=Rocketfish_Rocketfish_2MP_AF_Webcam
E: ID_TYPE=audio
E: ID_BUS=usb
E: ID_USB_INTERFACES=:0e0100:0e0200:010100:010200:
E: ID_USB_INTERFACE_NUM=02
E: ID_USB_DRIVER=snd-usb-audio
E: ID_VENDOR_FROM_DATABASE=Dynex
E: ID_IFACE=02
E: ID_ID=usb-Rocketfish_Rocketfish_2MP_AF_Webcam-02-Webcam
E: ID_PATH=pci-0000:00:1d.7-usb-0:3:1.2
E: SOUND_FORM_FACTOR=webcam

rather than the truncated output I get as a regular user (see above). I can't see any rules files which are un-readable by a regular user; what else should I look for?



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 5 Adam Williamson 2010-11-11 00:51:20 UTC
confirmed that if I run pulseaudio as root, it detects all the devices.



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 6 Adam Williamson 2010-11-11 01:05:37 UTC
aha, I think I have it.

straceing the udevadm command, I see:

lstat("/dev/.udev/db/sound:card1", 0x7fff1e1c97e0) = -1 EACCES (Permission denied)
lstat("/dev/.udev/db/sound:card1", 0x7fff1e1c97f0) = -1 EACCES (Permission denied)
lstat("/dev/.udev/db/sound:card1", 0x7fff1e1c97f0) = -1 EACCES (Permission denied)
lstat("/dev/.udev/db/sound:card1", 0x7fff1e1c93b0) = -1 EACCES (Permission denied)
lstat("/dev/.udev/db/sound:card1", 0x7fff1e1c93a0) = -1 EACCES (Permission denied)

indeed:

[adamw@adam ~]$ ls -l /dev/.udev/
ls: cannot open directory /dev/.udev/: Permission denied

[root@adam adamw]# ls -dl /dev/.udev/
drwxrwx---. 7 root root 160 Nov 10 16:55 /dev/.udev/

so, what sets the permissions on /dev/.udev ? re-assigning to udev, it looks like this bug is there, not PA.



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 7 Adam Williamson 2010-11-11 01:13:44 UTC
if I change the permissions on /dev/.udev manually, then I can run pulseaudio as user, it works, and I can play sound.



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 8 Adam Williamson 2010-11-12 03:10:54 UTC
I took a look at how udev gets started at the suggestion of the folks in #udev. it's kind of interesting - it *is* different in rawhide, systemd is doing it via three native services - but even if I boot with upstart, which causes it to be done the old way via /etc/rc.sysinit calling /sbin/start_udev , the permissions are still wrong. So I don't think that's it. start_udev has barely changed since f14 afaict, it has a bail-out clause at the start which stops it proceeding if systemd is in use, but that's all.



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 9 Harald Hoyer 2010-11-12 10:30:39 UTC
It might be a dracut bug.

$ grep -r rules.d /usr/share/dracut/modules.d/99base/init
mkdir -m 0755 /dev/.udev/rules.d

$ lsinitrd /boot/initramfs-$(uname -r).img init | grep rules.d
mkdir -m 0755 /dev/.udev/rules.d

Comment 10 Harald Hoyer 2010-11-12 10:32:44 UTC
$ lsinitrd /boot/initramfs-$(uname -r).img init | fgrep mkdir | fgrep .udev
mkdir -m 0755 /dev/.udev
mkdir -m 0755 /dev/.udev/rules.d

Comment 11 Harald Hoyer 2010-11-12 10:46:12 UTC
or just change in /usr/share/dracut/modules.d/99base/init:

mkdir -p -m 0755 /dev/.udev/rules.d

to

mkdir -p -m 0755 /dev/.udev /dev/.udev/rules.d

Comment 12 Adam Williamson 2010-11-12 17:09:19 UTC
confirmed fixed with updated dracut (and udev, though I guess that was irrelevant). thanks!



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers