diff options
-rw-r--r-- | README | 17 | ||||
-rw-r--r-- | rules/misc/30-kernel-compat.rules | 92 |
2 files changed, 13 insertions, 96 deletions
@@ -7,7 +7,7 @@ does not recommend replacing a distro's udev installation with the upstream version. The upstream udev project's set of default rules may require a most recent -kernel release to work properly. This is currently version 2.6.31. +kernel release to work properly. This is currently version 2.6.32. Tools and rules shipped by udev are not public API and may change at any time. Never call any private tool in /lib/udev from any external application; it might @@ -16,8 +16,13 @@ by udevadm and libudev. Tools and rules in /lib/udev and the entire contents of the /dev/.udev directory are private to udev and do change whenever needed. Requirements: - - Version 2.6.27 of the Linux kernel with sysfs, procfs, signalfd, inotify, - unix domain sockets, networking and hotplug enabled: + - Version 2.6.32 of the Linux kernel with sysfs, procfs, signalfd, inotify, + unix domain sockets, networking and hotplug enabled + + - ARM needs kernel version 2.6.36 or this patch: + http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=21d93e2e29722d7832f61cc56d73fb + + - These options are needed: CONFIG_HOTPLUG=y CONFIG_UEVENT_HELPER_PATH="" CONFIG_NET=y @@ -25,9 +30,11 @@ Requirements: CONFIG_SYSFS=y CONFIG_SYSFS_DEPRECATED*=n CONFIG_PROC_FS=y - CONFIG_TMPFS=y CONFIG_INOTIFY_USER=y CONFIG_SIGNALFD=y + + - These options might be needed: + CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y (user ACLs for device nodes) CONFIG_BLK_DEV_BSG=y (SCSI devices) @@ -45,7 +52,7 @@ Requirements: be mounted at /sys. No other locations are supported by a standard udev installation. - - The system must have the following group names resolvable at udev startup: + - The default rule sset requires the following group names resolvable at udev startup: disk, cdrom, floppy, tape, audio, video, lp, tty, dialout, and kmem. Especially in LDAP setups, it is required that getgrnam() be able to resolve these group names with only the rootfs mounted and while no network is diff --git a/rules/misc/30-kernel-compat.rules b/rules/misc/30-kernel-compat.rules index 2a6a97c5f3..7240f9b234 100644 --- a/rules/misc/30-kernel-compat.rules +++ b/rules/misc/30-kernel-compat.rules @@ -1,102 +1,12 @@ # do not edit this file, it will be overwritten on update # Rules to support older kernels, which migth miss functionality needed -# for the recent udev version. +# for the recent udev rules. # # This file is used and maintained by Gentoo. -ACTION=="remove", GOTO="kernel_compat_end" - -# -# sysfs timing rules -# - -# needed for kernels <2.6.30 -SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", WAIT_FOR="descriptors" - -# -# naming device rules -# - -# dvb device naming -# needed for kernels <2.6.29-rc1 -SUBSYSTEM=="dvb", ENV{DVB_ADAPTER_NUM}=="", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}'", NAME="%c", GROUP="video" - -# naming rules for kernels <2.6.31 - -# alsa names -KERNEL=="controlC[0-9]*", NAME="snd/%k" -KERNEL=="hwC[D0-9]*", NAME="snd/%k" -KERNEL=="pcmC[D0-9cp]*", NAME="snd/%k" -KERNEL=="midiC[D0-9]*", NAME="snd/%k" -KERNEL=="timer", NAME="snd/%k" -KERNEL=="seq", NAME="snd/%k" - -KERNEL=="mwave", NAME="modems/mwave" - -KERNEL=="mouse*|mice|event*", NAME="input/%k" -KERNEL=="ts[0-9]*|uinput", NAME="input/%k" -KERNEL=="js[0-9]*", NAME="input/%k" - -KERNEL=="card[0-9]*", NAME="dri/%k" - -SUBSYSTEM=="dvb", ENV{DVB_ADAPTER_NUM}=="?*", NAME="dvb/adapter$env{DVB_ADAPTER_NUM}/$env{DVB_DEVICE_TYPE}$env{DVB_DEVICE_NUM}" - -# libusb device nodes -SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}" - -# printer -SUBSYSTEM=="usb", KERNEL=="lp*", NAME="usb/%k" - -# block -KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%k" -KERNEL=="pktcdvd", NAME="pktcdvd/control" - -KERNEL=="rawctl", NAME="raw/rawctl" -SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", NAME="raw/%k" -SUBSYSTEM=="bsg", NAME="bsg/%k" -SUBSYSTEM=="aoe", NAME="etherd/%k" - -# network -KERNEL=="tun", NAME="net/%k" - -# CPU -KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid" -KERNEL=="msr[0-9]*", NAME="cpu/%n/msr" -KERNEL=="microcode", NAME="cpu/microcode", MODE="0600" - -# miscellaneous -KERNEL=="auer[0-9]*", NAME="usb/%k" -KERNEL=="hw_random", NAME="hwrng" -KERNEL=="sxctl", NAME="specialix_sxctl" -KERNEL=="rioctl", NAME="specialix_rioctl" -KERNEL=="iowarrior[0-9]*", NAME="usb/%k" -KERNEL=="hiddev[0-9]*", NAME="usb/%k" -KERNEL=="legousbtower[0-9]*", NAME="usb/%k" -KERNEL=="dabusb[0-9]*", NAME="usb/%k" -KERNEL=="usbdpfp[0-9]*", NAME="usb/%k" -KERNEL=="cpad[0-9]*", NAME="usb/%k" - -# end of naming rules for kernel <2.6.31 - - -# -# module loading rules -# ACTION!="add", GOTO="kernel_compat_end" -# No need for more code, as MODALIAS is present -ENV{MODALIAS}=="?*", GOTO="kernel_compat_end" - -# needed for kernel <2.6.30-rc1 -SUBSYSTEM=="scsi", ATTR{type}=="8", RUN+="/sbin/modprobe -b ch" -SUBSYSTEM=="mmc", RUN+="/sbin/modprobe -b mmc_block" - -# needed for kernel <2.6.27-rc5 -# acpi will do on newer kernels -SUBSYSTEM=="pnp", DRIVER!="?*", \ - RUN{ignore_error}+="/bin/sh -c '/sbin/modprobe -a $$(while read id; do echo pnp:d$$id; done < /sys$devpath/id)'" - # see extras/qemu/42-qemu-usb.rules, version for 2.6.32 + older. ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Mouse", ATTR{serial}=="42", TEST=="power/level", ATTR{power/level}="auto" ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Tablet", ATTR{serial}=="42", TEST=="power/level", ATTR{power/level}="auto" |