#!/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 ## FIXME: I need a proper identifier present on all LiveCDs to work across ## all architectures. # # Check for a LiveCD # if [ -e /newroot/mnt/cdrom/.gentoo_LiveCD ] # then # REAL_ROOT="${x}" # break # else # umount /newroot/mnt/cdrom # fi fi done if [ "${REAL_ROOT}" != "" ] then echo -e "${GOOD}>>${NORMAL} CD medium found on ${x}" fi fi } kill_devfsd() { killall devfsd > /dev/null 2>&1 } runUdev() { mount -t tmpfs -o size=100k udev /dev mkdir /dev/pts mkdir /dev/shm /sbin/udevstart ln -snf /proc/self/fd /dev/fd ln -snf /proc/self/fd/0 /dev/stdin ln -snf /proc/self/fd/1 /dev/stdout ln -snf /proc/self/fd/2 /dev/stderr ln -snf /proc/kcore /dev/core }