--- /dev/null
+# compatibility links for a devfs-style /dev
+
+KERNEL="md[0-9]*", SYMLINK="%k"
+#KERNEL="loop[0-9]*", SYMLINK="%k"
+
+#KERNEL="tty[0-9]*", SYMLINK="%k"
+#KERNEL="ttyS[0-9]*", SYMLINK="%k"
+#KERNEL="ttyUSB[0-9]*", SYMLINK="%k"
+
+#KERNEL="vcs", SYMLINK="%k"
+#KERNEL="vcs[0-9]*", SYMLINK="%k"
+#KERNEL="vcsa", SYMLINK="%k"
+#KERNEL="vcsa[0-9]*", SYMLINK="%k"
+
+KERNEL="video0", SYMLINK="%k"
+KERNEL="radio0", SYMLINK="%k"
+KERNEL="vbi0", SYMLINK="%k"
+KERNEL="vtx0", SYMLINK="%k"
+
+KERNEL="apm_bios", SYMLINK="%k"
+KERNEL="agpgart", SYMLINK="%k"
+#KERNEL="psaux", SYMLINK="%k"
+#KERNEL="nvram", SYMLINK="%k"
+KERNEL="rtc", SYMLINK="%k"
+#KERNEL="ram[0-9]*", SYMLINK="%k"
+
+#KERNEL="i2c-[0-9]*", SYMLINK="%k"
+#KERNEL="lp[0-9]*", SYMLINK="%k"
+
+KERNEL="audio" SYMLINK="%k"
+KERNEL="dsp" SYMLINK="%k"
+KERNEL="mixer" SYMLINK="%k"
+
+#KERNEL="fb[0-9]*", SYMLINK="%k"
+#KERNEL="fd[0-9]*", SYMLINK="%k"
+#KERNEL="js[0-9]*", SYMLINK="%k"
+
--- /dev/null
+# There are a number of modifiers that are allowed to be used in some
+# of the different fields. They provide the following subsitutions:
+#
+# %n the "kernel number" of the device.
+# For example, 'sda3' has a "kernel number" of '3'
+# %e the smallest number for that name which does not matches an existing node
+# %k the kernel name for the device.
+# %M the kernel major number for the device
+# %m the kernel minor number for the device
+# %b the bus id for the device
+# %c the string returned by the PROGRAM
+# %s{filename} the content of a sysfs attribute.
+# %% the '%' char itself.
+#
+
+# IDE block devices
+BUS="ide", KERNEL="hd[a-z]*", PROGRAM="/etc/udev/scripts/ide-devfs.sh %k %b %n", NAME="%c{1}", SYMLINK="%k %c{2}"
+
+# permissions for SCSI CD devices
+BUS="scsi", KERNEL="s[grt][0-9]*", SYSFS{type}="5", PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", NAME="%c{1}", SYMLINK="%k %c{2}", MODE="0660", GROUP="cdrom"
+
+# SCSI block devices
+BUS="scsi", KERNEL="sd[a-z]", PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", NAME="%c{1}", SYMLINK="%k %c{2}"
+BUS="scsi", KERNEL="sd[a-z][0-9]*", PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", NAME="%c{1}", SYMLINK="%k %c{2}"
+BUS="scsi", KERNEL="sd[a-i][a-z]", PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", NAME="%c{1}", SYMLINK="%k %c{2}"
+BUS="scsi", KERNEL="sd[a-i][a-z][0-9]*", PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", NAME="%c{1}", SYMLINK="%k %c{2}"
+BUS="scsi", KERNEL="s[grt][0-9]*", PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", NAME="%c{1}", SYMLINK="%k %c{2}"
+BUS="scsi", KERNEL="scd[0-9]*", PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", NAME="%c{1}", SYMLINK="%k %c{2}"
+BUS="scsi", KERNEL="st[0-9]*", PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", NAME="%c{1}", SYMLINK="%k %c{2}"
+BUS="scsi", KERNEL="nst[0-9]*", PROGRAM="/etc/udev/scripts/scsi-devfs.sh %k %b %n", NAME="%c{1}", SYMLINK="%k %c{2}"
+
+# USB devices
+BUS="usb", KERNEL="hiddev*", NAME="usb/%k"
+BUS="usb", KERNEL="auer*", NAME="usb/%k"
+BUS="usb", KERNEL="legousbtower*", NAME="usb/%k"
+BUS="usb", KERNEL="dabusb*", NAME="usb/%k"
+BUS="usb", KERNEL="lp[0-9]*", NAME="usb/%k"
+BUS="usb", KERNEL="cpad[0-9]*", NAME="usb/%k"
+
+# block devices
+KERNEL="md[0-9]*", NAME="md/%n",
+KERNEL="loop[0-9]*", NAME="loop/%n"
+
+# tty devices
+KERNEL="tty[0-9]*", NAME="vc/%n"
+KERNEL="ttyS[0-9]*", NAME="tts/%n"
+KERNEL="ttyUSB[0-9]*", NAME="tts/USB%n"
+KERNEL="rfcomm[0-9]*", NAME="bluetooth/rfcomm/%n"
+
+# vc devices
+KERNEL="vcs", NAME="vcc/0"
+KERNEL="vcs[0-9]*", NAME="vcc/%n"
+KERNEL="vcsa", NAME="vcc/a0"
+KERNEL="vcsa[0-9]*", NAME="vcc/a%n"
+KERNEL="fb[0-9]*", NAME="fb/%n",
+
+# v4l devices
+KERNEL="video[0-9]*", NAME="v4l/video%n"
+KERNEL="radio[0-9]*", NAME="v4l/radio%n"
+KERNEL="vbi[0-9]*", NAME="v4l/vbi%n"
+KERNEL="vtx[0-9]*", NAME="v4l/vtx%n"
+KERNEL="dvb*", PROGRAM="/etc/udev/scripts/dvb.sh %k", NAME="%c"
+
+# misc devices
+KERNEL="apm_bios", NAME="misc/apm_bios",
+KERNEL="agpgart", NAME="misc/agpgart",
+KERNEL="nvram", NAME="misc/nvram"
+KERNEL="psaux", NAME="misc/psaux"
+KERNEL="rtc", NAME="misc/rtc"
+
+KERNEL="card[0-9]*", NAME="dri/card%n"
+KERNEL="i2c-[0-9]*", NAME="i2c/%n"
+KERNEL="ram[0-9]*", NAME="rd/%n"
+KERNEL="lp[0-9]*", NAME="printers/%n"
+KERNEL="fd[0-9]*", NAME="floppy/%n",
+KERNEL="cdemu[0-9]*", NAME="cdemu/%n"
+KERNEL="pktcdvd[0-9]*", NAME="pktcdvd/%n"
+KERNEL="pktcdvd", NAME="pktcdvd/control"
+KERNEL="cpu[0-9]*", NAME="cpu/%n/cpuid"
+KERNEL="msr[0-9]*", NAME="cpu/%n/msr"
+KERNEL="microcode", NAME="cpu/microcode"
+
+# sound devices
+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="audio*", NAME="sound/%k"
+KERNEL="dsp*", NAME="sound/%k"
+KERNEL="adsp*", NAME="sound/%k"
+KERNEL="midi*", NAME="sound/%k"
+KERNEL="mixer*", NAME="sound/%k"
+KERNEL="sequencer*", NAME="sound/%k"
+KERNEL="amidi*", NAME="sound/%k"
+KERNEL="dmmidi*", NAME="sound/%k"
+KERNEL="admmidi*", NAME="sound/%k"
+
+# input devices
+KERNEL="mice", NAME="input/%k"
+KERNEL="mouse[0-9]*", NAME="input/%k"
+KERNEL="event[0-9]*", NAME="input/%k", PROGRAM="/etc/udev/scripts/inputdev.sh %k", RESULT="inputdev", MODE="0664", GROUP="video"
+KERNEL="event[0-9]*", NAME="input/%k"
+KERNEL="js[0-9]*", NAME="input/%k"
+KERNEL="ts[0-9]*", NAME="input/%k"
+KERNEL="uinput", NAME="input/%k"
+
+KERNEL="tap[0-9]*", NAME="net/%k"
+KERNEL="tun", NAME="net/%k"
+
+# CAPI devices
+KERNEL="capi", NAME="capi20", SYMLINK="isdn/capi20"
+KERNEL="capi[0-9]*", NAME="capi/%n"
+
+# Zaptel
+KERNEL="zapctl", NAME="zap/ctl"
+KERNEL="zaptimer", NAME="zap/timer"
+KERNEL="zapchannel", NAME="zap/channel"
+KERNEL="zappseudo", NAME="zap/pseudo"
+KERNEL="zap[0-9]*", NAME="zap/%n"
+
+# device mapper creates its own device nodes, so ignore these
+KERNEL="dm-[0-9]*", NAME=""
+KERNEL="device-mapper", NAME="mapper/control"
+