#!/bin/sh 

PREREQS=""

prereqs() { echo "$PREREQS"; }

case "$1" in
    prereqs)
    prereqs
    exit 0
    ;;
esac

if [ -w /sys/kernel/uevent_helper ]; then
	echo > /sys/kernel/uevent_helper
fi

for item in lib lib64 bin sbin; do
    while [ ! -L "/$item" ]; do
		sleep 0.1
	done
done

/bin/mkdir -p /run/vdev/
/sbin/vdevd -c /etc/vdev/vdevd.initrd.conf /dev

if [ -d /dev/metadata/udev ] && ! [ -e /run/udev ]; then
   /bin/ln -s /dev/metadata/udev /run/udev || true 
fi

# If the rootdelay parameter has been set, we wait a bit for devices
# like usb/firewire disks to settle.
if [ "$ROOTDELAY" ]; then
	sleep $ROOTDELAY
fi

# Persist for later initramfs scripts (ORDER runs us in a subshell; bare
# export would be lost before cryptroot/forcelvm).
echo 'export DM_DISABLE_UDEV=1' >> /conf/param.conf
# shellcheck disable=SC1091
[ -e /conf/param.conf ] && . /conf/param.conf

# Ensure device mapper node:
if [ ! -c /dev/mapper/control ]; then
    mkdir -p /dev/mapper
	mknod -m 600 /dev/mapper/control c 10 236 2>/dev/null || true
fi

# Leave vdevd running to process events that come in out-of-band (like USB
# connections)

