Index: udev/40-modprobe.rules
===================================================================
--- udev/40-modprobe.rules	(revision 1b97e2dc37bdf8f6f29630317d86ecaa94037873)
+++ udev/40-modprobe.rules	(revision 90d64199c4fb0aebbae0cbcf606bad7cbd299248)
@@ -25,4 +25,12 @@
 SUBSYSTEM=="scsi_device",	ACTION=="add", RUN+="/sbin/modprobe sg"
 
+# ide
+KERNEL=="hd*",		SUBSYSTEMS=="ide", ATTRS{media}=="floppy", OPTIONS+="all_partitions"
+SUBSYSTEM=="ide", 	ACTION=="add", ATTR{media}=="tape", RUN+="/sbin/modprobe ide-scsi"
+
 # floppy
-KERNEL=="nvram",		ACTION=="add", RUN+="load_floppy_module.sh"
+KERNEL=="nvram",	ACTION=="add", RUN+="load_floppy_module.sh"
+
+# mmc
+SUBSYSTEM=="mmc",	ACTION=="add", RUN+="/sbin/modprobe mmc_block"
+
Index: udev/50-udev.rules
===================================================================
--- udev/50-udev.rules	(revision 1b97e2dc37bdf8f6f29630317d86ecaa94037873)
+++ udev/50-udev.rules	(revision 90d64199c4fb0aebbae0cbcf606bad7cbd299248)
@@ -28,21 +28,18 @@
 
 # serial devices
-KERNEL=="tty[A-Z]*",		GROUP="uucp"
-KERNEL=="pppox*",		GROUP="uucp"
-KERNEL=="ircomm*",		GROUP="uucp"
-KERNEL=="modems/mwave*",	GROUP="uucp"
-KERNEL=="hvc*",			GROUP="uucp"
-KERNEL=="hvsi*",		GROUP="uucp"
-KERNEL=="iseries/vtty*",	GROUP="uucp"
-KERNEL=="ttyUSB*", 		ATTRS{product}=="[Pp]alm*Handheld*", SYMLINK+="pilot"
+KERNEL=="tty[A-Z]*|pppox*|ircomm*|noz*",	GROUP="uucp"
+KERNEL=="mwave",				NAME="modems/%k", GROUP="uucp"
+KERNEL=="hvc*|hvsi*",				GROUP="uucp"
+KERNEL=="iseries/vtty*",			GROUP="uucp"
+KERNEL=="ttyUSB*",				ATTRS{product}=="[Pp]alm*Handheld*", SYMLINK+="pilot"
+KERNEL=="ttyUSB*",				ATTRS{product}=="[Hh]andspring*Treo*|[Hh]andspring*Visor*", SYMLINK+="pilot"
 
 # video/graphics
 SUBSYSTEM=="video4linux",	GROUP="video"
 SUBSYSTEM=="graphics"		GROUP="video"
-KERNEL=="vtx*",			GROUP="video"
-KERNEL=="vbi*",			GROUP="video"
+KERNEL=="vtx*|vbi*",		GROUP="video"
 KERNEL=="winradio*",		GROUP="video"
 KERNEL=="vttuner*",		GROUP="video"
-KERNEL=="nvidia*",		GROUP="video"
+KERNEL=="nvidia*|nvidiactl*",	GROUP="video"
 KERNEL=="video0",		SYMLINK+="video"
 KERNEL=="radio0",		SYMLINK+="radio"
@@ -54,6 +51,5 @@
 
 # input devices
-KERNEL=="mice",			NAME="input/%k", MODE="0640"
-KERNEL=="mouse*",		NAME="input/%k", MODE="0640"
+KERNEL=="mouse*|mice",		NAME="input/%k", MODE="0640"
 KERNEL=="event*",		NAME="input/%k", MODE="0640"
 KERNEL=="js*",			NAME="input/%k", MODE="0644"
@@ -93,6 +89,5 @@
 
 # misc devices
