diff --git a/etc/rc b/etc/rc index a8c137b9e..74d45912b 100755 --- a/etc/rc +++ b/etc/rc @@ -189,10 +189,41 @@ start) cp /usr/lib/em* /usr/lib/cpp* /lib esac + echo -n "Starting hotplugging infrastructure... " + service up /sbin/devman + if [ ! -d /sys ] + then + mkdir /sys + fi + mount -e -t devman none /sys + rm -f /var/tmp/devmand_control + rm -f /var/run/devmand.pid + devmand -d /etc/devmand -d /usr/pkg/etc/devmand & + echo "done." + # Things should be alright now. ;; down|stop) sync + if [ -f /var/run/devmand.pid ] + then + kill -INT `cat /var/run/devmand.pid` + # without this delay the following will + # be printed in the console + # RS: devman not running? + sleep 1 + fi + # + # usbd needs to be stopped exactly + # at this stage(before stopping devman + # and after stopping the services + # stated by devmand) + if [ -x /usr/pkg/etc/rc.d/usbd ] + then + /usr/pkg/etc/rc.d/usbd stop + fi + umount -e /sys + service down devman # Tell RS server we're going down. service shutdown ;;