Ir al contenido

Recommended Posts

2595I1s.jpg

 
Como podrán imaginar, el tema sobre el rooteo del ZTE Open tenía segundas intenciones y una vez le has cogido el gusto a trastear, dificilmente se puede parar :P
 
En este caso me he pensado seriamente dejarlo o no como manual, pues aparte de lo problemático que puede resultar, tampoco son métodos muy "prácticos", por así decirlo.
Empezaré hablando de todos los fracasos previos, por si a alguno se le ocurre adentrarse en alguno de esos campos, sepa a lo que se enfrenta.
 
En primer lugar, como ya comenté, tenemos que rootear el teléfono para tener por donde tirar. Afortunadamente, la solución a ese problema ha sido fácil de encontrar y ya está bien explicado en esta misma sección de manuales:
Rootear ZTE Open
 
Al igual que en el caso del rooteo, el resto de procesos también se apoyarán en la herramienta ADB. Sin embargo no podremos ir con ella tan lejos como nos gustaría en un principio.
 
De entrada, tras abrir una terminal remota con adb:

adb shell

Tendremos un sistema de archivos montado como sólo lectura, aún si ejecutamos

su

para obtener permisos de root en la terminal remota, no podremos modificar o añadir nada en la memoria del teléfono. Igualmente, adb no será capaz de subir archivos a la memoria del teléfono devolviéndonos el mismo error de "sistema de sólo lectura"

adb push application.zip /system/application.zip
failed to copy 'application.zip' to '/system/application.zip': Permission denied

 
En otros casos, esta situación podría solucionarse montando el sistema de ficheros con adb en modo lectora/escritura o bien iniciando adb directamente en modo root y luego partir desde ahí, pero nos topamos con un peuqeño gran inconveniente:
 

shiba@Shiba87:~$ adb remount
remount failed: Operation not permitted
shiba@Shiba87:~$ adb root
adbd cannot run as root in production builds

 
La única opción posible es volver a montar /system en modo lectura/escritura desde la propia terminal remota aprovechando que tenemos permisos de root en ella.

adb shell

Y una vez dentro

su
mount -o remount,rw /system

Y ahora es cuando tenemos que lidiar con el siguiente "pero" y es que a pesar de haber resulto el problema del sistema de ficheros, adb seguirá sin permitirnos subir ficheros a la memoria del teléfono:
 

adb push application.zip /system/application.zip
failed to copy 'application.zip' to '/system/application.zip': Permission denied

 
Podríamos pensar en subir los archivos a la tarjeta SD para lugo, desde la consola remota y ya adelanto que no podremos valernos ni de CP ni de MV o cualquiera de los comandos en los que hayamos pensado para trabajar, a excepción de RM si queremos vborrar algo:
 

shell@android:/ # cp origen/archivo destino/archivo
sh: cp: not found
mv origen/archivo destino/archivo
"failed on 'archivo' - Cross-device link"

 
La única solución que he podido encontrar para esto es utilizar una versión de Busybox para armV6 más reciente y completa que la que viene por defecto y trabajar en todo moneto desde temporales (Sn olvidar que estos se borran al reiniciar el teléfono, por lo que habrá que repetir siempre esta parte :icon_ouch: ).
 
Busybox lo podemos obtener desde aquí:
 
http://busybox.net/downloads/binaries/latest/busybox-armv6l
 
Y luego lo subimos con adb push a la carpeta de temporales. Además aprovecharemos para añadir el archivo que queramos añadir o que hallamos modificado y vayamos a sustituir:
 

adb push busybox-armv6l /data/local/tmp
adb push archivo-a-subir /data/local/tmp

Desde la tarminal remota , como root, damos permisos de ejecución a busybox para poder utilizarlo libremente:

cd /data/local/tmp
chmod 777 busybox-armv6l

En caso de querer sustituir algún archivo que hayamos modificado, primero lo tendremos que borrar utilizando rm, para luego copiar (Nunca mover)  el nuevo archivo, que previamente habremos subido a la carpeta de temporales,  en su lugar.
 
OJO Utilizando siempre el busybox que hemos subido a temporales, no el del teléfono

rm /system/ruta/archivo/sustituir
./busybox-armv6l cp archivo-a-subir /system/ruta/archivo/sustituir

Es conveniente reiniciar el teléfono para que tengan efecto los cambios que hallamos realizado

adb reboot



 
Vale Shiba, ya sé como se añaden archivos modificados al teléfono pero ¿Qué es lo que se puede modificar y cómo se hace?
 
No me dejan pasar una ¿Eh? :huh:
Vale, vale, pondré algunos ejemplos de lo que podemos modificar para tener un terminal un poco más a nuestro gusto.
 
Empezaré diciendo que en lo que respecta a la interfaz y las capas "superiores" de Firefox OS, en lo que tendremos que centrarnos es en GAIA:
https://wiki.mozilla.org/B2G/MarketCustomizations
 
