#!/bin/busybox sh

udev_extra_nodes() {
  grep '^[^#]' /etc/udev/links.conf | \
  while read type name arg1; do
    [ "$type" -a "$name" -a ! -e "/dev/$name" -a ! -L "/dev/$name" ] ||continue
    case "$type" in
      L) ln -s $arg1 /dev/$name ;;
      D) mkdir -p /dev/$name ;;
      M) mknod -m 600 /dev/$name $arg1 ;;
      *) echo "links.conf: unparseable line ($type $name $arg1)" ;;
    esac
  done
}

mount /proc
mount /sys

#
# Udev starten
echo > /sys/kernel/uevent_helper

mount -n -o mode=0755 -t tmpfs tmpfs /dev
if [ -e /etc/udev/links.conf ]; then
  udev_extra_nodes
fi

udevd --daemon

mkdir -p /dev/.udev/db/ /dev/.udev/queue/
udevadm trigger

mount /dev/pts

udevadm settle || true

#
# Load acpi fan and thermal modules if available, to avoid machine
# overheating.
modprobe fan >/dev/null 2>&1 || true
modprobe thermal >/dev/null 2>&1 || true

export TERM_TYPE=pts

exec /bin/busybox init
