E.1. 55-lfs.rules

# /etc/udev/rules.d/55-lfs.rules: Rule definitions for LFS.

# Core kernel devices

# This causes the system clock to be set as soon as /dev/rtc becomes available.
SUBSYSTEM=="rtc", MODE="0644", ACTION=="add", RUN+="/etc/rc.d/init.d/setclock start"

# Comms devices

KERNEL=="ippp[0-9]*",       GROUP="dialout"
KERNEL=="isdn[0-9]*",       GROUP="dialout"
KERNEL=="isdnctrl[0-9]*",   GROUP="dialout"
KERNEL=="dcbri[0-9]*",      GROUP="dialout"

# 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

KERNEL=="mice",     SYMLINK+="mouse"

# 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"

# Storage/memory devices

# dmsetup and lvm2 related programs create devicemapper devices so we prevent
# udev from creating them

KERNEL=="dm-*",             OPTIONS+="ignore_device"

# Override floppy devices
KERNEL=="fd[0-9]", ACTION=="add|change", ATTRS{cmos}=="?*", \
  RUN+="create_floppy_devices -c -t $attr{cmos} -m %M -M 0660 -G floppy $root/%k"