Pero claro, nosotros no vamos a compilar una imagen completa de Firefox OS, sino modificar partes concretas de uno ya instalado, por lo tanto nos centraremos en los directorios localizados dentro de /system/b2g, que podrán observar que es muy similar a lo que podríamos encontrar en la carpeta del navegador Firefox.
 
 
Ejemplo 1: Eliminar/cambiar la molesta animación de inicio de Movistar del ZTE Open.
 

kIz7XKG.jpg

 
Supongo que a muchos se nos pondrá mala cara al arrancar el teléfono y tener que esperar a que termine la animación de una M verde y Azul y más si ni siquiera somos clientes de Movistar, así que ya sea por amor propio...digo.... estética o por ahorrar unos segundos en el arranque, podemos eliminarla.
 
En este caso concreto, el directorio nos interesa es /system/b2g/webapps/system.gaiamobile.org en esa ruta encontraremos un archivo comprimido llamado application.zip que contiene todos los archivos referentes a diversas configuraciones del sistema y que abtendremos gracias a adb pull:.

adb pull /system/b2g/webapps/system.gaiamobile.org/application.zip

Los archivos que corresponden a las animaciones de arranque y apagado se encuentra dentro del comprimido en la ruta /resources/power/
 
En caso de no querer ninguna animación en el arranque/apagado, lo único que tenemos que hacer es eliminar los dos archivos carrier_power_*.png sin alterar el resto del archivo .zip. Trabajaremos siempre sin descomprimir el contenido del zip. si queremos alterar algo descomprimiremos únicamente ese elemento y una vez modificado lo volveremos a introducir exactamente en la misma posición.
En caso de no querer eliminar la animación sino sustituirla por otra, lo único que tenemos que hacer es eliminar los archivos antiguos y sustituirlos por unos modificados por nosotros, respetando el mismo nombre. Podemos utilizar tanto animaciones de vídeo en formato mp4 o simplemente una imagen png, indicando ON para el arranque y Off para el apagado.

carrier_power_on.png
carrier_power_off.png
carrier_power_on.mp4
carrier_power_off.mp4

Una vez hemos terminado de modificar el archivo applications .zip, lo introduciremos de nuevo en el teléfono con el método citado en el apartado anterior, sin olvidarnos del archivo actualizado de busybox para poder moverlo después:

adb push application.zip /data/local/tmp/application.zip
adb push busybox-armv6l /data/local/tmp

Y mediante la consola remota volveremos a colocarlo en su lugar

adb shell
su
cd /data/local/tmp
chmod 777 busybox-armv6l
rm /system/b2g/webapps/system.gaiamobile.org/application.zip
./busybox-armv6l cp application.zip /system/b2g/webapps/system.gaiamobile.org/application.zip

 
Si no nos hemos equivocado, tras reiniciar el teléfono tendremos nuestra animación de arranque personalizada:
 

6t3HGA5.jpg




Ejemplo 2: ¿Tonos de llamada personalizados en Firefox OS? ¡Pues claro!
 
Creo que este ejemplo es de mayor interés que el anterior, pues como ya comentamos en las Crónicas de un pingüino con Firefox OS, a día de hoy no es posible utilizar tonos en un terminal con Firefox OS que no sean los que nos incluye el fabricante por defecto.

El procedimiento es muy similar al anterior, cambiando las rutas y editando las listas de tonos disponibles, además de añadir los archivos de audio que queremos utilizar como tono, por supuesto.

El directorio nos interesa esta vez es /system/b2g/webapps/settings.gaiamobile.org en esa ruta encontraremos un archivo comprimido llamado igualmente application.zip que contiene todos los archivos referentes a diversas opciones del sistema y que abtendremos gracias a adb pull:.

adb pull /system/b2g/webapps/settings.gaiamobile.org/application.zip

Los archivos que corresponden a los tonos de aviso y llamada se encuentran dentro del comprimido en la ruta shared/resources/media/, los tonos de llamada dentro ringtones y los avisos (mensajes sms, alertas) en notifications.

En ambos casos el procedimiento es exactamente igual. Debemos añadir el archivo que queramos que se reproduzca al recibir una llamada o un mensaje dentro de la carpeta correspondiente sefún sea un tono de llamada o de aviso y añadirlo a la lista list.json para que sea reconocido por el teléfono. El nombre del archivo puede ser el que queramos (sin espacios) siempre que lo indiquemos correctamente en la lista y los formatos soportados, .ogg u .opus

En el ejemplo añadiré un tono de alerta llamado Aviso_kira.ogg

Lo primero será añadirlo al comprimido applications.zip
 

Y dentro del archivo list.json añadimos el nombre del tono tal cual

{
  "Aviso_kira.ogg": "",
  "notifier_bell.opus": "",
  "notifier_dididi.opus": "",
  "notifier_rewind.ogg": "",
  "notifier_ting.opus": "",
  "notifier_bap.opus": "",
  "notifier_boomer.opus": "",
  "notifier_exclamation.ogg": "",
  "notifier_ring.ogg": "",
  "notifier_bell_extd.opus": "",
  "notifier_bop.opus": "",
  "notifier_minimal_bands.ogg": "",
  "notifier_spring.ogg": ""
  "notifier_kira.ogg": ""
}

