Files
poky/meta/packages/udev/udev-115/init
Marcin Juszkiewicz 398512ef6e udev: use init script from OLPC
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4788 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-07-02 15:38:04 +00:00

1.4 KiB

export TZ=/etc/localtime

[ -d /sys/class ] || exit 1 [ -r /proc/mounts ] || exit 1 [ -x /sbin/udevd ] || exit 1 [ -f /etc/udev/udev.conf ] && . /etc/udev/udev.conf

kill_udevd() { if [ -x /sbin/pidof ]; then pid=/sbin/pidof -x udevd [ -n "$pid" ] && kill $pid fi }

export ACTION=add

propagate /dev from /sys

echo -n "Starting udev"

mount the tmpfs on /dev, if not already done

LANG=C awk "$2 == "/dev" && $4 == "tmpfs" { exit 1 }" /proc/mounts && { mount -n -o mode=0755 -t tmpfs none "/dev" mkdir -m 0755 /dev/pts mkdir -m 0755 /dev/shm }

if [ -e /etc/dev.tar ]; then (cd /; tar xf /etc/dev.tar) not_first_boot=1 fi

make_extra_nodes

kill_udevd > "/dev/null" 2>&1

    # trigger the sorted events
    echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug
    /sbin/udevd -d

    /sbin/udevcontrol env STARTUP=1
	if [ "$not_first_boot" != "" ];then
		/sbin/udevtrigger --subsystem-nomatch=tty --subsystem-nomatch=mem --subsystem-nomatch=vc --subsystem-nomatch=vtconsole --subsystem-nomatch=misc --subsystem-nomatch=dcon --subsystem-nomatch=pci_bus  --subsystem-nomatch=graphics  --subsystem-nomatch=backlight --subsystem-nomatch=video4linux  --subsystem-nomatch=platform
		(/sbin/udevsettle --timeout=3; /sbin/udevcontrol env STARTUP=)&
	else
		/sbin/udevtrigger
		/sbin/udevsettle
		(cd /; tar cf /etc/dev.tar /dev)
	fi

echo exit 0