En calidad de Afiliado de Amazon, obtengo ingresos por las compras adscritas que cumplen los requisitos aplicables
Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 10 de 13

Tema: Scripts para nuestro hanlin

  1. #1
    Veteran@ en el foro Avatar de solsticio
    Fecha de ingreso
    28 feb, 09
    Mensajes
    470

    Predeterminado Scripts para nuestro hanlin

    Resulta que he comprado un v5 que quiero regalar a mi hermano. Antes de hacerlo le estoy metiendo mano con la intención de dejarle un firmware bonito.

    Los firmwares que no son openinkpot son muy cerrados, diría que cerradísimos. No se puede cambiar nada (o casi nada) del firmware a no ser que generes uno nuevo con las utilidades y lo instales.

    Una de las pocas maneras que tenemos de meterle mano es ejecutando scripts de unix. Cuando tenemos el escript lo renombramos con la extension "exe.fb2"; al abrir este fichero con el coolreader, éste se da cuenta por el .exe que es un script y lo ejecuta.

    De esta manera podemos obtener información del sistema pues podemos hacer que el script escriba información en algún archivo de la tarjeta o de la memoria al que luego acceder.

    En su día algunos foreros usamos este método para cotillear por el firmware. Espero desde aquí revitalizar esta técnica "de ataque" para perpetrar "fechorías" al firmware.

    Directorios interesantes en nuestro hanlin son:

    • /mnt. Aquí se monta la tarjeta de memoria
    • /home. Aquí se monta la memoria interna
    • /jffs2fs. Aquí se reserva un poco de la memoria del hanlin para aplicaciones. En este directorio podemos escribir. Es el que usa, por ejemplo, coolreader para guardar archivos de configuración ini como cr3-fb2.ini (configuración sobre archivos fb2), aunque si generamos un archivos cr3-fb2.ini en el /crengine de la memoria interna tiene preferencia sobre éste.

    Os pongo un script que me he generado para configurar el cr3-fb2.ini de mi hermano en /jffs2fs. el cr3-fb2.ini esta contenido en el propio script en forma de comentarios y se extrae del propio script para insertarlo el jffs2fs del firmware. Es una chorrada pero sirve de ejemplo perfectamente.

    Lo he llamado cr3-fb2.exe.fb2. Se pone en la tarjeta (o memoria interna) cual libro fb2 se tratara para ejecutarlo
    --------------- 8< --------------
    #!/bin/sh

    prin=`grep -n "### ----- Aqui comienza cr3-fb2.ini" $0 | tail -n 1 | sed 's/:/ /g' | awk '{ print $1 }'`
    prin=`expr $prin`
    fin=`grep -n "### ----- Aqui finliza cr3-fb2.ini" $0 | tail -n 1 | sed 's/:/ /g' | awk '{ print $1 }'`
    fin=`expr $fin - 1`
    prin=`expr $fin - $prin`
    head -n $fin $0 | tail -n $prin | sed 's/###//g' > /jffs2fs/cr3-fb2.ini

    ### ----- Aqui comienza cr3-fb2.ini###
    ###background.color.default=0x00FFFFFF
    ###cr3.dlg.fileprops.font.size=26
    ###crengine.autosave.bookmarks=1
    ###crengine.bookmarks.icons=0
    ###crengine.cache.filesize.min=524288
    ###crengine.cache.forced.filesize.min=65536
    ###crengine.display.full.update.interval=1
    ###crengine.display.inverse=0
    ###crengine.display.turbo.update=0
    ###crengine.doc.embedded.styles.enabled=1
    ###crengine.file.txt.preformatted=0
    ###crengine.font.size=32
    ###crengine.footnotes=1
    ###crengine.hyphenation.directory=esSOLSTICIO.pat. pattern
    ###crengine.interline.space=100
    ###crengine.page.header.font.face=Verdana condensed Solsticio
    ###crengine.page.header.font.size=20
    ###crengine.page.margin.bottom=0
    ###crengine.page.margin.left=4
    ###crengine.page.margin.right=4
    ###crengine.page.margin.top=2
    ###crengine.page.view.mode=1
    ###crengine.progress.show.first.page=0
    ###font.antialiasing.mode=2
    ###font.color.default=0x00000000
    ###font.face.default=Verdana Solsticio
    ###font.face.weight.embolden=0
    ###font.kerning.enabled=0
    ###window.landscape.pages=1
    ###window.rotate.angle=0
    ###window.status.battery=1
    ###window.status.battery.percent=1
    ###window.status.clock=1
    ###window.status.line=0
    ###window.status.title=1
    ### ----- Aqui finliza cr3-fb2.ini
    --------------- 8< --------------

  2. #2
    Veteran@ en el foro Avatar de Tirwal
    Fecha de ingreso
    30 nov, 09
    Mensajes
    294

    Predeterminado

    Hola:

    ¿El V5 no lleva el BookShelf nuevo de Buggins?. Si lo lleva y se pueden configurar los tipos de fichero que se pueden abrir, se le puede dar soporte a los ODT con el siguiente script:

    #!/bin/sh

    mv $1 $1".epub"
    adobeviewer $1".epub"
    mv $1".epub" $1

    Se guarda con el nombre que se quiera y se llama desde BS. Esto debe hacerse así porque el ADE detecta las extensiones, y no permite intentar mandarle abrir un archivo que no sea PDF, EPUB, o ECM.

    Salu2

  3. #3
    Veteran@ en el foro Avatar de solsticio
    Fecha de ingreso
    28 feb, 09
    Mensajes
    470

    Predeterminado

    Cita Iniciado por Tirwal Ver mensaje
    ¿El V5 no lleva el BookShelf nuevo de Buggins?. Si lo lleva y se pueden configurar los tipos de fichero que se pueden abrir, se le puede dar soporte a los ODT con el siguiente script:

    #!/bin/sh

    mv $1 $1".epub"
    adobeviewer $1".epub"
    mv $1".epub" $1

    Se guarda con el nombre que se quiera y se llama desde BS. Esto debe hacerse así porque el ADE detecta las extensiones, y no permite intentar mandarle abrir un archivo que no sea PDF, EPUB, o ECM.
    En mi v5 no reconoce los odt. Pero pienso probar tu escript añadiendo los odt al firmware v5 que estoy preparando para mi hermano. Ya comentaré el resultado. Gracias.

    Renombrando un odt a odt.epub me lo abre supongo que con el ADE que tu comentas (es que a mi sacándome del coolreader me pierdo bastante).

    Acabo de meterme en el ordenador del trabajo, donde tengo el v5 despedazado y en el filetype.conf indica que se abre con "adobe" (que creo es el ADE), como alternativo (pulsación larga) tiene coolreader.

    Yo en vez de renombrar crearía un enlace (por ejemplo a aux.odt.epub) al odt y sería el que abriría con el adobe. Así, si peta, el fichero original no quedaría renombrado a epub. Bueno, son distintas tácticas, aunque la más sencilla es meter el odt renombrado a epub.

    A lo mejor añadiendo la extension ODT al filetype.conf sí los abre directamente sin necesidad de renombrar. Es que me parece de tontos eso de renombrar, como tirar piedras a tu tejado.
    Última edición por solsticio; 25/06/2010 a las 23:01

  4. #4
    Veteran@ en el foro Avatar de Tirwal
    Fecha de ingreso
    30 nov, 09
    Mensajes
    294

    Predeterminado

    Hola:

    No funciona como dices. Ya lo probé. En el filetype.conf tienes que poner los ODT que te los abra con ese script. Si tratas de crear un enlace te dará error porque sólo se pueden crear enlaces en discos de tipo ext3 o ext4. La SD supongo que la tendrás formateada a FAT32. Así que error al canto. ADE sólo carga los archivos que acaban en las extensiones que reconoce, por lo que la apertura directa es imposible (al menos en el V3ext). Intenté añadir al ejecutable la extensión ODT, pero no hubo manera. De todas maneras si tienes tiempo, pruebas y ya contarás...

    Salu2

  5. #5
    Veteran@ en el foro Avatar de solsticio
    Fecha de ingreso
    28 feb, 09
    Mensajes
    470

    Predeterminado

    Cita Iniciado por Tirwal Ver mensaje
    No funciona como dices. Ya lo probé. En el filetype.conf tienes que poner los ODT que te los abra con ese script. Si tratas de crear un enlace te dará error porque sólo se pueden crear enlaces en discos de tipo ext3 o ext4. La SD supongo que la tendrás formateada a FAT32. Así que error al canto. ADE sólo carga los archivos que acaban en las extensiones que reconoce, por lo que la apertura directa es imposible (al menos en el V3ext). Intenté añadir al ejecutable la extensión ODT, pero no hubo manera. De todas maneras si tienes tiempo, pruebas y ya contarás...
    Pues me ha funcionado. Ahora mismo estoy viendo un odt que es un enlace.

    Si puede crear enlaces a ficheros en fat32 siempre que el enlace esté en una partición ext2 (en este caso jffs2).

    Te pongo el script (que he llamado odt) situado en /root (al igual que el adobe):
    ------------------ 8< ----------------- 8< -----------------
    #!/bin/sh
    if [ -L /jffs2fs/aux.epub ]; then
    rm /jffs2fs/aux.epub
    fi
    ln -s $1 /jffs2fs/aux.epub
    if [ -L /jffs2fs/aux.epub ]; then
    /root/adobe /jffs2fs/aux.epub
    rm /jffs2fs/aux.epub
    fi
    ------------------ 8< ----------------- 8< -----------------

    Compruebo que el enlace existe, si lo hay me lo cargo, luego creo el enlace al nuevo archivo odt. Ejecuto el adobe. Al cerrar el adobe me curo en salud y borro el enlace. Es fácil ver que el truco es crear el enlace en jffs2fs. Hay que aprovecharse del único sitio en que me deja escribir.

    Y aquí el añadido al filetype.conf (es un corta y pega). Solo me falta crea un icono para odt para no usar el de los pdf.
    ------------------ 8< ----------------- 8< -----------------
    [odt]
    ext=odt
    exec=odt
    param=
    lib=
    propslib=
    icon=pdficon.png
    ------------------ 8< ----------------- 8< -----------------

    ¡ Guay, mi v5 ya lee odt !. Aunque yo solo leo fb2.

    No se acerca ni de lejos a la versatilidad del openinkpot pero uno se va apañando. Gracias.
    Última edición por solsticio; 26/06/2010 a las 08:44

  6. #6
    Veteran@ en el foro Avatar de Tirwal
    Fecha de ingreso
    30 nov, 09
    Mensajes
    294

    Predeterminado

    Hola:

    No me había acordado de esa partición. Le echaré un vistazo. Muchas gracias.

    Salu2

  7. #7
    Veteran@ en el foro Avatar de Tirwal
    Fecha de ingreso
    30 nov, 09
    Mensajes
    294

    Predeterminado

    Hola de nuevo:

    A tu script le veo un par de problemas. No se quedará correctamente reflejado el libro en Leídos Recientemente, y no me gusta mucho ir borrando y escribiendo en la memoria NAND. Por lo demás rula estupendamente. Yo de momento seguiré con mi "chapucilla", para mantener lo de Leídos Recientemente fundamentalmente, aunque con tu script se podría hacer algo parecido, pero sería menos seguro que lo que tú has hecho, ya que al poder variar el nombre podríamos encontrarnos con cantidad de basura en jjfs2fs sin darnos cuenta.

    En otro orden de cosas he intentado hacer un script para descomprimir un zip, pero a pesar de que aparece el comando unzip, me parece que no está incluido en la busybox. Si te aburres échale un vistazo. Una manera de ver los LIT correctamente sería descomprimir el archivo content contenido en el LIT, y guardarlo con extensión HTML para que lo abriese CR. Los LIT están comprimidos con LZH. He visto que tambien está el descompresor incluido, pero para las probatinas he utilizado un zip. De momento nada de nada. Los comandos se pueden consultar buscando info en google sobre busybox, ya que hay algunos ligeramente diferentes al linux estándard.

    Salu2 y espero que tu hermano no te machaque a besos y abrazos al recibir el maquinón que le estás preparando.

  8. #8
    Veteran@ en el foro Avatar de solsticio
    Fecha de ingreso
    28 feb, 09
    Mensajes
    470

    Predeterminado script tonto de información.

    Pues aquí un script tonto que nos da información del sistema de nuestro hanlin:

    Se corta, se genera un un archivo .exe.fb2 (info.exe.fb2) y se abre cual libro. Creo que funcionará con todos los firmwares salvo openinkpot, aunque para éste carece de sentido.

    --- 8< --- 8< --- 8< --- 8< --- 8< ---
    #!/bin/sh

    fecha=`date`
    echo "Este archivo ha sido generado el $fecha" > /jffs2fs/aux.txt
    echo --- >>/jffs2fs/aux.txt
    echo --- >>/jffs2fs/aux.txt
    echo --------- INFORMACIÓN DE VERSIÓN >> /jffs2fs/aux.txt
    cat /proc/version >> /jffs2fs/aux.txt
    echo --- >>/jffs2fs/aux.txt
    echo --- >>/jffs2fs/aux.txt
    echo --------- PARTICIONES MONTADAS >> /jffs2fs/aux.txt
    cat /proc/mounts >> /jffs2fs/aux.txt
    echo --- >>/jffs2fs/aux.txt
    echo --- >>/jffs2fs/aux.txt
    echo --------- MEMORIA >> /jffs2fs/aux.txt
    cat /proc/meminfo >> /jffs2fs/aux.txt
    echo --- >>/jffs2fs/aux.txt
    echo --- >>/jffs2fs/aux.txt
    echo --------- INFORMACIÓN DE LA CPU >> /jffs2fs/aux.txt
    cat /proc/cpuinfo >> /jffs2fs/aux.txt
    /root/cr3 /jffs2fs/aux.txt
    rm /jffs2fs/aux.txt
    --- 8< --- 8< --- 8< --- 8< --- 8< ---

  9. #9
    Veteran@ en el foro Avatar de solsticio
    Fecha de ingreso
    28 feb, 09
    Mensajes
    470

    Predeterminado

    Cita Iniciado por Tirwal Ver mensaje
    Hola de nuevo:

    A tu script le veo un par de problemas. No se quedará correctamente reflejado el libro en Leídos Recientemente, y no me gusta mucho ir borrando y escribiendo en la memoria NAND.
    En leídos recientemente del bookshelf (espero escribirlo bien) si queda reflejado, pues éste no abre el enlace, se abre con el .odt.

    En cuanto a lo de escribir en la memoria, es muy poquito pues solo es la información del enlace (no se escribe el libro).

    Lá mayor pega es que todos los "odt" se abrirán con el mismo archivo (aux.epub) por el adobe y no se como guardaría la información sobre el archivo (página que está y demás tonterías). No creo haya mucho problemas siempre que no se mezclen odt. Y podemos evitar el aux cambiando "aux.epub" por "$1.epub" (si hay rutas en el nombre pues se quitan con basename)

    De todas maneras es sólo una probatura más. No le veo mucho sentido a los odt en el hanlin. Y todo por la cerrazón de no admitir directamente la extensión odt por parte del adobe.

    En otro orden de cosas he intentado hacer un script para descomprimir un zip, pero a pesar de que aparece el comando unzip, me parece que no está incluido en la busybox. Si te aburres échale un vistazo. Una manera de ver los LIT correctamente sería descomprimir el archivo content contenido en el LIT, y guardarlo con extensión HTML para que lo abriese CR. Los LIT están comprimidos con LZH. He visto que tambien está el descompresor incluido, pero para las probatinas he utilizado un zip. De momento nada de nada. Los comandos se pueden consultar buscando info en google sobre busybox, ya que hay algunos ligeramente diferentes al linux estándard..
    Le echaré un vistazo. En último caso no creo que sea muy difícil el compilar el zip para el hanlin a la manera del coolreader.
    Última edición por solsticio; 26/06/2010 a las 20:00

  10. #10
    Veteran@ en el foro Avatar de solsticio
    Fecha de ingreso
    28 feb, 09
    Mensajes
    470

    Predeterminado

    Cita Iniciado por Tirwal Ver mensaje
    En otro orden de cosas he intentado hacer un script para descomprimir un zip, pero a pesar de que aparece el comando unzip, me parece que no está incluido en la busybox.
    En el v5 unzip sí está incluido en el busybox. Funciona como he podido comprobar con un simple script para descomprimir un zip de prueba. Al menos en el v5 y supongo que en el resto de la familia de Buggins.

    El que no he encontrado por ningún lado es el LHA. Ni por el V5 ni por openinkpot.

Temas similares

  1. Fuentes para el Hanlin V3
    Por markmtc en el foro Papyre
    Respuestas: 3
    Último mensaje: 13/12/2010, 11:44
  2. Respuestas: 5
    Último mensaje: 24/05/2010, 08:29
  3. Respuestas: 3
    Último mensaje: 06/01/2010, 09:50
  4. Respuestas: 9
    Último mensaje: 01/08/2009, 03:26
  5. ¿Para cuando el hanlin V9??
    Por monje en el foro Otros E-readers
    Respuestas: 3
    Último mensaje: 26/05/2009, 14:04

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •