]> git.ipfire.org Git - thirdparty/systemd.git/blame - rules.d/50-udev-default.rules.in
Merge pull request #30284 from YHNdnzj/fstab-wantedby-defaultdeps
[thirdparty/systemd.git] / rules.d / 50-udev-default.rules.in
CommitLineData
d638611c
KS
1# do not edit this file, it will be overwritten on update
2
654b036b
KS
3# run a command on remove events
4ACTION=="remove", ENV{REMOVE_CMD}!="", RUN+="$env{REMOVE_CMD}"
a06c8219 5ACTION=="remove", GOTO="default_end"
654b036b 6
9a78ee00
YW
7# The md driver increments diskseq *after* emitting 'change' uevent.
8# Drop the line below if it is fixed on the kernel side.
9SUBSYSTEM=="block", KERNEL=="md*", ENV{ID_IGNORE_DISKSEQ}="1"
10
bbb7f2ae
KS
11SUBSYSTEM=="virtio-ports", KERNEL=="vport*", ATTR{name}=="?*", SYMLINK+="virtio-ports/$attr{name}"
12
67fb4482
KS
13# select "system RTC" or just use the first one
14SUBSYSTEM=="rtc", ATTR{hctosys}=="1", SYMLINK+="rtc"
15SUBSYSTEM=="rtc", KERNEL=="rtc0", SYMLINK+="rtc", OPTIONS+="link_priority=-100"
16
451ba55f 17SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb"
bbb7f2ae
KS
18ENV{MODALIAS}!="", IMPORT{builtin}="hwdb --subsystem=$env{SUBSYSTEM}"
19
6636b2b6
YW
20# Before c43ff248f94266cfc93e300a2d3d163ed805e55b, the following line in
21# 60-drm.rules also sets ID_PATH for all pci, usb, and platform devices:
22####
23# ACTION!="remove", SUBSYSTEM=="drm", SUBSYSTEMS=="pci|usb|platform", IMPORT{builtin}="path_id"
24####
25# Unfortunately, some existing rules already rely on the unexpected behavior.
26# To keep the backward compatibility, let's set ID_PATH for them.
27SUBSYSTEM=="pci|usb|platform", IMPORT{builtin}="path_id"
28
2b5b25f1
LN
29SUBSYSTEM=="net", IMPORT{builtin}="net_driver"
30
654b036b 31ACTION!="add", GOTO="default_end"
22582bb2 32
378f2e07
KS
33SUBSYSTEM=="tty", KERNEL=="ptmx", GROUP="tty", MODE="0666"
34SUBSYSTEM=="tty", KERNEL=="tty", GROUP="tty", MODE="0666"
3553fddb 35SUBSYSTEM=="tty", KERNEL=="tty[0-9]*|hvc[0-9]*|sclp_line[0-9]*|ttysclp[0-9]*|3270/tty[0-9]*", GROUP="tty", MODE="0620"
378f2e07 36SUBSYSTEM=="vc", KERNEL=="vcs*|vcsa*", GROUP="tty"
27b8198e 37KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout"
d638611c 38
378f2e07 39SUBSYSTEM=="mem", KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640"
d638611c 40
3dff3e00 41SUBSYSTEM=="input", GROUP="input"
d1f0e886 42SUBSYSTEM=="input", KERNEL=="js[0-9]*", MODE="0664"
d638611c 43
912541b0 44SUBSYSTEM=="video4linux", GROUP="video"
912541b0 45SUBSYSTEM=="graphics", GROUP="video"
4e15a734 46SUBSYSTEM=="drm", KERNEL!="renderD*", GROUP="video"
22582bb2 47SUBSYSTEM=="dvb", GROUP="video"
9bfc0df1
LP
48SUBSYSTEM=="media", GROUP="video"
49SUBSYSTEM=="cec", GROUP="video"
d638611c 50
8feaea5e
ZJS
51SUBSYSTEM=="drm", KERNEL=="renderD*", GROUP="render", MODE="{{GROUP_RENDER_MODE}}"
52SUBSYSTEM=="kfd", GROUP="render", MODE="{{GROUP_RENDER_MODE}}"
3d1e78e3 53SUBSYSTEM=="accel", GROUP="render", MODE="{{GROUP_RENDER_MODE}}"
4e15a734 54
c9c4899f 55SUBSYSTEM=="misc", KERNEL=="sgx_enclave", GROUP="sgx", MODE="0660"
b5d3138f 56SUBSYSTEM=="misc", KERNEL=="sgx_vepc", GROUP="sgx", MODE="0660"
c9c4899f 57
1f9290fc
ZJS
58# When using static_node= with non-default permissions, also update
59# tmpfiles.d/static-nodes-permissions.conf.in to keep permissions synchronized.
60
912541b0 61SUBSYSTEM=="sound", GROUP="audio", \
3e227830 62 OPTIONS+="static_node=snd/seq", OPTIONS+="static_node=snd/timer"
4b4409b1 63
22582bb2 64SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"
d638611c 65
f125f8b1
TS
66SUBSYSTEM=="firewire", TEST=="units", TEST=="model", \
67 IMPORT{builtin}="hwdb 'ieee1394:node:ven$attr{vendor}mo$attr{model}units$attr{units}'"
68
69SUBSYSTEM=="firewire", TEST=="units", TEST!="model", \
70 IMPORT{builtin}="hwdb 'ieee1394:node:ven$attr{vendor}units$attr{units}'"
71
72SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_MIDI}=="1", GROUP="audio"
73SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_AUDIO}=="1", GROUP="audio"
74SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_VIDEO}=="1", GROUP="video"
75
912541b0
KS
76KERNEL=="parport[0-9]*", GROUP="lp"
77SUBSYSTEM=="printer", KERNEL=="lp*", GROUP="lp"
78SUBSYSTEM=="ppdev", GROUP="lp"
79KERNEL=="lp[0-9]*", GROUP="lp"
80KERNEL=="irlpt[0-9]*", GROUP="lp"
665a754d 81SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:0701??:*", GROUP="lp"
d638611c 82
b6c8f986 83SUBSYSTEM=="block", GROUP="disk"
eabac232 84SUBSYSTEM=="block", KERNEL=="sr[0-9]*", GROUP="cdrom"
12a7c14b 85SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="cdrom"
378f2e07 86KERNEL=="sch[0-9]*", GROUP="cdrom"
4b4409b1
KS
87KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"
88KERNEL=="pktcdvd", GROUP="cdrom"
8553cf06 89
12a7c14b 90SUBSYSTEM=="scsi_generic|scsi_tape", SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="tape"
12a7c14b 91SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="0", GROUP="disk"
d638611c 92KERNEL=="qft[0-9]*|nqft[0-9]*|zqft[0-9]*|nzqft[0-9]*|rawqft[0-9]*|nrawqft[0-9]*", GROUP="disk"
27e7c262
KS
93KERNEL=="loop-control", GROUP="disk", OPTIONS+="static_node=loop-control"
94KERNEL=="btrfs-control", GROUP="disk"
4b4409b1
KS
95KERNEL=="rawctl", GROUP="disk"
96SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", GROUP="disk"
97SUBSYSTEM=="aoe", GROUP="disk", MODE="0220"
2fc635fb 98SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440"
d638611c 99
d1f0e886 100KERNEL=="rfkill", MODE="0664"
22582bb2 101KERNEL=="tun", MODE="0666", OPTIONS+="static_node=net/tun"
d638611c 102
22582bb2 103KERNEL=="fuse", MODE="0666", OPTIONS+="static_node=fuse"
557b005f 104
d35d6249 105# The static_node is required on s390x and ppc (they are using MODULE_ALIAS)
8feaea5e 106KERNEL=="kvm", GROUP="kvm", MODE="{{DEV_KVM_MODE}}", OPTIONS+="static_node=kvm"
5a664ca1 107
f8eb4100
AR
108KERNEL=="vfio", MODE="0666", OPTIONS+="static_node=vfio/vfio"
109
c4446798 110KERNEL=="vsock", MODE="0666"
8feaea5e 111KERNEL=="vhost-vsock", GROUP="kvm", MODE="{{DEV_KVM_MODE}}", OPTIONS+="static_node=vhost-vsock"
c4446798 112
8feaea5e 113KERNEL=="vhost-net", GROUP="kvm", MODE="{{DEV_KVM_MODE}}", OPTIONS+="static_node=vhost-net"
f65efddd 114
0fde5a35
MAL
115KERNEL=="udmabuf", GROUP="kvm"
116
c65c2f0a
LP
117SUBSYSTEM=="ptp", ATTR{clock_name}=="KVM virtual PTP", SYMLINK+="ptp_kvm"
118SUBSYSTEM=="ptp", ATTR{clock_name}=="hyperv", SYMLINK+="ptp_hyperv"
32e868f0 119
654b036b 120LABEL="default_end"