Mostrando entradas con la etiqueta cyanogen. Mostrar todas las entradas
Mostrando entradas con la etiqueta cyanogen. Mostrar todas las entradas

viernes, 7 de febrero de 2014

Modo recovery en Cyanogen 10.2.1

Como ya sabéis, el otro día tuve que reinstalar mi móvil. Le puse la Cyanogen 10.2.1 estable. Pero, me he encontrado con que a la hora de reiniciar ya no me salen las opciones de seleccionar si quiero hacerlo normalmente o en modo recovery. Bien. Me he puesto a buscar y he encontrado la solución. ¡Ojo! Que algún cambio posiblemente no se pueda echar para atrás.

Tenemos que ir al menú ajustes. Desde ahí, visitaremos la sección información del teléfono. Tendremos que seleccionar el build de la instalación, lo que en español pondrá como número de compilación. Ahora, haremos "click" 7 veces. Y esa es la cosa que no creo que se pueda deshacer. Ahora que hemos hecho esta operación, hemos activado el modo desarrollador.

Salgamos de este menú, pero sigamos en ajustes. Visitemos opciones de desarrollo. Mucho ojo con lo que se toca, que se podría liar parda. Ahora tendremos que marcar el checkbox de la sección que dice reinicio modo avanzado.

Ahora, si le damos al botón de encendido y apagado del terminal, cuando nos ofrezca reiniciar, podremos ver que ya podremos elegir si queremos reiniciar en modo normal o en recovery.

No voy a negar que ahora mismo me hace falta esto porque ya no soy capaz de lanzarlo con la combinación de botones. Pero bueno...

Por cierto: dos fuentes de donde he sacado el manual:


  1. http://code.rawlinson.us/2013/05/enable-advanced-reboot-options-on.html: dice que hay que buscar debajo de interfaz. En mi caso no hace falta, y eso que lo he buscado. Además, no hay forma de poner el modo bootloader (¿será el download?)
  2. https://plus.google.com/+CyanogenMod/posts/iWRWc4bdXJb: Razones por las que han hecho este desaguisado.

lunes, 3 de febrero de 2014

El móvil se reinicia constantemente

¡Ojo! Cualquier cosa que hagas aquí puede empeorar el estado de tu dispositivo. Atente a las consecuencias  que yo no seré el responsable. Si lo vas a seguir, te recomiendo que te lo leas entero, te hagas un croquis y después, si tienes ganas, ya hacer estos pasos.

