File: udev.startup

package info (click to toggle)
udev 0.105-4etch1
  • links: PTS
  • area: main
  • in suites: etch
  • size: 672 kB
  • ctags: 54
  • sloc: sh: 1,636; makefile: 273
file content (57 lines) | stat: -rw-r--r-- 1,138 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/bin/sh -e

make_extra_nodes() {
  [ -e /etc/udev/links.conf ] || return 0
  grep '^[^#]' /etc/udev/links.conf | \
  while read type name arg1; do
    [ "$type" -a "$name" -a ! -e "/dev/$name" -a ! -L "/dev/$name" ] ||continue
    case "$type" in
      L) ln -s $arg1 /dev/$name ;;
      D) mkdir -p /dev/$name ;;
      M) mknod -m 600 /dev/$name $arg1 ;;
      *) echo "links.conf: unparseable line ($type $name $arg1)" ;;
    esac
  done
}

supported_kernel() {
  case "$(uname -r)" in
    2.[012345].*|2.6.[0-9]|2.6.[0-9][!0-9]*) return 1 ;;
    2.6.1[0-4]|2.6.1[0-4][!0-9]*) return 1 ;;
  esac
  return 0
}

if ! supported_kernel; then
    echo "udev requires a kernel >= 2.6.15, not started."
    exit 0
fi

load_input_modules() {
  case "$(uname -r)" in
    2.6.1[0-5]|2.6.1[0-5][!0-9]*) ;; # <= 2.6.15
    *) return 0
  esac

  for module in mousedev evdev joydev; do
    modprobe -q $module || true
  done
}

echo > /proc/sys/kernel/hotplug

mount -n -o mode=0755 -t tmpfs tmpfs /dev
make_extra_nodes

udevd --daemon

mkdir -p /dev/.udev/db/ /dev/.udev/queue/
udevtrigger
load_input_modules

mount /dev/pts

udevsettle

exit 0