Home

algunos scripts interesantes

manolito1998

Usuario Destacado
Vip OpenSPA
5 Abr 2009
406
23
0
48
Madrid
Muy buenas a tod@s,

Echandole un vistazo a los scripts que lleva el Azbox, me he encontrado con alguno interesante.

están en /MMP/usr/bin

Entiendo que son scripts que utiliza el deco para por ejemplo montar los discos usb y esas cosas.

El de montar discos USB es usb_script.sh y en el, por ejemplo, nos encontramos con estas lineas:

Código:
mkdir -p $MOUNT_POINT
if [ -f "$UPNP_CHECK" ] 
then 
echo "ntfs-3g $DEVPATH $MOUNT_POINT"
ntfs-3g $DEVPATH $MOUNT_POINT -o defaults,locale=ko_KR.UTF-8
else
echo "mount -t ntfs $DEVPATH $MOUNT_POINT"
mount -t ntfs $DEVPATH $MOUNT_POINT -o ro,nls=utf8
fi
[ $? != 0 ] && rmdir $MOUNT_POINT
;;

Esto esta dentro de un CASE, que depende del tipo de sistema de archivos. Este ejemplo es el de NTFS, en el cual podriamos indicarle que lo monte con permisos de escritura (no lo he probado, porque ahora mismo no dispongo de ningun soporte en ntfs)

Luego hay un archivo interesante, el S.sh, que parece ser que es el que inicia todo el tinglado. Pues dentro de este archivo, hay unas lineas:

Código:
# max_dmabuffer_log2_size :
# 15/16/17/18 = 32KB/64KB/128KB/256KB
#/sbin/insmod /MMP/modules/2.6.15/llad.ko max_dmapool_memory_size=0x600000 max_dmabuffer_log2_size=16
/sbin/insmod /MMP/modules/2.6.15/llad.ko max_dmapool_memory_size=0x800000 max_dmabuffer_log2_size=17
#/sbin/insmod /MMP/modules/2.6.15/llad.ko max_dmapool_memory_size=0x800000 max_dmabuffer_log2_size=18
#/sbin/insmod /MMP/modules/2.6.15/llad.ko

Que al parecer se podria modificar el buffer y el tamaño memoria del DMA, que creo que es el acceso directo a memoria..

Tambien dentro de este archivo podemos darle prioridad a ciertos procesos
Código:
#oom_disable event_dispatcher
#oom_disable app_control
#oom_disable ir_control
#oom_disable file_control
#oom_disable update_agent
#oom_disable SDecoderServer
#oom_disable DStar
#proc_nice event_dispatcher
#proc_nice app_control
#proc_nice ir_control
#proc_nice file_control
proc_nice DStar

En el archivo estan estas lineas comentadas, menos la DStar. Poniendo proc_nice DStar le estamos dando prioridad al proceso DStar. Lo de oom_disable no se para que es.

También se podrían cargar los módulos que queramos.

Mis conocimientos de linux no son muy extensos, pero me imagino que alguien que controle mas, le podra sacar mas provecho.

Un saludo
 

manolito1998

Usuario Destacado
Vip OpenSPA
5 Abr 2009
406
23
0
48
Madrid
Bueno, pues si pones esto en el archivo S.sh debajo de proc_nice DStar:

proc_nice SDecoderServer

Conseguireis mejores tiempos de respuesta en el mbox. Funciona mas rapida la decodificacion, ya que le estamos dando prioridad.

He intentado dar mas prioridad al file_control, pero lo unico que he conseguido es que chupe mucho mas de procesador cuando pasas un archivo ya sea por ftp o samba.

El oom_disable me parece que es para desactivar el out of memory, se supone que es para que no se cierre la aplicacion cuando no tenga memoria. No se si esto es verdad o no. Si alguien me lo pudiese aclarar.

Un saludo
 

milix

AZvip
Loco por OpenSPA
22 Ago 2009
1.679
2
0
Yo creo que ese comando no hace nada.

No te fies muchos de los scripts que como ves hay muchas cosas comentadas # y el azbox esta basado en el Celrun TD9000 y muchas cosas las comparten.

No me extrañaria que eso fuera algun resto de pruebas o cualquier otra cosa, viendo como esta todo el arranque no me extrañaria, jajaja.

Esto lo digo porque no se pinta un comando de PHP (proc_nice) en un script de linux, si de verdad quieren dar mas prioridad de proceso seria el comando nice con el asignarian un prioridad determinada o con renice para cambiarla.

Salu2.
 

manolito1998

Usuario Destacado
Vip OpenSPA
5 Abr 2009
406
23
0
48
Madrid
Puede ser, la verdad, pero lo que si he constatado es que el archivo S.sh es el que se encarga de lanzar todos los procesos del deco.

El primer archivo es /tmp/launch.sh, y dentro de este, el ultimo comando es:

echo "Start main program"

/MMP/usr/bin/S.sh

Saludos
 

milix

AZvip
Loco por OpenSPA
22 Ago 2009
1.679
2
0
Puede ser, la verdad, pero lo que si he constatado es que el archivo S.sh es el que se encarga de lanzar todos los procesos del deco.

El primer archivo es /tmp/launch.sh, y dentro de este, el ultimo comando es:

echo "Start main program"

/MMP/usr/bin/S.sh

Saludos
Asi es, alli esta todo el tinglado del arranque el archivo launch.sh puedes localizarlo en DISK1 el que hay en tmp es una copia d este creo recordar, no obstante todo el proceso de arranque empieza en /etc/init.d/rcS alli comienza todo y enlaza unos scripts con otros.

Esta bien trastear y probar cosas asi es como se consiguen resultados. Pero guiate por tu intuicion ya que mucho de lo que hay puesto no tiene porque estar bien, o mejor dicho seguro que se puede mejorar.

Salu2.
 

manolito1998

Usuario Destacado
Vip OpenSPA
5 Abr 2009
406
23
0
48
Madrid
Si, es una copia que crea el propio deco en tmp.

Pues vaya chasco, jejeje. Pensaba que se podria hacer algo con eso.

Un saludo y gracias
 

milix

AZvip
Loco por OpenSPA
22 Ago 2009
1.679
2
0
Pues vaya chasco, jejeje. Pensaba que se podria hacer algo con eso.

No hombre no tiene porque ser un chasco.

Prueba por ejemplo a modificar el archivo S.sh primero tienes que dar atributos de escritura a ese mount.

Luego prueba modificar el prioridad del SDecoderServer con la siguiente linea:

Buscas esta linea:

/MMP/usr/bin/SDecoderServer

Y la sustituyes por esta con esto le das la maxima prioridad mejor dicho la maxima es -20 pero normalmente es muy inestable y +20 es la minima.

nice --19 /MMP/usr/bin/SDecoderServer

Pero no quieres tocar el archivo de arranque puedes modificarlo sobre la marcha es decir por consola.

Escribe por consola ps:

Y copias el PID del proceso del SDecoderServer.

Y por ultimo le cambias la prioridad con:

renice -19 ElPIDdeSDecoderServer

Y a ver si se saca algo en claro.

Salu2.