# vim: set ft=sh: run_hook () { msg -n ":: Loading root filesystem module..." if [ -n "${rootfstype}" ]; then FSTYPE="${rootfstype}" else if [ ! -e "${root}" ]; then msg "\nAttempting to create root device '${root}'" if [ -n "${rootdelay}" ]; then msg -n "Waiting for devices to settle..." /bin/sleep "${rootdelay}" msg "done." rootdelay=0 fi eval $(/bin/parseblock "${root}") if [ "${BLOCKNAME}" = "unknown" ]; then FSTYPE="unknown" echo "ERROR: Failed to parse block device name for '${root}'" elif [ -z "${BLOCKDEVICE}" ]; then FSTYPE="unknown" echo "ERROR: Failed to parse block device ids for '${root}'" else root="${BLOCKNAME}" echo "/bin/mknod \"${BLOCKNAME}\" b ${BLOCKDEVICE}" /bin/mknod "${BLOCKNAME}" b ${BLOCKDEVICE} >/dev/null fi fi if [ -e "${root}" ]; then eval $( /bin/fstype < "${root}" ) else FSTYPE="unknown" fi fi msg " ${FSTYPE}" if [ "${FSTYPE}" = "unknown" ]; then echo "ERROR: root fs cannot be detected. Try using the rootfstype= kernel parameter." else rootfstype="${FSTYPE}" /sbin/modprobe -q "${FSTYPE}" >/dev/null 2>&1 fi }