]> hackdaworld.org Git - hdw-linux/hdw-linux.git/blobdiff - packages/base/udev/init_udev.sh
updated/fixed stage3 packages with priority <= 2 (beside ipsec-tools & rarpd)
[hdw-linux/hdw-linux.git] / packages / base / udev / init_udev.sh
index 25fdf0f99e62b6f105c94db643f497d99cf8a3f5..9596c60a6833e8ed6625dddeaf45757088f11b8a 100644 (file)
@@ -29,8 +29,9 @@ run_udev()    {
        # all other devices
        for i in ${sysfs_dir}/class/*; do
                for j in $i/*; do
-                       # cruel hack, to not add/del /dev/null
-                       if [ "$j" != "${sysfs_dir}/class/mem/null" ] ; then
+                       # cruel hack to not del /dev/null
+                       if [ "$j" != "${sysfs_dir}/class/mem/null" -o \
+                                       "$ACTION" != "remove" ] ; then
                        if [ -f $j/dev ]; then
                                export DEVPATH=${j#${sysfs_dir}}
                                CLASS=`echo ${i#${sysfs_dir}} | \
@@ -62,13 +63,14 @@ case "$1"
 in
        start)
                echo -n "starting udev ..."
-               echo "/sbin/udev" > /proc/sys/kernel/hotplug
+               #echo "/sbin/udev" > /proc/sys/kernel/hotplug
                if [ ! -d $sysfs_dir/block ] ; then
                        echo "fatal: sysfs not mounted"
                        exit 1
                fi
                rm -f $udev_root/.udev.tdb
-               mknod -m 0666 ${udev_root}/null c 1 3
+               [ ! -c ${udev_root}/null ] && \
+                       mknod -m 0660 ${udev_root}/null c 1 3
                export ACTION=add
                export UDEV_NO_SLEEP=1
                run_udev
@@ -81,7 +83,6 @@ in
                export ACTION=remove
                run_udev
                del_nodes
-               rm ${udev_root}/null
                echo " done"
                ;;
        restart)