-KERNEL=="mem",			GROUP="kmem", MODE="640"
-KERNEL=="kmem",			GROUP="kmem", MODE="640"
+KERNEL=="mem|kmem",		GROUP="kmem", MODE="640"
 KERNEL=="port",			GROUP="kmem", MODE="640"
 KERNEL=="nvram",		GROUP="kmem", MODE="600"
@@ -132,7 +127,4 @@
 ACTION=="add", 			SUBSYSTEM=="scsi" , ATTR{type}=="1", ATTR{timeout}="900"
 
-# device mapper
-KERNEL=="device-mapper", 	SYMLINK+="mapper/control"
-
 # misc storage devices (non-block)
 KERNEL=="sg*",			GROUP="disk", MODE="640"
@@ -154,6 +146,6 @@
 KERNEL=="evms/block_device*",	GROUP="disk"
 KERNEL=="rawctl*",		GROUP="disk"
-KERNEL=="osst*",		GROUP="tape"
-KERNEL=="nosst*",		GROUP="tape"
+SUBSYSTEM=="block", 		KERNEL=="raw[0-9]*", NAME="raw/%k", GROUP="disk"
+KERNEL=="osst*|nosst*",		GROUP="tape"
 KERNEL=="iseries/vt*",		GROUP="disk"
 KERNEL=="iseries/nvt*",		GROUP="disk"
Index: udev/60-persistent-disk.rules
===================================================================
--- udev/60-persistent-disk.rules	(revision 1b97e2dc37bdf8f6f29630317d86ecaa94037873)
+++ udev/60-persistent-disk.rules	(revision 90d64199c4fb0aebbae0cbcf606bad7cbd299248)
@@ -22,5 +22,5 @@
 
 # skip rules for inappropriate block devices
-KERNEL=="ram*|loop*|fd*|nbd*|dm-*", GOTO="persistent_storage_end"
+KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|dm-*|md*", GOTO="persistent_storage_end"
 
 # Set Permissions on CDOM
@@ -28,5 +28,5 @@
 
 # never access removable ide devices, the drivers are causing event loops on open()
-KERNEL=="hd*[!0-9]", 	ATTRS{removable}=="1", DRIVERS=="ide-cs|ide-floppy", GOTO="persistent_storage_end"
+KERNEL=="hd*[!0-9]",	ATTR{removable}=="1", DRIVERS=="ide-cs|ide-floppy", GOTO="persistent_storage_end"
 KERNEL=="hd*[0-9]",	ATTRS{removable}=="1", GOTO="persistent_storage_end"
 
Index: udev/64-device-mapper.rules
===================================================================
--- udev/64-device-mapper.rules	(revision 90d64199c4fb0aebbae0cbcf606bad7cbd299248)
+++ udev/64-device-mapper.rules	(revision 90d64199c4fb0aebbae0cbcf606bad7cbd299248)
@@ -0,0 +1,32 @@
+########################################################################
+#
+# Description : 64-device-mapper.rules
+#
+# Authors     : Based on Open Suse Udev Rules
+#               kay.sievers@suse.de
+#
+# Adapted to  : Jim Gifford
+# LFS
+#
+# Version     : 00.01
+#
+# Notes       : This is where you can put rules that are a part
+#               of this package
+#
+########################################################################
+
+KERNEL=="device-mapper", SYMLINK+="mapper/control"
+
+KERNEL=="dm-*", ACTION=="add|change", GOTO="device_mapper_do"
+GOTO="device_mapper_end"
+
+LABEL="device_mapper_do"
+PROGRAM!="/sbin/dmsetup status -j %M -m %m", 	GOTO="device_mapper_end"
+RESULT=="|*snapshot*|*error*",			GOTO="device_mapper_end"
+
+IMPORT{program}="vol_id --export $tempnode"
+ENV{ID_FS_USAGE}=="filesystem|other|crypto", 	ENV{ID_FS_UUID}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID}"
+ENV{ID_FS_USAGE}=="filesystem|other",		ENV{ID_FS_LABEL_SAFE}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_SAFE}"
+
+LABEL="device_mapper_end"
+
