summaryrefslogtreecommitdiff
path: root/eudev/start_udev
blob: a8f1f402aa7816b2025cd96b906df2f226b45648 (plain)
    1 #!/bin/sh
    2 
    3 # - if /dev is not mounted - mount as a devtmpfs (CONFIG_DEVTMPFS=y)
    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 	/bin/mount -n -t devtmpfs -o ${UDEVOPTS} dev /dev
   14 fi
   15 
   16 # mount /run directory if not mounted
   17 if ! /bin/mountpoint -q /run ; then
   18 	/bin/mount -n -t tmpfs -o mode=0755,nosuid,nodev,exec tmpfs /run
   19 fi
   20 
   21 # copy devcies from /lib/udev/devices
   22 cp -ar /lib/udev/devices/* /dev
   23 
   24 # launch udev daemon, make sure it's not running first
   25 test -z "$(/bin/pidof -s udevd)" && /sbin/udevd --daemon
   26 
   27 # coldplug devices and wait for the queue to be processed
   28 /sbin/udevadm trigger --type=subsystems --action=add
   29 /sbin/udevadm trigger --type=devices --action=add
   30 /sbin/udevadm settle

Generated by cgit