Ayer jueves 30 de enero de 2013 me sucedió lo siguiente: estaba dándole al móvil en el tren de camino al trabajo, leyendo los feeds que tenía pendientes, enviando algún que otro tweet al respecto, cuando el sistema empezó a cerrarme el gReader, mi lector de feeds. Tras varios intentos de volverlo a abrir, decidí que iba a ser mejor reiniciar. ¡Mala decisión! Desde entonces no ha vuelto a ser el mismo. :(

Justo cuando estaba reiniciando, la pantalla con el hombrecito azul de CyanogenMod, el splash del sistema, se quedaba ahí, moviéndose como siempre lo hacía, pero esta vez in eternum.

Splash del CyanogenMod instalado en mi móvil
Splash del CyanogenMod instalado en mi móvil
Después de muchos intentos de intentar acceder al modo recovery, no lo conseguí. Hasta que un buen compañero de curro me advirtió de que estaba haciendo mal las combinaciones de teclas: Vol-up + home + [encendido]. Sólo conseguí acceder unas pocas veces las cuales vacié las distintas cachés que se me ocurrieron. Pero algo hice mal, o lo que sea, que ya ni siquiera me sale esta pantalla. Pero, hay otra cosa más que sí que conseguí hacer antes de llegar al modo recovery y que aún puedo hacer: es entrar en el modo download: mientras le das al botón de encendido (mejor, que este sea el último en darle), aprieta: Vol-down+home. Y me sale el modo download:

Download mode
Download mode
Según he podido averiguar, en este modo es como hay que ponerlo para que el software de actualización del sistema Odín pueda realizar sus tareas. Pero antes de machacar todo el sistema, quiero probar otra cosa. Porque según he podido averiguar, hay otro modo que se llama fastboot, que es similar al download, pero con más cosas. Y que me podría ser mejor. A ver si puedo saltarme el proceso de reinstalar.

Además, si por un casual no puedes acceder a este modo, he visto una serie de vídeos en youtube que te ofrecen montarte un micro-usb que hará que entre directamente en este modo. Busca: usb jit samsung y los verás. Según dicen es sencillo: 3 resitencias de 100 kilo-ohmios, para 0,25wa cada una de ellas y... Bueno. Mira los vídeos y a ver si te sale. 

Como podréis comprobar, estoy escribiendo esto a medida que voy probando cosas.

Una de las primeras cosas que he querido hacer ha sido mirar si utilizando el comando adb, que se encuentra en el paquete de las SDKs de android, podía acceder al sistema o forzarle a reiniciarse. Todo esto, evidentemente, estando en el único modo que se puede encontrar: modo download. Pero como no me encuentra el dispositivo, de momento no he podido tirar por aquí.

Voy a tirar por una herramienta que están recomendando ahora en el wiki de CyanogenMod: Heimdall. Sólo hay que descargarlo y descomprimirlo.

He hecho una cosa que no he me ha hecho mucha gracia, pero bueno, de perdidos al río. Después de aplicar su programa zadig.exe para actualizar o cambiar el driver (con el riesgo que ello conlleva), he querido tirar directamente de la línea de comandos del propio heindall pero no ha sacado la información esperada. Para resumir: ejecutamos el heimdall-frontend y vamos a utilities:

Heimdall-Frontend: utilities
Heimdall-Frontend: utilities
En este caso he podido encontrar distintas particiones o entradas. Algunas llaman la atención como la que hace referencia a RECOVERY o FACTORYFS. Al menos puedo ver que hay forma de sacar algo de información estando en este modo.

Voy a tirarme a la piscina: voy a poner un recovery.img obtenido de la ¿distribución? Replicant. A ver si hay suerte y así puedo acceder otra vez al modo recovery. Si no fuese así, buscaría la forma de poder poner o configurar el bootloader (o buscar a ver si hay algo que le haga referencia junto con esta herramienta). En última instancia, haría una reinstalación perdiendo todos los datos. 

Muy bien, dos noticias: la mala es que por interfaz gráfica no me ha funcionado:

Heimdall: flashing desde entorno gráfico

Fundamentalmente: se selecciona el fichero PIT de antes. Se busca la imagen que vamos a flashear. Después, seleccionamos la partición deseada en el combo y al hacer click sobre el botón add se queda seleccionada. Después puedes ir repitiendo el proceso con el resto de particiones con sus respectivas imágenes. El botón remove quita la modificación de la partición seleccionada. Al hacer click sobre el botón start comienza el proceso. Pero a mi no me ha funcionado.

Ahora, si se hace con el modo consola, ha reaccionado bien, pero tampoco he avanzado en mi problema:

heimdall flash --RECOVERY rutaImg.img
Donde --RECOVERY es el nombre de la partición deseada a la que le vamos a flashear la imagen.

Este no me ha funcionado. Lo que he hecho ha sido bajarme el fichero de semaphore al que hace referencia el manual de Cyanogen. Lo he lanzado desde la interfaz gráfica, ya que esta vez el cmd no ha funcionado. No tiene sentido, lo se. Pero estoy intentando recuperar el móvil. De todas formas, cada vez me dá la sensación de que ya lo he perdido todo y que lo más sencillo sería reinstalar (ya de paso, poner una versión superior a la que tenía). 

Por lo tanto: después de aplicar el contenido del zip de semaphore al KERNEL (repito: KERNEL), se consigue:
  • Que ya no aparezca el screen que aparecía del cyanogen anterior (lo que me ha hecho sospechar que lo he perdido).
  • Que apretando los botones VolUp+Home+Encendido (esto último lo he hecho a ver si colaba). A los pocos segundos me ha salido el recovery. Con errores, pero me ha salido (que ya es un avance).
Errores que muestra:

E:failed to open /etc/recovery.fstab
E:unkown vlolume for path [/cache/recovery/command]
E:Can't mount /cache/recovery/command
E:unkown volume for path [/cache/recovery/log]
E:Can't mount /cache/recovery/log
E:Can't open /cache/recovery/log
E:unknown vlolume for path [/cache/recovery/last_log]
E:Can't mount /cache/recovery/last_log
E:Can't open /cache/recover/last_log
E:unknown volume for path [/cache/recovery/command]

Por lo tanto, vamos a ver si hay algo que se pueda hacer para lanzar el sistema. Que no pueda hacer cosas con los logs lo arreglaré más tarde.

 Dando la recuperación total por perdida, voy a hacer la instalación de la última versión estable del sistema. Tocaré madera para que los datos de la tarjeta sd interna estén intactos, aunque lo dudo mucho. Música, fotos, vídeos... Al menos hace poco se me ocurrió cogerme bastante datos del móvil. Pero había cosas que sí que tenía interés en mantener, sobretodo las que procedían de ciertas aplicaciones.

Hay que conseguir pasar el fichero de instalación al dispositivo. Y como también está dando problemas el montaje de la sdcard interna... A ver qué encuentro para solucionarlo.

Alguna cosa he podido encontrar como que a veces se hace una especie de USB brick. Como no consigo que mi Windows reconozca el móvil para utilizar los comados adb y fastboot, voy a enchufarlo a otro ordenador con una debian y que le he instalado las herramientas android-tools-fastboot, android-tools-adb y android-tools-fsutils. Esta prueba tampoco me ha salido. 

Como tengo descomprimido el fichero de instalación que utilicé la anterior vez, he querido ver si enchufando el fichero boot.img que está dentro del zip puedo avanzar en algo, peo como se queja de que espera un fichero boot.bin voy a pasar. Eso sí, parece ser que hay quien dice que el loop en el arranque se puede solucionar cambiando el nombre de ese fichero por zImage y sustituir la parte de KERNEL tal y como he hecho antes. Si me fallase, volvería a poner el RECOVERY. Es más, voy a poner los dos a la vez para evitar tener que estar reiniciando y esas cosas. ¡Avance! Esto va en marcha: Después del proceso se ha reiniciado (como era de esperar), ha salido el logo de Samsung + Cyanogen y ha saltado directamente al recovery sin dar ningún mensaje de error. Creo que la versión del recovery es un poco anterior a la que me salía antes, pero esta vez no me muestra ningún fallo (de momento).

Bueno. A estas alturas no he conseguido recuperar el sistema tal y como lo tenía. Para que se entienda, se ha quedado como cuando tienes que tumbar el sistema del ordenador que, gracias a las particiones, tus datos quedan a salvo. Por lo tanto, y ya que parece que hay que reinstalar, subiré la última versión de Cyanogen para mi móvil. Para subirlo, y no me preguntéis por qué, ha funcionado el comando adb que se encuentra en la carpeta platform-tools del paquete de las SDKs de Android. El móvil está arrancado en el modo recovery. Si no tienes las SDKs en el PATH de tus variables de entorno, tendrás que irte directamente a la carpeta antes mencionada para ejecutarlo desde ahí:

adb push rutaFicheroROMParaInstalar/ficheroParaInstalar.zip /sdcard/

Tardará un poco. Nada unos dos o tres minutos, y ya es decir mucho. Ahora, con el fichero ya subido, podremos navegar por el menú, en el siguiente orden: 
  1. install zip from sdcard
  2. choose zip from sdcard
  3. Busca el fichero que acabas de subir, que se encontrará en la raiz (irás más rápido si pulsas el volúmen hacía arriba desde el principio, que te llevará a la parte de los ficheros que están en raíz y no tendrás que pasar por todos los directorios. 
  4. Cuando lo hayas seleccionado, confirma que vas a hacer la instalación.
Y... la primera vez que lo he lanzado ha fallado. La segunda vez que lo he lanzado no se ha quejado, pero al reiniciarse me ha vuelto a llevar al recovery, que se ve distinto al que estaba usando justo antes de reiniciarse. Volveré a probar a lanzar otra vez el instalador. Esta tercera vez está tardando bastante más. Hay que reiniciar a través del menú ya que no lo ha hecho por su cuenta. Otra vez en el recovery.

Hay distintos ejemplos para intentar solucionarlo, pero, en mi caso, aún no ha funcionado (sigo sin poder arrancar bien el teléfono):

adb reboot [bootloader|recovery]

Una de las dos opciones serviría, pero hace lo mismo. Lo que me indica que, o el bootloader está muerto y se está tirando de la siguiente opción o el bootloader es el mismo que el recovery. Y ya he intentado poner el boot.bin (renombrando el boot.img) pero nada.

La otra opción es ejecutar:

adb shell
echo boot | dd of=/dev/block/mmcblk0p3 bs=1 seek=0

Pero tampoco.

Tampoco ha funcionado intentando utilizar el Heimdall de distintas formas cambiando alguna de las particiones de antes por otras. Es más. Un detalle curioso: cuando tengo el móvil apagado y lo enchufo al USB, también se carga el recovery después de salga durante unos segundos una pila en la pantalla.

Vale. Esto es lo que he hecho: he flasheado otra vez el KERNEL de nuevo, y varias veces, en el siguiente orden:

  1. El semaphore: que, otra vez, al cargar el sistema, sale el recovery antiguo que no encontraba las carpetas y ficheros. 
  2. He cargado el boot.img de la última distribución que tenía instalada antes de instalar la última versión que me dio por cogerme (la estable), pero renombrándolo a zImage. Tampoco, la carga se paraba. Se me está ocurriendo que a lo mejor de haber hecho esto lo primero lo podría haber recuperado. Pero ya...
  3. Por último, he hecho lo mismo pero con, ahora sí, la última versión estable que me he bajado para tal efecto. Y, ahora sí que sí, ha arrancado (dado que el sistema en teoría ya estaba instalado desde hacía un buen rato).
En fin. Voy a ver si soy capaz de ponerle algunas cosas antes de irme a la cama, que empecé a escribir esto el viernes y estamos a domingo por la noche. 


Enlaces interesantes que he ido visitando (y que quiero conservar):

http://wiki.cyanogenmod.org/w/All_About_Recovery_Images
http://wiki.cyanogenmod.org/w/Fastboot
http://forum.cyanogenmod.com/topic/73505-cant-repair-bricked-i9000-with-odin-or-heimdall-or-adb/
http://forum.cyanogenmod.com/topic/58791-device-reboot-to-recovery-cm10/
http://forum.xda-developers.com/showthread.php?t=999097
http://glassechidna.com.au/heimdall/
http://android.stackexchange.com/questions/48417/cannot-boot-into-recovery-samsung-galaxy-s
http://androidforums.com/desire-all-things-root/579026-desperate-can-not-flash-rom-e-cant-mount-scard.html
http://androidforums.com/desire-all-things-root/503471-desire-all-things-root-guide.html


lunes, 6 de febrero de 2012

Flasheando el Android - Cyanogen

Creo recordar que hace un tiempo os comenté que me compré un Android. Era de segunda mano, comprado por eBay. Estuve tres días sin ponerle ni una sola contraseña. Al final, me atreví. Y sí, tendría que haberlo reseteado desde entonces. Más vale tarde que nunca.

La cosa es que quería tumbarlo. Hace unos meses me contaron de una ROM que va muy bien para el Samsung Galaxy S. Esa ROM  se llama CyanogenMod. Es lo que se llama una ROM cocinada. Bueno. Pues este viernes pasado, me puse a trabajar sobre ello.

¿Cómo la instalé? Me puse a buscar la documentación. Y, he de decir, que no está muy clara. Parece un poco anticuada... O que sirve para alguna versión del Android en concreto... No se. Ahí me arriesgué bastante.

Lo primero de todo, la información que puede ser de utilidad para hacer la instalación es encontrar el wiki. Sí. Lo primero que llama la atención, y es para volverse loco buscando, es que te lo muestran como si sólo fuese para actualizar tu versión de Cyanogen. Después descubres en un foro que dan a entender que ese es el sitio para seguir las instrucciones para la instalación.

Yo voy a decir los pasos que seguí, teniendo en cuenta que uno de los programas que pedían ya lo tenía instalado. Si vas a intentar hacer esto ten en cuenta que la garantía la invalidas y que puedes hacer lo que llamo embrickar al móvil. Embrickar, procedente del inglés to brick. Es decir, convertir el terminal en un ladrillo. Para el que no entienda este disclaimer: si te cargas el móvil, es tu responsabilidad (y no la mía) y no me vengas llorando.

Primero, descargar los ficheros necesarios. Serán el propio sistema operativo y el Market, que no está incluido en la instalación. Guárdalos en un lugar que sea fácil de acceder.
También tendrás que instalar lo que llaman... ClockworkMod. Yo ya lo tenía instalado. Siento no poder ayudaros en esto. :(

Conecta el terminal en el USB y aceptas que se ponga en ese modo. Tendrás que guardar los ficheros descargados (el sistema operativo y el Market) la raíz. A ver, podría ser en otro lugar que te ofrezca, pero será más fácilmente accesible después desde el móvil.

Lo siguiente es hacer una copia de seguridad de tu terminal, por si algo va mal. Los programas que usan ClockworkMod te permiten hacer una especie de imagen que almacenan el backup en alguna parte de la tarjeta interna. En este sitio parece que indican que, instalando el ClockworkMod, puedes reiniciar el equipo en modo recovery con

reboot recovery

Incluso en ese enlace parece que te indican cómo hacer la instalación de esta herramienta.

Para recapitular: hemos copiado los ficheros necesarios al móvil, hemos hecho un backup, hemos copiado los ficheros a una localización de nuestro disco duro (que nunca está de más) y acabamos de reiniciar en modo recovery.

Este modo es un menú en el que la pantalla no será tactil. Para navegar por los menús se utiliza el botón del volumen y para aceptar, se utiliza el botón central.

El siguiente paso es hacer un pequeño formateo o un wipe. Aquí es donde puede liarse un poco la cosa. No lo explican del todo bien. Yo hice una eliminación de TODOS los datos y de la caché. Cuando se acaba el proceso y ya tienes el terminal operativo, no se sabe muy bien qué ha eliminado porque te encuentras con muchos datos que ya tenías. Pero hay que hacerlo según las instrucciones. Así que...

Ahora, tendrás que seleccionar en el menú Install zip from sdcard y choose zip from sdcard. Tendrás que seleccionar el fichero zip que tiene el sistema operativo. Y aquí, tocará esperar hasta que te pida el PIN de tu tarjeta SIM.

Supongo que querrás el Market. Tendrás que volver a acceder al recovery y repetir la operación del párrafo anterior. Si no se te reinicia sólo, navega por el menú hasta el principal, en el que puedes hacer dos cosas: decirle que apague el terminal y encenderlo por ti mismo, ó, reiniciar (que no lo encontraba hasta que acabo de empezar a escribir este artículo).

Con el Market instalado, te queda recuperar las aplicaciones que instalaste con tu cuenta de Google. Te logueas como si estuvieses en gmail y las aplicaciones que tenías instaladas, te aparecerán como installed. No es del todo cierto, pero puedes volver a indicar que te la instale.

Ahora queda configurar el trasto a tu gusto.

Parece que es complicado, pero al final, una vez hecho, es una pequeña chorrada. El problema está en acostumbrarse al nuevo formato en el que te presentan las cosas, o el instalar el ClockworkMod.

Aún así, si queréis una pequeña ayuda de cómo se podría hacer, aquí os dejo un vídeo, en el que llama la atención el nombre del fichero de la imagen del sistema operativo (por eso también me mosqueaba bastante):



Como de costumbre, cualquier comentario, ya sabéis!!