Magellan Linux

Diff of /trunk/udev/udev.rc

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1812 by niro, Mon Apr 2 13:08:49 2012 UTC revision 1813 by niro, Tue Jun 26 17:11:31 2012 UTC
# Line 1  Line 1 
1  #!/bin/bash  #!/bin/bash
2  # $Header: /root/magellan-cvs/src/udev/udev.rc,v 1.2 2010-08-18 00:57:31 niro Exp $  # $Id$
3    
4  udev_version()  udev_version()
5  {  {
# Line 8  udev_version() Line 8  udev_version()
8   if [[ -x /sbin/udev ]]   if [[ -x /sbin/udev ]]
9   then   then
10   version=$(/sbin/udev -V)   version=$(/sbin/udev -V)
  # We need it without a leading '0', else bash do the wrong thing  
  version=${version##0}  
  # Older udev's will print nothing  
  [[ -z ${version} ]] && version=0  
11   elif [[ -x /sbin/udevd ]]   elif [[ -x /sbin/udevd ]]
12   then   then
13   version=$(/sbin/udevd --version)   version=$(/sbin/udevd --version)
14   version=${version##0}   elif [[ -x /lib/udev/udevd ]]
15   [[ -z ${version} ]] && version=0   then
16     version=$(/lib/udev/udevd --version)
17     elif [[ -x /usr/lib/systemd/systemd-udevd ]]
18     then
19     version=$(/usr/lib/systemd/systemd-udev --version)
20   fi   fi
21    
22     # We need it without a leading '0', else bash do the wrong thing
23     version=${version##0}
24     # Older udev's will print nothing
25     [[ -z ${version} ]] && version=0
26    
27   echo "${version}"   echo "${version}"
28  }  }
29    
# Line 33  populate_udev() Line 38  populate_udev()
38   rc_print "  Populating /dev with existing devices through uevents ..."   rc_print "  Populating /dev with existing devices through uevents ..."
39   if [[ ${RC_COLDPLUG} = yes ]]   if [[ ${RC_COLDPLUG} = yes ]]
40   then   then
41   /sbin/udevadm trigger   udevadm trigger
42   else   else
43   # do not run any init-scripts   # do not run any init-scripts
44   /sbin/udevadm control --env do_not_run_plug_service=1   udevadm control --env do_not_run_plug_service=1
45    
46   # only create device nodes   # only create device nodes
47   /sbin/udevadm trigger --attr-match=dev   udevadm trigger --attr-match=dev
48    
49   # run persistent-net stuff   # run persistent-net stuff
50   /sbin/udevadm trigger --subsystem-match=net   udevadm trigger --subsystem-match=net
51   fi   fi
52   evaluate_retval   evaluate_retval
53    
54   # loop until everything is finished   # loop until everything is finished
55   rc_print "  Letting udev process events ..."   rc_print "  Letting udev process events ..."
56   /sbin/udevadm settle --timeout=60   udevadm settle --timeout=60
57   evaluate_retval   evaluate_retval
58    
59   # unset this variable   # unset this variable
60   /sbin/udevadm control --env do_not_run_plug_service=   udevadm control --env do_not_run_plug_service=
61    
62   rm -f /dev/.udev_populate   rm -f /dev/.udev_populate
63   return 0   return 0
# Line 92  seed_dev() Line 97  seed_dev()
97  # main function  # main function
98  start_devicemanager()  start_devicemanager()
99  {  {
100     local udev_prefix=""
101     local udev_daemon=""
102    
103     # get the right daemon and prefix for newer udev/systemd-udev installations
104     if [ -x /sbin/udevd ]
105     then
106     udev_daemon="/sbin/udevd"
107     udev_prefix=""
108     elif [ -x /lib/udev/udevd ]
109     then
110     udev_daemon="/lib/udev/udevd"
111     udev_prefix=""
112     elif [ -x /usr/lib/systemd/systemd-udevd ]
113     then
114     udev_daemon="/usr/lib/systemd/systemd-udevd"
115     udev_prefix="/usr"
116     fi
117    
118   # check if /dev/console exists outside tmpfs   # check if /dev/console exists outside tmpfs
119   [ -c /dev/console ] ; need_redirect=$?   [ -c /dev/console ] ; need_redirect=$?
120    
# Line 109  start_devicemanager() Line 132  start_devicemanager()
132   evaluate_retval   evaluate_retval
133   fi   fi
134    
135   # if a device tarball exists load it and if it is activated   # if a device tarball exists load it but only if it is activated in the config
136   rc_print "Configurating system to use udev ..."   rc_print "Configurating system to use udev ..."
137   if [[ ${RC_DEVICE_TARBALL} = yes ]]   if [[ ${RC_DEVICE_TARBALL} = yes ]]
138   then   then
139   rc_print "  Populating /dev with saved device nodes ..."   if [[ -f ${udev_prefix}/lib/udev/state/devices.tar.bz2 ]]
140   tar -jxpf /lib/udev/state/devices.tar.bz2 -C /dev   then
141   evaluate_retval   rc_print "  Populating /dev with saved device nodes ..."
142     tar -jxpf ${udev_prefix}/lib/udev/state/devices.tar.bz2 -C /dev
143     evaluate_retval
144     fi
145   fi   fi
146    
147   # other needed device nodes with udev   # other needed device nodes with udev
# Line 141  start_devicemanager() Line 167  start_devicemanager()
167   if [ ${need_redirect} -eq 1 ]   if [ ${need_redirect} -eq 1 ]
168   then   then
169   # we need to open fds 0 1 2   # we need to open fds 0 1 2
170   start-stop-daemon --start --exec /sbin/udevd -- --daemon </dev/console >/dev/console 2>/dev/console   start-stop-daemon --start --exec "${udev_daemon}" -- --daemon </dev/console >/dev/console 2>/dev/console
171   else   else
172   start-stop-daemon --start --exec /sbin/udevd -- --daemon   start-stop-daemon --start --exec "${udev_daemon}" -- --daemon
173   fi   fi
174   evaluate_retval   evaluate_retval
175    
176   # write root_link rule   # write root_link rule
177   /lib/udev/write_root_link_rule   if [ -x ${udev_prefix}/lib/udev/write_root_link_rule ]
178     then
179     ${udev_prefix}/lib/udev/write_root_link_rule
180     fi
181    
182   # populate udev device nodes   # populate udev device nodes
183   populate_udev   populate_udev
184    
# Line 165  start_devicemanager() Line 195  start_devicemanager()
195    
196  stop_devicemanager()  stop_devicemanager()
197  {  {
198     local udev_daemon=""
199    
200     # get the right daemon and prefix for newer udev/systemd-udev installations
201     if [ -x /sbin/udevd ]
202     then
203     udev_daemon="/sbin/udevd"
204     elif [ -x /lib/udev/udevd ]
205     then
206     udev_daemon="/lib/udev/udevd"
207     elif [ -x /usr/lib/systemd/systemd-udevd ]
208     then
209     udev_daemon="/usr/lib/systemd/systemd-udevd"
210     fi
211    
212   rc_print "Stopping udevd daemon ..."   rc_print "Stopping udevd daemon ..."
213   start-stop-daemon --stop --exec /sbin/udevd   start-stop-daemon --stop --exec "${udev_daemon}"
214   evaluate_retval   evaluate_retval
215  }  }

Legend:
Removed from v.1812  
changed lines
  Added in v.1813