[Lunar-commits] r15632 - moonbase/trunk/filesys/udev
Jaime Buffery
nestu at lunar-linux.org
Thu Jul 7 13:30:32 UTC 2005
Author: nestu
Date: 2005-07-07 13:30:32 +0000 (Thu, 07 Jul 2005)
New Revision: 15632
Modified:
moonbase/trunk/filesys/udev/49-udev.rules
moonbase/trunk/filesys/udev/BUILD
moonbase/trunk/filesys/udev/udev
Log:
Commiting a good version of zbiggy's changes (Special thanks to him ;). Tested by florin and me. I have also cleaned up to something minimal the udev initscript, since it will be only used for out-of-dev-dir use, as the main stuff is in the mount script.
Modified: moonbase/trunk/filesys/udev/49-udev.rules
===================================================================
--- moonbase/trunk/filesys/udev/49-udev.rules 2005-07-07 12:26:21 UTC (rev 15631)
+++ moonbase/trunk/filesys/udev/49-udev.rules 2005-07-07 13:30:32 UTC (rev 15632)
@@ -286,3 +286,6 @@
# dvb devices
KERNEL="dvb*", PROGRAM="/etc/udev/scripts/dvb.sh %k", NAME="%c", GROUP="video"
+
+RUN="/sbin/udev_run_devd"
+ENV{UDEVD_EVENT}=="1", RUN+="/sbin/udev_run_hotplugd"
Modified: moonbase/trunk/filesys/udev/BUILD
===================================================================
--- moonbase/trunk/filesys/udev/BUILD 2005-07-07 12:26:21 UTC (rev 15631)
+++ moonbase/trunk/filesys/udev/BUILD 2005-07-07 13:30:32 UTC (rev 15632)
@@ -2,9 +2,9 @@
patch_it $SOURCE2 0 &&
- make udevdir=/dev &&
+ make udevdir=/dev EXTRAS=extras/run_directory &&
prepare_install &&
- make udevdir=/dev install &&
+ make udevdir=/dev EXTRAS=extras/run_directory install &&
# install the init.d script
# we cannot use automagic install via coretools
Modified: moonbase/trunk/filesys/udev/udev
===================================================================
--- moonbase/trunk/filesys/udev/udev 2005-07-07 12:26:21 UTC (rev 15631)
+++ moonbase/trunk/filesys/udev/udev 2005-07-07 13:30:32 UTC (rev 15632)
@@ -2,158 +2,28 @@
#
# udev init script to setup /dev
-prog=udev
-sysfs_dir=/sys
-bin=/sbin/udev
-udevd=/sbin/udevd
+. /etc/udev/udev.conf
-. /etc/udev/udev.conf
-
-# **** Added by florin && nestu, 2004/03/05 ****
-
-# if this subdir doesn't exist, create it
-test -d /var/lock/subsys/ || mkdir -p /var/lock/subsys/
-
-# originally in /etc/rc.d/init.d/functions, it has been changed
-# and brought here
-success() {
-
- RES_COL=60
- MOVE_TO_COL="echo -en \\033[${RES_COL}G"
- SETCOLOR_SUCCESS="echo -en \\033[1;32m"
- SETCOLOR_NORMAL="echo -en \\033[0;39m"
-
- [ "$BOOTUP" = "color" ] && $MOVE_TO_COL
- echo -n "[ "
- [ "$BOOTUP" = "color" ] && $SETCOLOR_SUCCESS
- echo -n $"OK"
- [ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
- echo -n " ]"
- echo -ne "\r"
- return 0
-}
-
-# **** end added by nestu && florin, 2004/03/05 ****
-
-
-run_udev () {
- # handle block devices and their partitions
- for i in ${sysfs_dir}/block/*; do
- # add each drive
- export DEVPATH=${i#${sysfs_dir}}
- $bin block &
-
- # add each partition, on each device
- for j in $i/*; do
- if [ -f $j/dev ]; then
- export DEVPATH=${j#${sysfs_dir}}
- $bin block &
- fi
- done
- done
- # all other device classes
- for i in ${sysfs_dir}/class/*; do
- for j in $i/*; do
- if [ -f $j/dev ]; then
- export DEVPATH=${j#${sysfs_dir}}
- CLASS=`echo ${i#${sysfs_dir}} | \
- cut --delimiter='/' --fields=3-`
- $bin $CLASS &
- fi
- done
- done
- return 0
-}
-
-make_extra_nodes () {
- # there are a few things that sysfs does not export for us.
- # these things go here (and remember to remove them in
- # remove_extra_nodes()
- #
- # Thanks to Gentoo for the initial list of these.
- ln -snf /proc/self/fd $udev_root/fd
- ln -snf /proc/self/fd/0 $udev_root/stdin
- ln -snf /proc/self/fd/1 $udev_root/stdout
- ln -snf /proc/self/fd/2 $udev_root/stderr
- ln -snf /proc/kcore $udev_root/core
- #ln -snf /proc/asound/oss/sndstat $udev_root/sndstat
-}
-
-remove_extra_nodes () {
- # get rid of the extra nodes created in make_extra_nodes()
- # **** changed by niki (added the if's), 20040305 ****
- if [ -e $udev_root/fd ] ; then rm $udev_root/fd; fi
- if [ -e $udev_root/stdin ] ; then rm $udev_root/stdin; fi
- if [ -e $udev_root/stdout ] ; then rm $udev_root/stdout; fi
- if [ -e $udev_root/stderr ] ; then rm $udev_root/stderr; fi
- if [ -e $udev_root/core ] ; then rm $udev_root/core; fi
- #rm $udev_root/sndstat
-}
-
case "$1" in
+
start)
- # don't use udev if sysfs is not mounted.
- if [ ! -d $sysfs_dir/block ]; then
- exit 1
- fi
- if [ ! -d $udev_root ]; then
- mkdir $udev_root
- fi
+ rm -rf ${udev_root}/.udevdb
+ /sbin/udevd --daemon || exit 1;
+ ;;
- # remove the database if it is there as we always want to start fresh
- if [ -f $udev_root/.udev.tdb ]; then
- rm -f $udev_root/.udev.tdb
- fi
-
- # propogate /dev from /sys - we only need this while we do not
- # have initramfs and an early user-space with which to do early
- # device bring up
- export ACTION=add
- echo -n $"Creating initial udev device nodes:"
- run_udev
- make_extra_nodes
-
- # We want to start udevd ourselves if it isn't already running. This
- # lets udevd run at a sane nice level...
- $udevd &
-
- success /bin/true
- echo
- ;;
stop)
- # if used as regular /dev nodes, do not allow to remove.
- if [ -f /dev/.udev.tdb ]; then
- echo "Udev nodes in use under /dev. Cannot remove."
- echo 4;
- fi
+ killall udevd
+ ;;
- # be careful
- echo -n $"Removing udev device nodes: "
- export ACTION=remove
- run_udev
- remove_extra_nodes
- success /bin/true
- echo
- rm -f $udev_root/.udev.tdb
- ;;
- status)
- if [ -f $udev_root/.udev.tdb ]; then
- echo $"$prog has run"
- exit 0
- fi
- echo $"$prog is stopped"
- exit 3
- ;;
restart)
- $0 stop
- $0 start
- ;;
- reload)
- # nothing to do here
- ;;
+ $0 stop
+ $0 start
+ ;;
+
*)
- echo "Usage: $0 {start|stop|status|restart}"
- exit 1
+ echo "Usage: $0 {start|stop|restart}"
+ exit 1
+
esac
exit 0
More information about the Lunar-commits
mailing list