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< --------------