Index: udev/50-udev.rules
===================================================================
--- udev/50-udev.rules	(revision 691a65ceb6f64a28332bce915f13ac6091a3a058)
+++ udev/50-udev.rules	(revision 103e3eb1908619c92ef006a2777ced9d61ad4f35)
@@ -175,3 +175,3 @@
 
 # kernel firmware loader
-SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware.sh"
+SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware_helper"
Index: udev/60-persistent.rules
===================================================================
--- udev/60-persistent.rules	(revision 691a65ceb6f64a28332bce915f13ac6091a3a058)
+++ udev/60-persistent.rules	(revision 103e3eb1908619c92ef006a2777ced9d61ad4f35)
@@ -60,5 +60,5 @@
 KERNEL=="*[0-9]", ENV{ID_EDD}=="?*", SYMLINK+="disk/by-id/edd-$env{ID_EDD}-part%n"
 
-KERNEL=="dm-[0-9]*", ACTION=="add", PROGRAM="/sbin/dmsetup info -c --noheadings -o name -j %M -m %m", SYMLINK="disk/by-name/%c"
+KERNEL=="dm-[0-9]*", ACTION=="add", PROGRAM="/sbin/dmsetup info -c --noopencount --noheadings -o name -j %M -m %m", SYMLINK="disk/by-name/%c"
 
 LABEL="persistent_end"
Index: ev/80-sysconfig.rules
===================================================================
--- udev/80-sysconfig.rules	(revision 691a65ceb6f64a28332bce915f13ac6091a3a058)
+++ 	(revision )
@@ -1,24 +1,0 @@
-########################################################################
-#
-# Description : Sysconfig Rules Set
-#
-# Authors     : Based on Open Suse Udev Rules
-#               kay.sievers@suse.de
-#
-# Adapted to  : Jim Gifford
-# LFS
-#
-# Version     : 00.01
-#
-# Notes       :
-#
-########################################################################
-
-ENV{SYSCONFIG}=="no|off|0", GOTO="sysconfig_end"
-
-# network devices
-KERNEL=="tun", NAME="net/%k", MODE="0600"
-SUBSYSTEM=="net", ACTION=="add", RUN+="/sbin/ifup $env{INTERFACE} -o hotplug"
-SUBSYSTEM=="net", ACTION=="remove", RUN+="/sbin/ifdown %k -o hotplug"
-
-LABEL="sysconfig_end"
Index: udev/85-mount-fstab.rules
===================================================================
--- udev/85-mount-fstab.rules	(revision 103e3eb1908619c92ef006a2777ced9d61ad4f35)
+++ udev/85-mount-fstab.rules	(revision 103e3eb1908619c92ef006a2777ced9d61ad4f35)
@@ -0,0 +1,17 @@
+########################################################################
+#
+# Description : Sysconfig Rules Set
+#
+# Authors     : Based on Open Suse Udev Rules
+#               kay.sievers@suse.de
+#
+# Adapted to  : Jim Gifford
+# LFS
+#
+# Version     : 00.01
+#
+# Notes       :
+#
+########################################################################
+
+SUBSYSTEM=="block", ACTION=="add", KERNEL=="sd*[0-9]|hd*[0-9]", RUN+="mount.sh"
Index: udev/95-debug.rules
===================================================================
--- udev/95-debug.rules	(revision 691a65ceb6f64a28332bce915f13ac6091a3a058)
+++ udev/95-debug.rules	(revision 103e3eb1908619c92ef006a2777ced9d61ad4f35)
@@ -16,5 +16,5 @@
 
 # debug events to /events, but not on default udev_log="err"
-ENV{UDEV_LOG}=="[4-9]", RUN+="/lib/udev/eventrecorder.sh"
+ENV{UDEV_LOG}=="[4-9]", RUN+="eventrecorder.sh"
 
 # event to be catched by udevmonitor
Index: udev/Makefile
===================================================================
--- udev/Makefile	(revision 691a65ceb6f64a28332bce915f13ac6091a3a058)
+++ udev/Makefile	(revision 103e3eb1908619c92ef006a2777ced9d61ad4f35)
@@ -13,5 +13,5 @@
 	install -m ${RULESMODE} 50-udev.rules ${DESTDIR}/etc/udev/rules.d/50-udev.rules
 	install -m ${RULESMODE} 60-persistent.rules ${DESTDIR}/etc/udev/rules.d/60-persistent.rules
-	install -m ${RULESMODE} 80-sysconfig.rules ${DESTDIR}/etc/udev/rules.d/80-sysconfig.rules
+	install -m ${RULESMODE} 85-mount-fstab.rules ${DESTDIR}/etc/udev/rules.d/85-mount-fstab.rules
 	install -m ${RULESMODE} 95-debug.rules ${DESTDIR}/etc/udev/rules.d/95-debug.rules
 
