summaryrefslogtreecommitdiffstats
path: root/abs/core/udev/start_udev
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/udev/start_udev')
-rwxr-xr-xabs/core/udev/start_udev137
1 files changed, 0 insertions, 137 deletions
diff --git a/abs/core/udev/start_udev b/abs/core/udev/start_udev
deleted file mode 100755
index 03c38fd..0000000
--- a/abs/core/udev/start_udev
+++ /dev/null
@@ -1,137 +0,0 @@
-#! /bin/sh
-#
-# start_udev
-# script to initialize /dev by using udev.
-#
-# Modified for Archlinux by Tobias Powalowski <tpowa@archlinux.org>
-#
-# Inspired by:
-#
-# Copyright (C) 2004 Greg Kroah-Hartman <greg@kroah.com>
-#
-# Released under the GPL v2 only.
-#
-# This needs to be run at the earliest possible point in the boot
-# process.
-#
-# Based on the udev init.d script
-#
-# Thanks go out to the Gentoo developers for proving
-# that this is possible to do.
-#
-# Yes, it's very verbose, feel free to turn off all of the echo calls,
-# they were there to make me feel better that everything was working
-# properly during development...
-#
-
-prog=udev
-sysfs_dir=/sys
-bin=/sbin/udev
-udevd=/sbin/udevd
-udev_root="/dev"
-
-starttime=$(date +%s)
-
-
-function trigger_builtin_events() {
- list="$(echo /sys/class/tty/ttyS*/uevent)"
- for i in $list; do
- case "$i" in
- */class/uevent|*\**)
- continue
- ;;
- */class/tty/ttyS*)
- echo "add" > "$i"
- ;;
- esac
- done
- }
-
-function trigger_device_events() {
- /sbin/udevtrigger
-}
-
-function wait_for_queue() {
-# loop=20
-# while ! [ "$loop" -gt 0 -a -d /dev/.udev/queue ]; do
-# sleep 0.1;
-# loop=$(($loop - 1))
-# done
- /sbin/udevsettle
-}
-
-make_extra_nodes () {
- # there are a few things that sysfs does not export for us.
- # these things go here (and remember to remove them in
- # remove_extra_nodes()
- #
- # Thanks to Gentoo for the initial list of these.
- ln -snf /proc/self/fd $udev_root/fd
- ln -snf /proc/self/fd/0 $udev_root/stdin
- ln -snf /proc/self/fd/1 $udev_root/stdout
- ln -snf /proc/self/fd/2 $udev_root/stderr
- ln -snf /proc/kcore $udev_root/core
-
- mkdir $udev_root/pts
- mkdir $udev_root/shm
-}
-
-udev_init () {
-# don't use udev if sysfs is not mounted.
-if [ ! -d $sysfs_dir/block ]; then
- exit 1
-fi
-
-echo "mounting... ramfs at $udev_root"
-mount -n -t ramfs none $udev_root
-
-# propogate /udev from /sys
-echo "Creating initial udev device nodes:"
-
-#echo "making extra nodes"
-make_extra_nodes
-
-# check if udevd is already running
-if [ `pidof -o %PPID /sbin/udevd` ]; then
- grep -v "/dev/shm" /etc/mtab | grep -v "/dev/pts" > /etc/mtab
- mount /dev/pts
- mount /dev/shm
-else
- echo "start udev daemon"
- /sbin/udevd --daemon
-fi
-case "$(uname -r)" in
- 2.6.[0-9]|2.6.[0-9][!0-9]*) ;;
- *) if [ -f "/sys/class/tty/console/uevent" ]; then
- echo "Kernel >= 2.6.15 and supports uevents"
- # trigger the sorted events
- echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug
- # catch events that are real fast
- mkdir -p /dev/.udev/queue
- trigger_builtin_events
- else
- # for older kernels without uevents will be removed when udevstart dies in udev
- echo "Kernel does not support uevents, you need a kernel >= 2.6.15!"
- exit 1
- fi
- ;;
-esac
-}
-
-udev_uevents () {
-# configure all devices
-trigger_device_events
-# until we know how to do better, just wait for _all_ events to finish
-wait_for_queue
-}
-
-if [ $# -eq 0 ]; then
-udev_init
-udev_uevents
-fi
-
-[ "$1" = "init" ] && udev_init
-[ "$1" = "uevents" ] && udev_uevents
-
-echo "udev startup is finished! - time = $(( `date +%s` - $starttime ))"
-exit 0