git-svn-id: svn+ssh://svn.gentoo.org/var/svnroot/genkernel/trunk@23 67a159dc-881f-0410-a524-ba9dfbe2cb84cleanup-cruft
parent
c6f08d2279
commit
37d4bc8b1d
@ -0,0 +1,63 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
modules_dep_list()
|
||||||
|
{
|
||||||
|
if [ "${PAT}" -gt "4" ]
|
||||||
|
then
|
||||||
|
KEXT=".ko"
|
||||||
|
else
|
||||||
|
KEXT=".o"
|
||||||
|
fi
|
||||||
|
cat /lib/modules/${KV}/modules.dep | grep ${1}${KEXT}\: | cut -d\: -f2
|
||||||
|
}
|
||||||
|
|
||||||
|
# Pass module deps list
|
||||||
|
strip_mod_paths()
|
||||||
|
{
|
||||||
|
local x
|
||||||
|
local ret
|
||||||
|
local myret
|
||||||
|
|
||||||
|
for x in ${*}
|
||||||
|
do
|
||||||
|
ret=`basename ${x} | cut -d. -f1`
|
||||||
|
myret="${myret} ${ret}"
|
||||||
|
done
|
||||||
|
echo "${myret}"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
gen_deps()
|
||||||
|
{
|
||||||
|
local modlist
|
||||||
|
local deps
|
||||||
|
|
||||||
|
for x in ${*}
|
||||||
|
do
|
||||||
|
echo ${x} >> ${TEMP}/moddeps
|
||||||
|
modlist=`modules_dep_list ${x}`
|
||||||
|
if [ "${modlist}" != "" -a "${modlist}" != " " ]
|
||||||
|
then
|
||||||
|
deps=`strip_mod_paths ${modlist}`
|
||||||
|
else
|
||||||
|
deps=""
|
||||||
|
fi
|
||||||
|
for y in ${deps}
|
||||||
|
do
|
||||||
|
echo ${y} >> ${TEMP}/moddeps
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
gen_dep_list()
|
||||||
|
{
|
||||||
|
rm -f ${TEMP}/moddeps > /dev/null
|
||||||
|
gen_deps ${STORAGE_MODULES}
|
||||||
|
gen_deps ${FIREWIRE_MODULES}
|
||||||
|
gen_deps ${ATARAID_MODULES}
|
||||||
|
gen_deps ${PCMCIA_MODULES}
|
||||||
|
gen_deps ${USB_MODULES}
|
||||||
|
|
||||||
|
# Only list each module once
|
||||||
|
cat ${TEMP}/moddeps | sort | uniq
|
||||||
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/ash
|
||||||
|
PATH=/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
|
BACK_UP="\033[1K\033[0G"
|
||||||
|
HILITE="\033[1m"
|
||||||
|
NORMAL="\033[0m"
|
||||||
|
WARN="\033[1m"
|
||||||
|
BAD="\033[1m"
|
||||||
|
KV="`uname -r`"
|
||||||
|
KMAJOR=`echo $KV | cut -f1 -d.`
|
||||||
|
KMINOR=`echo $KV | cut -f2 -d.`
|
||||||
|
KVER="${KMAJOR}.${KMINOR}"
|
||||||
|
MISCOPTS="cdcache idebug detect"
|
||||||
|
HWOPTS="scsi firewire ataraid pcmcia usb"
|
||||||
|
MY_HWOPTS="usb"
|
||||||
|
QUIET=1
|
||||||
|
ROOT_LINKS="bin sbin lib lib64 boot usr opt"
|
||||||
|
ROOT_TREES="etc root home var"
|
||||||
|
if [ "$KMVER" = "2.6" ]
|
||||||
|
then
|
||||||
|
KSUFF=".ko"
|
||||||
|
INSMOD="insmod.static"
|
||||||
|
else
|
||||||
|
KSUFF=".o"
|
||||||
|
INSMOD="insmod"
|
||||||
|
fi
|
||||||
|
REAL_ROOT=""
|
||||||
|
CDROOT=0
|
||||||
|
|
||||||
|
|
@ -0,0 +1,53 @@
|
|||||||
|
#!/bin/ash
|
||||||
|
|
||||||
|
backup() {
|
||||||
|
echo -ne "\033[0G\033[0K"
|
||||||
|
}
|
||||||
|
|
||||||
|
parse_opt() {
|
||||||
|
case "$1" in
|
||||||
|
*\=*)
|
||||||
|
echo "$1" | cut -f2 -d=
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
modules_scan() {
|
||||||
|
for x in "`cat /etc/modules/${1}`"
|
||||||
|
do
|
||||||
|
echo -ne "${HILITE}---- Scanning for ${x}..."
|
||||||
|
MODULE=`find /lib/modules -name "${x}.$KSUFF"`
|
||||||
|
/sbin/modprobe -f ${MODULE} > /dev/null 2>&1
|
||||||
|
if [ $? -eq 0 ]
|
||||||
|
then
|
||||||
|
backup
|
||||||
|
echo -e "${GOOD}---- Detected ${x} hardware${NORMAL}"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
backup
|
||||||
|
echo -ne "${NORMAL}"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
findcdmount() {
|
||||||
|
if [ "$#" -gt "1" ]
|
||||||
|
then
|
||||||
|
for x in "$*"
|
||||||
|
do
|
||||||
|
mount -t iso9660 -r ${x} /newroot/mnt/cdrom > /dev/null 2>&1
|
||||||
|
if [ "$?" = "0" ]
|
||||||
|
then
|
||||||
|
REAL_ROOT="${x}"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [ "${REAL_ROOT}" != "" ]
|
||||||
|
then
|
||||||
|
echo -e "${HILITE}---- CD medium found on $1${NORMAL}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
kill_devfsd() {
|
||||||
|
killall devfsd > /dev/null 2>&1
|
||||||
|
}
|
@ -0,0 +1,130 @@
|
|||||||
|
#!/bin/ash
|
||||||
|
|
||||||
|
#KV=`uname -r`
|
||||||
|
#KMAJOR=`echo ${KV} | cut -d. -f1`
|
||||||
|
#KMINOR=`echo ${KV} | cut -d. -f2`
|
||||||
|
#INSMOD="insmod.static"
|
||||||
|
|
||||||
|
#if [ "${KMINOR}" -gt "4" ]
|
||||||
|
#then
|
||||||
|
# KEXT=".ko"
|
||||||
|
#else
|
||||||
|
# KEXT=".o"
|
||||||
|
#fi
|
||||||
|
|
||||||
|
. /etc/initrd.defaults
|
||||||
|
|
||||||
|
usage()
|
||||||
|
{
|
||||||
|
echo "modprobe gentoo script v1.0"
|
||||||
|
echo "Usage:"
|
||||||
|
echo " modprobe moduleprefix"
|
||||||
|
echo ""
|
||||||
|
echo "Ex:"
|
||||||
|
echo " modprobe eepro100"
|
||||||
|
echo ""
|
||||||
|
echo "Note: Do not pass the suffix to modprobe"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Pass module name to this function
|
||||||
|
modules_dep_list()
|
||||||
|
{
|
||||||
|
if [ "$#" != "1" ]
|
||||||
|
then
|
||||||
|
echo "modules_dep_list(): improper usage"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
cat /lib/modules/${KV}/modules.dep | grep ${1}${KEXT}\: | cut -d\: -f2
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Pass module deps list
|
||||||
|
strip_mod_paths()
|
||||||
|
{
|
||||||
|
local x
|
||||||
|
local ret
|
||||||
|
local myret
|
||||||
|
|
||||||
|
[ "$#" -lt "1" ] && return
|
||||||
|
|
||||||
|
for x in ${*}
|
||||||
|
do
|
||||||
|
ret=`basename ${x} | cut -d. -f1`
|
||||||
|
myret="${myret} ${ret}"
|
||||||
|
done
|
||||||
|
echo "${myret}"
|
||||||
|
}
|
||||||
|
|
||||||
|
LOADED_MODULES=""
|
||||||
|
|
||||||
|
is_module_already_loaded()
|
||||||
|
{
|
||||||
|
local x
|
||||||
|
if [ "$#" != "1" ]
|
||||||
|
then
|
||||||
|
echo "is_module_already_loaded(): improper usage"
|
||||||
|
fi
|
||||||
|
|
||||||
|
for x in ${LOADED_MODULES}
|
||||||
|
do
|
||||||
|
if [ "${x}" == "${1}" ]
|
||||||
|
then
|
||||||
|
# Yep, module is loaded
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
real_mod_path()
|
||||||
|
{
|
||||||
|
find /lib/modules/${KV}/ -path "*${1}${KEXT}"
|
||||||
|
}
|
||||||
|
|
||||||
|
modprobe2()
|
||||||
|
{
|
||||||
|
local x
|
||||||
|
if [ "$#" != "1" ]
|
||||||
|
then
|
||||||
|
echo "modprobe(): improper usage"
|
||||||
|
fi
|
||||||
|
|
||||||
|
modlist=`modules_dep_list ${1}`
|
||||||
|
if [ "${modlist}" != "" -a "${modlist}" != " " ]
|
||||||
|
then
|
||||||
|
deps=`strip_mod_paths ${modlist}`
|
||||||
|
else
|
||||||
|
deps=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "$1 -- DEPS=${deps}"
|
||||||
|
# Make sure we don't do any endless loops!
|
||||||
|
|
||||||
|
LOADED_MODULES="${LOADED_MODULES} ${1}"
|
||||||
|
|
||||||
|
for x in ${deps}
|
||||||
|
do
|
||||||
|
if ! is_module_already_loaded ${x}
|
||||||
|
then
|
||||||
|
modprobe2 "${x}"
|
||||||
|
else
|
||||||
|
echo "skipping ${x}, module already loaded by us"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
real_path=`real_mod_path ${1}`
|
||||||
|
echo "running insmod on ${real_path}"
|
||||||
|
${INSMOD} ${real_path}
|
||||||
|
return $?
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$#" != "1" ]
|
||||||
|
then
|
||||||
|
usage
|
||||||
|
fi
|
||||||
|
|
||||||
|
modprobe2 ${1}
|
||||||
|
return $?
|
||||||
|
|
Loading…
Reference in new issue