@@ -20,5 +20,4 @@
 	install -m ${SCRIPTMODE} load_floppy_module.sh ${DESTDIR}/lib/udev/load_floppy_module.sh
 	install -m ${SCRIPTMODE} ide.sh ${DESTDIR}/lib/udev/ide.sh
-	install -m ${SCRIPTMODE} firmware.sh ${DESTDIR}/lib/udev/firmware.sh
 	install -m ${SCRIPTMODE} input.sh ${DESTDIR}/lib/udev/input.sh
 	install -m ${SCRIPTMODE} mount.sh ${DESTDIR}/lib/udev/mount.sh
Index: ev/firmware.sh
===================================================================
--- udev/firmware.sh	(revision 691a65ceb6f64a28332bce915f13ac6091a3a058)
+++ 	(revision )
@@ -1,39 +1,0 @@
-#!/bin/sh
-########################################################################
-#
-# Description : Firmware Script
-#
-# Authors     : Based on Open Suse Udev Rules
-#               kay.sievers@suse.de
-#
-# Adapted to  : Jim Gifford
-# LFS
-#
-# Version     : 00.00
-#
-# Notes       :
-#
-########################################################################
-
-. /etc/sysconfig/rc
-. ${rc_functions}
-
-FIRMWARE_DIRS="/lib/firmware"
-
-if [ ! -e /sys/$DEVPATH/loading ]; then
-    boot_mesg "firmware loader misses sysfs directory"
-    exit 0
-fi
-
-for DIR in $FIRMWARE_DIRS; do
-    [ -e "$DIR/$FIRMWARE" ] || continue
-    boot_mesg "loading $DIR/$FIRMWARE"
-    echo 1 > /sys/$DEVPATH/loading
-    cat "$DIR/$FIRMWARE" > /sys/$DEVPATH/data
-    echo 0 > /sys/$DEVPATH/loading
-    exit
-done
-
-echo -1 > /sys/$DEVPATH/loading
-boot_mesg "Cannot find  firmware file '$FIRMWARE'"
-exit 1
Index: udev/show_event_log
===================================================================
--- udev/show_event_log	(revision 691a65ceb6f64a28332bce915f13ac6091a3a058)
+++ udev/show_event_log	(revision 103e3eb1908619c92ef006a2777ced9d61ad4f35)
@@ -69,5 +69,5 @@
 
 # list all events
-(read x; while read x s x x x c x; read x s2 x a d; do echo $s $s2 $a $c $d; done) < <( sed -n "s/^.*udev.*\(seq [0-9]* [qf].*$\)/\1/p" /var/log/messages | sort -n -k 2 | tr -d ',' )   
+(read x; while read x s x x x c x; read x s2 x a d; do echo $s $s2 $a $c $d; done) < <( sed -n "s/^.*udev.*\(seq [0-9]* [qf].*$\)/\1/p" /var/log/messages | sort -n -k 2 | tr -d ',' )
 
 ./show_event_log 1 last > boot.events.log.`date +%A_%H:%M` 2> boot.events.list.`date +%A_%H:%M`
Index: udev/udev
===================================================================
--- udev/udev	(revision 691a65ceb6f64a28332bce915f13ac6091a3a058)
+++ udev/udev	(revision 103e3eb1908619c92ef006a2777ced9d61ad4f35)
@@ -27,5 +27,5 @@
 	for i in $list; do
 	    case "$i" in
-		*/device/uevent)
+		*/device/uevent|*\**)
 		    # skip followed device symlinks
 		    continue
@@ -74,10 +74,10 @@
 	trigger_device_events
 
-	# until we know how to do better, we wait for all events to finish
-	loop=0
+	# until we know how to do better, just wait for _all_ events to finish
+	loop=300
 	while test -d /dev/.udev/queue; do
 	    sleep 0.1;
-	    test "$loop" -gt 300 && break
-	    loop=$(($loop + 1))
+	    test "$loop" -gt 0 || break
+	    loop=$(($loop - 1))
 	done
 
Index: udev/udev.makechanges
===================================================================
--- udev/udev.makechanges	(revision 691a65ceb6f64a28332bce915f13ac6091a3a058)
+++ udev/udev.makechanges	(revision 103e3eb1908619c92ef006a2777ced9d61ad4f35)
@@ -1,4 +1,5 @@
 Udev will need to be made with the following extras
 
+extras/firmware_helper
 extras/scsi_id
 extras/volume_id
