E.1. 55-lfs.rules
# /etc/udev/rules.d/55-lfs.rules: Rule definitions for LFS.
# Core kernel devices
# override both of these
KERNEL=="random", MODE="0444"
KERNEL=="urandom", MODE="0444"
KERNEL=="aio", MODE="0444"
KERNEL=="kmsg", MODE="0600"
KERNEL=="rtc", MODE="0666"
# Comms devices
KERNEL=="rfcomm[0-9]*", GROUP="uucp"
KERNEL=="ippp[0-9]*", GROUP="uucp"
KERNEL=="isdn[0-9]*", GROUP="uucp"
KERNEL=="isdnctrl[0-9]*", GROUP="uucp"
KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20"
KERNEL=="capi?*", NAME="capi/%n", GROUP="uucp"
KERNEL=="dcbri[0-9]*", GROUP="uucp"
# ALSA devices go in their own subdirectory
KERNEL=="controlC[0-9]*", GROUP="audio", NAME="snd/%k"
KERNEL=="hwC[0-9]*D[0-9]*", GROUP="audio", NAME="snd/%k"
KERNEL=="pcmC[0-9]*D[0-9]*[cp]", GROUP="audio", NAME="snd/%k"
KERNEL=="midiC[0-9]*D[0-9]*", GROUP="audio", NAME="snd/%k"
KERNEL=="timer", GROUP="audio", NAME="snd/%k"
KERNEL=="seq", GROUP="audio", NAME="snd/%k"
# Sound devices
KERNEL=="admmidi*", GROUP="audio"
KERNEL=="adsp*", GROUP="audio"
KERNEL=="aload*", GROUP="audio"
KERNEL=="amidi*", GROUP="audio"
KERNEL=="amixer*", GROUP="audio"
KERNEL=="audio*", GROUP="audio"
KERNEL=="dmfm*", GROUP="audio"
KERNEL=="dmmidi*", GROUP="audio"
KERNEL=="dsp*", GROUP="audio"
KERNEL=="midi*", GROUP="audio"
KERNEL=="mixer*", GROUP="audio"
KERNEL=="music", GROUP="audio"
KERNEL=="sequencer*", GROUP="audio"
# Input devices
# override MODE on these four
KERNEL=="mice", MODE="0644", SYMLINK+="mouse"
KERNEL=="mouse*", MODE="0644"
KERNEL=="event*", MODE="0644"
KERNEL=="ts*", MODE="0644"
KERNEL=="psaux", MODE="0644"
KERNEL=="js", MODE="0644"
KERNEL=="djs", MODE="0644"
# USB devices go in their own subdirectory
KERNEL=="hiddev*", NAME="usb/%k"
KERNEL=="legousbtower*", NAME="usb/%k"
KERNEL=="dabusb*", NAME="usb/%k"
SUBSYSTEMS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k"
# DRI devices are managed by the X server, so prevent udev from creating them
KERNEL=="card*", OPTIONS+="ignore_device"
# Video devices
KERNEL=="fb[0-9]*", GROUP="video"
KERNEL=="video[0-9]*", GROUP="video"
KERNEL=="radio[0-9]*", GROUP="video"
KERNEL=="vbi[0-9]*", GROUP="video"
KERNEL=="vtx[0-9]*", GROUP="video"
# DVB devices
SUBSYSTEM=="dvb", GROUP="video"
# Storage/memory devices
# override: make group-writable
SUBSYSTEM=="block", MODE="0660"
# dmsetup and lvm2 related programs create devicemapper devices so we prevent
# udev from creating them
KERNEL=="dm-*", OPTIONS+="ignore_device"
# Tape devices
# override all these
KERNEL=="ht[0-9]*", GROUP="tape"
KERNEL=="nht[0-9]*", GROUP="tape"
KERNEL=="pt[0-9]*", GROUP="tape"
KERNEL=="npt[0-9]*", GROUP="tape"
KERNEL=="st[0-9]*", GROUP="tape"
KERNEL=="nst[0-9]*", GROUP="tape"
# Override floppy devices
KERNEL=="fd[0-9]", GROUP="floppy"
KERNEL=="fd[0-9]", ACTION=="add", ATTRS{cmos}=="?*", RUN+="create_floppy_devices -c -t $attr{cmos} -m %M -M 0660 -G floppy $root/%k"