+50
@@ -0,0 +1,50 @@
|
||||
#!/vendor/bin/sh
|
||||
|
||||
########################################################
|
||||
### init.insmod.cfg format: ###
|
||||
### ----------------------------------------------- ###
|
||||
### [insmod|setprop|enable/moprobe] [path|prop name] ###
|
||||
### ... ###
|
||||
########################################################
|
||||
|
||||
if [ $# -eq 1 ]; then
|
||||
cfg_file=$1
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -f $cfg_file ]; then
|
||||
while IFS="|" read -r action arg
|
||||
do
|
||||
case $action in
|
||||
"insmod") insmod $arg ;;
|
||||
"setprop")
|
||||
times=1
|
||||
setprop $arg 1
|
||||
while [ "$?" -ne 0 ]
|
||||
do
|
||||
if [ $times -gt 128 ]; then
|
||||
break
|
||||
fi
|
||||
let times++
|
||||
setprop $arg 1
|
||||
done ;;
|
||||
"enable") echo 1 > $arg ;;
|
||||
"modprobe")
|
||||
insmod_arg=${arg}
|
||||
for partition in system_dlkm vendor
|
||||
do
|
||||
case ${insmod_arg} in
|
||||
"-b *" | "-b")
|
||||
arg="-b $(cat /${partition}/lib/modules/modules.load)" ;;
|
||||
"*" | "")
|
||||
arg="$(cat /${partition}/lib/modules/modules.load)" ;;
|
||||
esac
|
||||
modprobe -a -d /${partition}/lib/modules $arg
|
||||
done
|
||||
esac
|
||||
done < $cfg_file
|
||||
else
|
||||
exit 2
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user