parent
10deb927f2
commit
ccb3a84c36
@ -0,0 +1,64 @@
|
||||
#!/sbin/runscript
|
||||
|
||||
depend() {
|
||||
need modules
|
||||
}
|
||||
|
||||
KERNEL_VERSION=`uname -r`
|
||||
KERNEL_VERSION_CONF=${KERNEL_VERSION//./_}
|
||||
KERNEL_VERSION_CONF="modules_${KERNEL_VERSION_CONF//-/_}"
|
||||
MODULES_PATH="/lib/modules/${KERNEL_VERSION}"
|
||||
CONF_FILE="/etc/conf.d/modules"
|
||||
|
||||
get_cpufreq_modules(){
|
||||
MODULES_STRING=""
|
||||
for path in $(find $MODULES_PATH -name cpufreq)
|
||||
do
|
||||
for module_path in $(find $path -name *.ko)
|
||||
do
|
||||
module_name=${module_path##\/*\/}
|
||||
module_name=${module_name%.ko}
|
||||
if modprobe $module_name &>/dev/null;
|
||||
then
|
||||
if [[ ${MODULES_STRING} ]];
|
||||
then
|
||||
MODULES_STRING="${MODULES_STRING} $module_name"
|
||||
else
|
||||
MODULES_STRING=$module_name
|
||||
fi
|
||||
fi
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
find_string_modules(){
|
||||
find_string=$(awk "/^\s*[^#]*\s*${KERNEL_VERSION_CONF}/ {print}" < ${CONF_FILE})
|
||||
if [[ -n $find_string ]];
|
||||
then
|
||||
return 0
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
|
||||
add_autoload_modules(){
|
||||
if ! find_string_modules;
|
||||
then
|
||||
ebegin "Added rules for cpu frequency"
|
||||
get_cpufreq_modules
|
||||
echo ${KERNEL_VERSION_CONF}=\"${MODULES_STRING}\" >> ${CONF_FILE}
|
||||
else
|
||||
ebegin "Cpu frequency modules already detected"
|
||||
fi
|
||||
}
|
||||
|
||||
start() {
|
||||
add_autoload_modules
|
||||
eend
|
||||
}
|
||||
|
||||
stop() {
|
||||
if rc-update show boot | grep -q calculate-builder
|
||||
then
|
||||
rc-update del calculate-builder boot
|
||||
fi
|
||||
}
|
Loading…
Reference in new issue