|
|
|
#!/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
|
|
|
|
MLOAD=`echo ${MLIST} | sed -e "s/.*${x}.*/${x}/"`
|
|
|
|
if [ "${MLIST}" = "${x}" ] # Only module to no-load
|
|
|
|
then
|
|
|
|
echo -e "${BOLD} ::${NORMAL} Skipping ${x}..."
|
|
|
|
elif [ "${MLOAD}" = "${MLIST}" ] # == No change == No specified no-load
|
|
|
|
then
|
|
|
|
echo -ne "${BOLD} ::${NORMAL} Scanning for ${x}..."
|
|
|
|
modprobe ${x} -n
|
|
|
|
backup
|
|
|
|
echo -ne "${NORMAL}"
|
|
|
|
else
|
|
|
|
echo -e "${BOLD} ::${NORMAL} Skipping ${x}..."
|
|
|
|
fi
|
|
|
|
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
|
|
|
|
# Check for a LiveCD
|
|
|
|
if [ -e /newroot/mnt/cdrom/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
|
|
|
|
}
|