Una vez hemos terminadas las modificaciones, volveremos a introducir applications.zip en el teléfono con el método citado en el apartado anterior, sin olvidarnos del archivo actualizado de busybox para poder moverlo después:
 

adb push application.zip /data/local/tmp/application.zip
adb push busybox-armv6l /data/local/tmp

Y mediante la consola remota volveremos a colocarlo en su lugar

adb shell
su
cd /data/local/tmp
chmod 777 busybox-armv6l
rm /system/b2g/webapps/settings.gaiamobile.org/application.zip
./busybox-armv6l cp application.zip /system/b2g/webapps/settings.gaiamobile.org/application.zip

Después de reiniciar el teléfono, el nuevo tono aparecerá en la lista dentro de opciones de sonido de Firefox OS:
 

zNYmMgC.png

Compartir este post


Enlace al post
Compartir en otros sitios

Hola,
Tengo un teléfono ZTE open y es "rooted".

cuando trato de eliminar el archivo application.zip.
Las respuestas del sistema

 

 

adb push application.zip /data/local/tmp/application.zip --- OK
adb push busybox
-armv6l /data/local/tmp--- OK

adb shell  --- OK

su --- OK

cd /data/local/tmp --- OK

chmod 777 busybox-armv6l --- OK

rm /system/b2g/webapps/system.gaiamobile.org/application.zip -- no functionna

 

rm failed for /system/b2g/webapps/system.gaiamobile.org/application.zip, Read-only file system

¿Me podrías ayudar?
No entiendo esta parte del sistema es de sólo lectura o cómo cambiarlo

Editado por poorkitty

Compartir este post


Enlace al post
Compartir en otros sitios

Antes de empezar a trabajar con los archivos del teléfono, tras acceder a la shell remota a través de ADB y loguearte como root, debes volver a montar el sistema de ficheros, pero esta vez como lectura/esscritura:

 

mount -o remount,rw /system
No habrá ninguna respuesta ni cambio apreciable, pero debería dejarte trabajar con los archivos del teléfono sin problemas

Compartir este post


Enlace al post
Compartir en otros sitios

muchas gracias, Ahora la copia está funcionando

 

sudo adb shell
su
mount -o rw,remount /system
cd /data/local/tmp
chmod 777 busybox-armv6l
rm /system/b2g/webapps/system.gaiamobile.org/application.zip
./busybox-armv6l cp application.zip /system/b2g/webapps/system.gaiamobile.org/application.zip

 

pero ahora cuando puedo reemplazar el archivo de la aplicación, no funciona.
por ejemplo, con el tono de llamada, me gustó el exemple pero cuando cambió el aplication.zip, veo un mensaje de error en las opciones.

 

File not found

app : / / settings.gaiamobile.org / index.html#root not found

 

Qué tenemos que cambiar los permisos de archivos o descomprimir en el teléfono o reorientar la aplicación de alguna manera o puede ser con la forma i comprimir archivos.

 

puede ser que hago algo mal, ya que con la aplicación (sistema) mi teléfono se quedó atascado y con la aplicación (configuración), me dieron el archivo no encontrado.

Por suerte me quedé un salvamento de los dos archivos..

 

¿Tienes alguna idea?

lo siento por mi español, pero yo soy un extranjero. :)

Editado por poorkitty

Compartir este post


Enlace al post
Compartir en otros sitios

Intenta trabajar paso a paso, haciendo pequeños cambios de cada vez.

 

Es importante que NO cambies los permisos de ningún archivo e intentes preservar intacto el appication.zip en la medida de lo posible.

 

Coge el archivo comprimido application.zip de tu teléfono y colócalo en algún directorio de tu PC pero no extraigas su contenido por completo. Extrae únicamente el archivo que quieras modificar y una vez hayas terminado de cambiar su contenido vuelve a colocarlo en su lugar dentro del application.zip. Luego sustituye el application.zip de tu teléfono por el que acabas de modificar, asegurándote de que está exactamente en la misma posición (Cuidado no confundas el application.zip de "sistema" con el application.zip de "configuración").

 

El proceso no es complicado, pero hay que ser bastante cuidadoso, cualquier cambio fuera de lugar dentro del application.zip hará que el teléfono tenga problemas para reconocerlo después.

Compartir este post


Enlace al post
Compartir en otros sitios

gracias! que está trabajando ahora.
sólo tienes que abrir el archivo zip y agregar lo que necesites.
Pensé que tenía que descomprimir todo, hacer los cambios y volver a comprimir. :icon_ouch:

 

si un día se crea un tutorial para actualizar b2g o gaia desde el repositorio git, voy a estar muy feliz. :rolleyes:

 

muchas gracias por su ayuda.

Compartir este post


Enlace al post
Compartir en otros sitios

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invitado
Responder en este tema...

×   Has incluido contenido con formato.   Eliminar formato

  Sólo se permiten 75 emoticonos como máximo.

×   Tu enlace ha sido insertado automáticamente.   Deshacer y mostrar como enlace

×   Su contenido anterior ha sido restaurado.   Limpiar editor

×   No puedes pegar imágenes directamente. Súbelas a algún hosting de imágenes y pega la dirección URL


×
×
  • Crear Nuevo...