CRUX-ARM : Home

Home :: Documentation :: Download :: Development :: Community :: Ports :: Packages :: Bugs :: Links :: About :: Donors
util-linux-ng: update to 2.19.1
[crossrootfs.git] / udev / start_udev
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