source: udev/udev @ dfdebf6

clfs-1.2clfs-2.1clfs-3.0.0-systemdclfs-3.0.0-sysvinitsystemdsysvinit
Last change on this file since dfdebf6 was b3328539, checked in by Jim Gifford <clfs@…>, 18 years ago

r2722@server: jim | 2006-03-27 16:03:29 -0800
Readded udev loop

  • Property mode set to 100755
File size: 2.0 KB
Line 
1#!/bin/sh
2########################################################################
3# Begin $rc_base/init.d/udev
4#
5# Description : Udev Boot Script
6#
7# Authors     : Based on Open Suse Udev Rules
8#               kay.sievers@suse.de
9#
10# Adapted to  : Jim Gifford
11# LFS         : Alexander E. Patrakov
12#
13# Version     : 00.00
14#
15# Notes       :
16#
17########################################################################
18
19. /etc/sysconfig/rc
20. ${rc_functions}
21
22case "$1" in
23    start)
24        boot_mesg "Creating /dev in tmpfs..."
25        mount -n -t tmpfs -o mode=0755 udev /dev
26        evaluate_retval
27
28        boot_mesg "Copying static entries..."
29        cp --preserve=all --recursive --remove-destination /lib/udev/devices/* /dev
30        evaluate_retval
31       
32        boot_mesg "Setting Permissons on /dev/shm..."
33        chmod 1777 /dev/shm
34        evaluate_retval
35
36        echo "" > /sys/kernel/uevent_helper
37
38        # start udevd
39        boot_mesg "Starting udevd..."
40        /sbin/udevd --daemon
41        evaluate_retval
42
43        # start coldplugging
44        boot_mesg "Performing Coldplugging..."
45
46        # unlikely, but we may be faster than the first event
47        mkdir -p /dev/.udev/queue
48
49        # configure all devices
50        /sbin/udevtrigger
51
52        # until we know how to do better, just wait for _all_ events to finish                   
53        loop=300                 
54        while test -d /dev/.udev/queue; do               
55            sleep 0.1;           
56            test "$loop" -gt 0 || break                 
57            loop=$(($loop - 1))                 
58        done             
59                 
60        echo_ok
61        ;;
62
63    stop)
64        boot_mesg "Stopping udevd..."
65        killproc /sbin/udevd
66        ;;
67
68    restart)
69        boot_mesg "Restarting udevd..."
70        killproc /sbin/udevd
71        loadproc /sbin/udevd --daemon
72        evaluate_retval
73        ;;
74
75    status)
76        statusproc /sbin/udevd
77        ;;
78
79    reload)
80        boot_mesg "Reloading udev rules..."
81        udevcontrol reload_rules
82        cp --preserve=all --recursive --update /lib/udev/devices/* /dev
83        evaluate_retval
84        ;;
85
86    force-reload)
87        boot_mesg "Updating all available device nodes in /dev..."
88        udevcontrol reload_rules
89        rm -rf /dev/.udev /dev/disk
90        cp --preserve=all --recursive --update /lib/udev/devices/* /dev
91        trigger_device_events
92        evaluate_retval
93        ;;
94
95    *)
96        echo "Usage: $0 {start|stop|restart|status|reload|force-reload}"
97        exit 1
98        ;;
99esac
Note: See TracBrowser for help on using the repository browser.