#!/bin/ash . /etc/initrd.defaults backup() { echo -ne "\033[0G\033[0K" } parse_opt() { case "$1" in *\=*) echo "$1" | cut -f2 -d= ;; esac } modules_scan() { local MODS [ -d /etc/modules/${1} ] || touch /etc/modules/${1} MODS=`cat /etc/modules/${1}` for x in ${MODS} do echo -ne "${BOLD} ::${NORMAL} Scanning for ${x}..." modprobe ${x} -n backup echo -ne "${NORMAL}" done } findcdmount() { if [ "$#" -gt "0" ] then for x in $* do echo -e "${GOOD}>>${NORMAL} Attempting to mount CD:- ${x}" mount -r ${x} /newroot/mnt/cdrom > /dev/null 2>&1 if [ "$?" = "0" ] then REAL_ROOT="${x}" break fi done if [ "${REAL_ROOT}" != "" ] then echo -e "${GOOD}>>${NORMAL} CD medium found on $1" fi fi } kill_devfsd() { killall devfsd > /dev/null 2>&1 } runUdev() { export ACTION=add export UDEV_NO_SLEEP=1 # Add block devices and their partitions to /dev, # using information from /sys, and only those # devices (since other are not needed for boot). for x in block/* do export DEVPATH="/${x}" /sbin/udev block for y in ${x}/* do if [ -f "${y}/dev" ] then export DEVPATH="/${y}" /sbin/udev block fi done done cd / unset -v ACTION DEVPATH UDEV_NO_SLEEP }