Commit | Line | Data |
---|---|---|
8f8daa0b VM |
1 | #!/bin/sh |
2 | ||
3 | # - if /dev is not mounted - mount as a devtmpfs (CONFIG_DEVTMPFS=y) or tmpfs | |
4 | # - if /dev is mounted (e.g. due to handover from initramfs or | |
5 | # CONFIG_DEVTMPFS_MOUNT=y), remount with specific options | |
6 | # - some video drivers require exec access in /dev, thus it's set here | |
7 | # - for completness, we add few sanity limits (2k non-empty files, 16k inodes) | |
8 | ||
9 | UDEVOPTS="exec,nosuid,noatime,mode=0755,nr_blocks=2048,nr_inodes=16384" | |
10 | if /bin/mountpoint -q /dev ; then | |
11 | /bin/mount -n -o remount,${UDEVOPTS} dev /dev | |
12 | else | |
13 | if /bin/sed -n '/devtmpfs/q1' /proc/filesystems ; then | |
14 | UDEVFS=tmpfs | |
15 | else | |
16 | UDEVFS=devtmpfs | |
17 | fi | |
18 | /bin/mount -n -t $UDEVFS -o ${UDEVOPTS} dev /dev | |
19 | fi | |
20 | ||
21 | # make sure hotplugger is not set | |
22 | echo > /proc/sys/kernel/hotplug | |
23 | ||
24 | # since v155, udevd automatically copies /lib/udev/devices | |
25 | # and creates /proc/{kcore,self/fd/{0,1,2}} symlinks | |
26 | ||
27 | # launch udev daemon, make sure it's not running first | |
28 | test -z "$(/bin/pidof -s udevd)" && /sbin/udevd --daemon | |
29 | ||
30 | # coldplug devices and wait for the queue to be processed | |
31 | /sbin/udevadm trigger --type=subsystems --action=add | |
32 | /sbin/udevadm trigger --type=devices --action=add | |
33 | /sbin/udevadm settle | |
34 | ||
35 | # retry any failures | |
36 | /sbin/udevadm trigger --type=failed --action=add | |
37 | /sbin/udevadm settle |