cu extensii nu am reusit sa scot un timp mai mic de 24-26 sec si am revenit la root normal cu un castig de 6 sec.
- cu initializare script samyGOoscam direct in run1.sh imediat dupa linia de initializare ftpd imagine in 24 sec. insa instabil dupe 60 sec: boot loop!
- cu initializare script samyGOoscam direct in run1.sh dupa lansarea extensiilor, imagine in 26-30 sec/instabil
- cu init.d in 01_01.script.init initializare script /mtd_rwcommon/oscam/samyGOoscam imagine la fel min.26-30 sec insa stabil.
pe root normal am modificat/creat script, pentru a sterge automat libOSCAM.so.disabled creat in urma unui eventual crash si lucreaza doar la initializarea SamyGO.
in /mtd_rwcommon/widgets/user/SamyGO/data/run.sh am inlaturat linkul catre samyGOoscam si am creat unul pentru un start al samyGOoscam
Code:
#!/bin/sh
cd /tmp
mkdir /tmp/bin
/mtd_exe/InfoLink/lib/unzip -o -P 12345 /mtd_rwcommon/widgets/user/SamyGO/data/data.zip -d /tmp/bin/
chmod 777 /tmp/bin/*
/tmp/bin/busybox --install -s /tmp/bin
sync
export PATH=/tmp/bin:$PATH
export LD_LIBRARY_PATH=/tmp/bin:$LD_LIBRARY_PATH
sync
/tmp/bin/busybox tcpsvd -vE 0.0.0.0 21 /tmp/bin/busybox ftpd -w / &
/tmp/bin/remshd &
sync
sh -x /mtd_rwcommon/oscam/samyGOstart.sh >> /mtd_rwcommon/oscam/samyGOstart.log 2>&1
sleep 5
/tmp/bin/UEP_killer.sh &
ps | grep run.sh | grep -v grep | while read child_pid others
do
echo "Killing child process $child_pid of run.sh"
kill -9 $child_pid
done
samyGOstart.sh
Code:
#!/bin/sh
rm /mtd_rwcommon/oscam/libOSCAM.so.disabled
/mtd_rwcommon/oscam/samyGOoscam
path: /mtd_rwcommon/oscam
permisiuni -x in telnet:
Code:
chmod 755 /mtd_rwcommon/oscam/samyGOstart.sh
log-ul creat (samyGOstart.log):
Code:
#crash detected
+ rm /mtd_rwcommon/oscam/libOSCAM.so.disabled
+ /mtd_rwcommon/oscam/samyGOoscam
Injecting /mtd_rwcommon/oscam/libOSCAM.so into pid 103
Starting oscam
#no crash detected
+ rm /mtd_rwcommon/oscam/libOSCAM.so.disabled
rm: can't remove '/mtd_rwcommon/oscam/libOSCAM.so.disabled': No such file or directory
+ /mtd_rwcommon/oscam/samyGOoscam
Injecting /mtd_rwcommon/oscam/libOSCAM.so into pid 99
Starting oscam
Checking pid 99 for crash.
samyGOoscam cu USB/ STOP_OSCAM file protection
Code:
#!/bin/sh
OSCAM=oscam
DIR_OSCAM=/mtd_rwcommon/oscam
BIN_OSCAM=${DIR_OSCAM}/${OSCAM}
LIB_OSCAM=${DIR_OSCAM}/libOSCAM.so
BIN_SAMYGOSO=${DIR_OSCAM}/samyGOso
BIN_NTPCLIENT=${DIR_OSCAM}/ntpclient
BIN_SAMYGORC=${DIR_OSCAM}/samyGOrc
PATH=$PATH:./
for USB in ${1:- /dtv/usb/sd* } ; do
echo "checking $USB..."
sleep 1
if [ -e $USB/STOP_OSCAM ]; then
echo "OSCAM STOP file found. Script exit!!"
exit 1
else
echo "No OSCAM STOP file has been found. Continuing..."
fi
done
if [ ! -f ${LIB_OSCAM} ]; then
echo "${LIB_OSCAM} doesn't exist."
exit 1
fi
if [ -e ${LIB_OSCAM}.disabled ]; then
echo "***** Disabled due to previous crash."
echo "***** Remove ${LIB_OSCAM}.disabled first and try again."
exit 1
fi
export TZ="GMT-2"
chmod +x ${BIN_OSCAM} ${BIN_SAMYGOSO} ${BIN_NTPCLIENT} ${BIN_SAMYGORC} > /dev/null
if [ "$(pidof ntpclient)" == "" ]; then
${DIR_OSCAM}/ntpclient -s -h pool.ntp.org &> /dev/null
${DIR_OSCAM}/ntpclient -h pool.ntp.org &> /dev/null &
else
echo ntpclient already running.
fi
INJPID=$(pidof exeTV || pidof exeDSP)
if [ "$INJPID" == "" ]; then
echo "Process not found."
exit 1
fi
X=$(grep -c OSCAM /proc/$INJPID/smaps) &> /dev/null
if [ $X -gt 0 ]; then
echo libOSCAM already injected!
else
echo Injecting ${LIB_OSCAM} into pid $INJPID
${BIN_SAMYGOSO} -p $INJPID -l ${LIB_OSCAM} -r
fi
if [ "$(pidof ${OSCAM})" == "" ]; then
echo Starting oscam
${BIN_OSCAM} -c ${DIR_OSCAM} -t ${DIR_OSCAM} &
sleep 1
${BIN_SAMYGORC} -p $INJPID 18
sleep 1 #daca nu se efectueaza dublu zapp = sleep 2
${BIN_SAMYGORC} -p $INJPID 16
else
echo oscam already running.
fi
if [ $X -le 0 ]; then
echo Checking pid $INJPID for crash.
sleep 15
fi
if [ ! -e /proc/$INJPID ]; then
echo "***** Process crash detected."
echo "***** Disabling libOSCAM."
touch ${LIB_OSCAM}.disabled
fi
exit