Magellan Linux

Contents of /trunk/busybox/mdev.rc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1113 - (show annotations) (download)
Sun Aug 22 16:43:06 2010 UTC (13 years, 8 months ago) by niro
File size: 1902 byte(s)
-added

1 #!/bin/sh
2 # $Header: /root/magellan-cvs/src/busybox/mdev.rc,v 1.1 2010-08-22 16:43:06 niro Exp $
3
4 seed_dev()
5 {
6 # seed /dev with some things that we know we need
7 rc_print " Seeding /dev with needed nodes ..."
8 (
9 [ ! -c /dev/console ] && mknod /dev/console c 5 1
10 [ ! -c /dev/tty1 ] && mknod /dev/tty1 c 4 1
11 [ ! -c /dev/null ] && mknod /dev/null c 1 3
12
13 # create kmsg too, so udev can add its start-message to dmesg
14 [ -c /dev/kmsg ] || mknod -m 660 /dev/kmsg c 1 11
15
16 # copy over any persistant things
17 if [[ -d /lib/udev/devices ]]
18 then
19 cp -RPp /lib/udev/devices/* /dev 2>/dev/null
20 fi
21
22 # not provided by sysfs but needed
23 ln -snf /proc/self/fd /dev/fd
24 ln -snf fd/0 /dev/stdin
25 ln -snf fd/1 /dev/stdout
26 ln -snf fd/2 /dev/stderr
27 [[ -e /proc/kcore ]] && ln -snf /proc/kcore /dev/core
28
29 # create problematic directories
30 mkdir -p /dev/pts /dev/shm
31 )
32 evaluate_retval
33 }
34
35 # main functions
36 start_devicemanager()
37 {
38 # create a ramdisk for populating mdev
39 rc_print "Mounting mdev at /dev ..."
40 # many video drivers needed exec access
41 fstype=ramfs
42 # tmpfs was suggested by Greg Kroah-Hartman
43 kernel_supports_fs tmpfs && fstype=tmpfs
44 # mount devtmpfs if supported
45 kernel_supports_fs devtmpfs && fstype=devtmpfs
46 mount -n -t ${fstype} mdev /dev -o exec,nosuid,mode=0755,size=1024
47 evaluate_retval
48
49 # other eeded device nodes with udev
50 seed_dev
51
52 if [ -e /proc/sys/kernel/hotplug ]
53 then
54 rc_print " Using mdev for hotplug events ..."
55 echo "/sbin/mdev" > /proc/sys/kernel/hotplug
56 evaluate_retval
57 else
58 rc_print ${COLYELLOW}" Kernel was not compiled with hotplug support !"
59 print_status failure
60 fi
61
62 # load unix domain sockets if built as module
63 if [ -e /proc/modules ]
64 then
65 modprobe -q unix 2>/dev/null
66 fi
67
68 rc_print " Starting mdev ..."
69 /sbin/mdev -s
70 evaluate_retval
71
72 # same thing as /dev/.devfsd
73 touch /dev/.mdev
74 }
75
76 stop_devicemanager()
77 {
78 return 0
79 }