Instalando Android Froyo 2.2.1 de G.O.T. en el Motorola Milestone usando Ubuntu

Al ver que la actualización a Froyo del Motorola Milestone por parte de Motorola esta como demorada, se me dio por averiguar como realizar esta actualización (además de estar estos días con ganas de hacer algo raro 🙂 ).

Para empezar, al no haber una actualización oficial a Froyo para el Milestone en ningún país aún, todas las versiones que están disponibles en internet son MODs realizados por varias comunidades. Entre estos MODS encuentro especialmente 2 para el Motorola Milestone:

1. G.O.T. 2.2.1: Una versión sin tantas cosas, casi de fabrica. Usan algunas cosas de una beta oficial que se filtró en internet.

2. CyanogenMod 6 for Milestone: Este es un port del popular MOD Cyanogen para Motorola Milestone, tiene casi todo el paquete de personalizaciones de Cyanogen, aunque debido a que tienen como restricción usar software libre, tiene muchos errores dado que no están usando paquetes de Motorola.

Entre las dos, he decidido irme por G.O.T. , la principal razón es que no me gusta tener cosas instaladas que yo no deseo. También es bueno recalcar que las dos comunidades han trabajado en conjunto en cada lanzamiento de sus MODs (eso es una comunidad!).

Antes de hacer toooodo el procedimiento, tengo una prioridad, realizar un backup completo del actual sistema, por si deseo restaurarlo en caso tal de necesitar enviar el equipo a Garantía (es bueno recordar que instalar cualquier tipo de MOD o rooteo de un equipo celular hace que se pierda la garantía del mismo)

Todo el procedimiento me tomó unas 2 hora, y es importante que el equipo este al 100% de batería. También es bueno saber que TODA la información de aplicaciones, datos etc será borrada (bueno, toda exceptuando la que esta almacenada en la memoria micro SD), por eso es bueno hacer un pequeño listado de sus cosas importantes y de las aplicaciones. Si usan el servicio y la aplicación AppBrain se pueden ahorrar un poco el recordar las aplicaciones que tenián instaladas. AppBrain permite tener una especie de sincronización de las aplicaciones que tenemos instaladas.

Descargo de responsabilidades: Dado que varios puntos de todo el proceso requieren modificaciones al sistema, es posible que queden con un gran pisapapeles, por eso me abstengo de asumir cualquier responsabilidad.

PARTE A: Desbloqueo del Bootloader

Para empezar, debido a que el Motorola Milestone tiene un bootloader protegido que solo permite realizar instalación de paquetes firmados, se debe primero quitar esa restricción. Es extraño que esta restricción no exista en el Motorola Droid, pero bueno, así son las compañías.

Existen varios tutoriales para Windows usando la aplicación RDS Lite, pero también es posible hacerlo en Linux descargando la herramienta sbf_flash.

Ahora, vamos a darle permisos de ejecución con el comando

chmod +x sbf_flash

Teniendo ya la aplicación, vamos a descargar un MODs que solo realiza el desbloqueo del BootLoader haciendo clic aquí.

Guardamos el archivo en la misma carpeta donde dejamos el programa sbf_flash y ahora vamos a ingresar en el modo BootLoader en nuestro Milestone, apagando el equipo y prendiéndolo teniendo presionadas las teclas de «Encendido» y «Arriba» (es el arriba del teclado direccional físico). Con esto entraremos a una pantalla que nos muestra la versión del BootLoader (en mi caso la versión 90.78).

En ese modo conectamos el celular al computador y ejecutamos el programa con la siguiente sintaxis:

sudo ./sbf_flash vulnerable_recovery_only_RAMDLD90_78.sbf

Nos arrojará unos mensajes de progreso similares a estos:

SBF FLASH 1.11 (mbm)

=== vulnerable_recovery_only_RAMDLD90_78.sbf ===
00: RDL03 0x82000000-0x8204CFFF F125 AP
01:  CG47 0xB0EE0000-0xB12A07FF 679E AP

Milestone found.
 >> uploading RDL03
Uploading: 100% OK
 >> verifying ramloader
 -- OK
 >> executing ramloader
Milestone found.
 >> sending erase
 >> uploading CG47
Uploading: 100% OK
 >> verifying CG47
 -- OK
 >> rebooting

Nuestro Milestone se reiniciará e iniciará de forma normal.

PARTE B: Instalación de G.O.T. Open Recovery 2.01

Open Recovery es una compilación de herramientas que permiten muchas funciones, entre otras realizar BackUps de nuestros teléfonos Android con Nandroid.

Para instalarlo debemos descargarlo desde uno de los sitios disponibles en este vinculo. Una vez descargado, descomprimimos el archivo y tendremos varias carpetas, deberemos copiar las carpetas OpenRecovery-CFG, OpenRecovery y el archivo update.zip a la carpeta raíz de la memoria micro SD del teléfono, esto lo hacemos simplemente conectando el teléfono al computador y pasamos el archivo de forma normal.

Al copiarlos, debemos poner en el archivo /OpenRecovery-CFG/GOT_2.2.1/own_id.cfg nuestro Android ID, este lo obtuve usando la aplicación Android ID changer (https://www.appbrain.com/app/android-id-changer/adaptive.cogid). Este código es importante para la identificación del equipo en el Android Market.

Así mismo, en el archivo /OpenRecovery-CFG/GOT_2.2.1/remove.cfg esta un listado de las aplicaciones que más adelante (en la Parte D) desinstalaremos si no las consideramos necesarias. Simplemente comenten (poniendo el símbolo # al iniciar la linea) los programas que no deseen desinstalar.

Una vez copiados los archivos, vamos a iniciar Android en modo de recuperación. Apagamos nuestro equipo y lo volvemos a prender, pero esta vez presionando las teclas «Encendido» y «X» del teclado físico. Aparecerá una pantalla con un signo de admiración, aquí presionamos la tecla «Subir Volumen» y «Cámara» (las dos están al costado derecho del teléfono), por una extraña razón esto puede tardarse un poco o no funcionar, simplemente intenten combinaciones de las teclas de volumen y cámara hasta que aparezca el menú de recuperación.

En el menú seleccionamos con las teclas de dirección del teclado físico la opción:

apply sdcard:update.zip

Presionamos el botón dorado de selección de las teclas de dirección y empezará la instalación de Open Recovery. Esto tardará unos minutos, luego nos aparecerá el menú de G.O.T. Open Recovery, en este menú tenemos muchas opciones, pero la que usaré para hacer el backup esta en:

Nandroid -> New Nandroid System (1.45) -> Open Nandroid Menu -> Backup -> Backup All

Con esta opción iniciará la realización completa del backup del sistema actual (aunque según leí las carpetas importantes son system y data), esto tarda varios minutos, luego de esto si podré con tranquilidad hacer pruebas con MODs 🙂

El backup se guardará en la carpeta /nandroid/openrecovery/ de la tarjeta de memoria, para en caso de ser necesario volver a mi versión original, por eso es bueno respaldar estos archivos en el computador o en otra memoria externa.

Salimos y reiniciamos el equipo con la opción «Reboot System».

PARTE C: Instalación de G.O.T 2.2.1

Ahora sí, a realizar el paso para cumplir el objetivo principal, la instalación de un MOD con Froyo, aunque siguiendo estos mismos pasos es posible instalar otros MODs y versiones (ojalá salga en unos meses la actualización a Gingerbread para Milestone!!!)

Este paso es muy similar a la Parte A de desbloqueo del bootloader, solamente que el archivo que vamos a usar es distinto.

Para esto descargamos el archivo GOT_TELUS_2_2_1FULL.zip lo descomprimimos y tendremos el archivo GOT_TELUS_2_2_1FULL.sbf. Este archivo es de Canadá, sin embargo como manejan las mismas frecuencias que Tigo en Colombia (1900 MHz) es recomendado (posiblemente funcione también para otros operadores en Latinoamérica).

Iniciamos de nuevo el equipo en modo bootloader presionando la tecla de Encendido y Arriba, una vez que estemos en el bootloader, conectamos el celular al computador usando el cable USB y ejecutamos el siguiente comando:

sudo ./sbf_flash GOT_TELUS_2_2_1FULL.sbf

Luego de unos angustiantes minutos y de 2 reinicios, nuestro celular tendrá Android Froyo 2.2.1 !!!!

Ya solo queda, configurar de nuevo nuestro equipo (cuenta de Gmail, idioma, etc), y… la Parte D.

PARTE D: Configuraciones adicionales y corrección de errores

Como nada es perfecto en la vida, este procedimiento con lleva a unos pequeños problemas que pueden ser solucionados:

  • Corrección de Bugs: Debemos iniciar en modo recuperación y luego a Open Recovery, como se mencionó en la Parte B. Ahí seleccionamos la opción Launch 2.2.1 Menu -> Fix 2.2.1 Bugs. Esto reparará algunos los errores comunes (como la doble notificación al conectar el teléfono al computador por USB). Ahora vamos a la opción Fix Android_ID Bug Menu -> Set Own Android_ID (own_id.cfg). Listo, ya solucionamos varios errores.
  • Configuración de los APN: ¿Si se dieron cuenta, al intentar configurar su cuenta de Gmail al inicio no lo pudieron hacer porque no tienen conexión a Internet?, para corregir esto debemos descargar el archivo APN.zip y guardarlo en la carpeta /OpenRecovery/updates/ . Una vez realizado esto vamos a iniciar en modo de recuperación apagando el equipo y prendiéndolo manteniendo presionada las teclas «Encendido» y «X», luego en la pantalla con el signo de admiración presionar la tecla «Subir Volumen» y «Cámara», luego entran a «apply sdcard:update.zip» y en el menú de Open Recovery van a Miscellaneous Menu -> Apply Update y seleccionan el archivo APN.zip. Una vez hecho esto reiniciamos el equipo y habilitamos los APN en el menú de Android: Ajustes -> Configuración de inalámbricas y redes -> Redes móviles -> APN y presionar el motón menú de su teléfono y seleccionar la Opción «Valores predeterminados». Listo, con esto nos aparecerá (en mi caso) el APN de Tigo y ya tendremos internet móvil.
  • Corrección de aGPS: El GPS de nuestro equipo puede perfectamente funcionar sin conexión de datos, sin embargo activando el aGPS (Assisted GPS) es posible reducir considerablemente la búsqueda de satélites y por ende se aumenta su eficiencia a la hora de buscar la posición actual. Lastimosamente como esta ROM es para el operador Telus de Canadá, las configuraciones de aGPS están con este operador, para cambiarlas debemos primero descargar Root Explorer. Una vez descargado lo instalamos, lo abrimos y editamos los archivos /data/location/location.cfg y /system/etc/location.cfg modificando las siguientes líneas (para editar alguno de estos archivos se debe montar en Modo Escritura/Lectura el directorio haciendo clic en el ícono «Mount R/W» en Root Explorer):
    hslp_address = supl.telusmobility.com:7275
    default_hslp_address = supl.telusmobility.com:7275
    DL_LCS_DEFAULT_DATA_PROFILE = CingularWap

    por

    hslp_address = <strong>supl.google.com:7275</strong>
    default_hslp_address = <strong>supl.google.com:7275</strong>
    DL_LCS_DEFAULT_DATA_PROFILE = <strong>Colombia:Tigo:Web:1</strong>

    Esto es válido para Tigo Colombia, si están en otro país u operador, deben poner el nombre exacto del APN de datos (no el de multimedia) que tienen configurado (Ajustes -> Configuración de red e inalámbrica -> Redes móviles -> APN) en el campo DL_LCS_DEFAULT_DATA_PROFILE.

    Luego reinician y ya tendrán configurado correctamente el GPS asistido.

  • Habilitación del compilación en tiempo de ejecución (JIT) y aumento de memoria: Según usuarios de G.O.T. la gran utilidad de JIT que realice una importante mejora en el sistema no esta configurada. Para activarla debemos usar Root Explorer y editar el archivo /system/build.prop agregando al final la linea:
    dalvik.vm.execution-mode=int:jit

    Y ya que estamos en esas, podemos ampliar un poco la memoria del sistema modificando el parámetro dalvik.vm.heapsize que se encuentra en el archivo con el valor 24m a 32m quedando así

    dalvik.vm.heapsize=32m
  • La última versión de MotoTorch no funciona: Parece que hay problemas con esta aplicación, el error es de la aplicación en sí, y el desarrollador ya lo esta revisando, ahora, si necesitan la aplicación, pueden descargar esta que funciona con Froyo: Mototorch v2.8
  • Error de sonido al usar la búsqueda por voz o grabar: Lastimosamente este error aún no ha sido solucionado y varia gente ya lo ha reportado. El problema es que después de realizar una búsqueda con la funcionalidad de búsqueda por voz, o luego de grabar un video, cuando se bloquea la pantalla empieza a sonar un sonido molesto del parlante. Aunque hay una solución provisional, y es que después de realizar cualquiera de estas acciones, simplemente hacemos una acción que produzca un sonido (por ejemplo subir el volumen del timbre), de esta forma ya podemos bloquear la pantalla sin que el sonido aparezca.
  • Problemas con la aplicación de Facebook: En realidad es un problema del que ya tienen conocimiento y están intentando solucionar, pero no me a afectado mucho debido a que no tengo cuenta de Facebook. Según he leído el problema es con el consumo de memoria. Si saben la solución con gusto la publico.

Si tienen algún error adicional o conocen alguna forma de repararlo por favor indicarlo en los comentarios, con gusto actualizaré esta entrada!

Bueno, para terminar, me gustaría dar algunas apreciaciones de esta actualización:

  • Android 2.2 Froyo tiene algunas configuraciones adicionales, además de tener la ventaja de instalar aplicaciones que solo están disponibles para esta versión (Gmail, Youtube, Flash Player, etc).
  • En algunas aplicaciones (como la cámara) se nota una mejora considerable con respecto a la velocidad.
  • El reconocimiento de voz esta mejor integrado, por eso creo que lo usaré más a menudo.
  • El equipo inicia mucho más rápido.
  • Parece que hay algunos errores que están solucionados (como los reinicios inesperados, o que se ponga en altavoz el celular en una llamada).
  • Hay una opción muy valiosa para mi que permite finalizar la llamada presionando el botón «Encender»!! Weeeee!
  • Le sacaré muchísimo provecho a la opción de enviar aplicaciones a la tarjeta micro SD, dado que el Motorola Milestone tiene una capacidad de almacenamiento interno bastante pequeña (muchas veces me toco borrar aplicaciones por falta de espacio)
  • Android al igual que Ubuntu me tienen abrumado 😉

Fuentes:

http://blog.opticaldelusion.org/search/label/sbf_flash

http://android.doshaska.net/rootable

http://groupoften.wordpress.com/2010/10/22/new-g-o-t-openrecovery-v2-01-launched/

http://groupoften.wordpress.com/2010/10/16/g-o-t-2-2-1-released/

http://forum.xda-developers.com/showthread.php?t=698059

http://www.grupoandroid.com/blogs/okorn/8-%5Bg-o-t-%5D-firmware-2-2-1-v2-0.html

http://androidve.blogspot.com/2010/10/arreglando-el-agps-en-got-telus-221.html

http://groupoften.wordpress.com/2010/10/16/g-o-t-2-2-1-released/comment-page-5/#comment-1846

  • Hola Julián, gracias por compartir 🙂

    A propósito de copias de seguridad, vale la pena rootear tu teléfono y user Titanium Backup para guardar informaciones importantes de cada aplicación . Pienso sobre todo en aplicaciones como K9 que tienen bastantes datos y resultan largas de re-configurar. Esto requiere accesso root.

    El root en este teléfono se logra fácilmente usando Androot:
    http://software2tech.com/2010/08/29/android-news-universal-androot-1-6-2-beta-5-released-and-available-for-download/

    Cabe anotar que este método NO modifica ni desbloquea el boot loader por lo tanto NO invalida la garantía del fabricante.

    Titanium backup:
    http://www.appbrain.com/app/com.keramidas.TitaniumBackup

    Y otra aplicación importante, para compartir wifi con más opciones que las que ofrece Android:
    http://www.appbrain.com/app/wireless-tether-for-root-users/android.tether

    Suerte,

    Fabian

  • n378urn3r

    He realizado la actualización y he echado en falta los últimos pasos .
    Gracias por compartir con nosotors.

  • Hola,
    (soy Francès e espagnol hago pobre espagnol)

    Julian escrito un buen artículo. Buen trabajo, muchas gracias!
    Quiero mencionar que escribí un artículo similar (en francés) que puede interesado. Usando cyanogenmod4milestone SBF_FLASH, Androidiani O, Banco Asiático de Desarrollo.
    Aqui
    http://www.le-jedi.com/?p=81

    Je la fait sereinement en français :
    Julian tu as écrit un bel article. Joli travail merci beaucoup !
    Je voudrais signaler que j’ai écrit un article similaire (en français) pour ce à qui ça pourrait intéresser. Utilisant cyanogenmod4milestone SBF_FLASH, Androidiani OR, ADB.

    Ici
    http://www.le-jedi.com/?p=81

    C’était juste pour pousser le schmilblick.

  • Radgost

    muchisimas gracias!

  • Excelente, me arriesgue con la aventura y lo logre gracias a tu tutorial, solo un consejo… cuando le daba al boton “Start” en el RSD Lite me dio un error diciendome que el telefono no estaba conectado, si les sucede lo mismo cambien de puerto o intentenlo en otro equipo.

  • Pingback: DiarioLinux » Froyo, G.O.T., Milestone y Motorola()

  • Emiliano

    Se agradece muchísimo esta información tan detallada! Me quedo una duda respecto (cito)

    Antes de hacer toooodo el procedimiento, tengo una prioridad, realizar un backup completo del actual sistema, por si deseo restaurarlo en caso tal de necesitar enviar el equipo a Garantía (es bueno recordar que instalar cualquier tipo de MOD o rooteo de un equipo celular hace que se pierda la garantía del mismo)

    Cómo realizas el backup completo del actual sistema para restaurarlo en caso que sea necesario?

    Saludos!

    • En el post lo explico, se hace usando Nandroid, es una aplicacion que permite crear un espejo de tu celular, y despues es posible restaurar esto usando Nandroid 🙂

  • Silvestre Figueroa

    Genial la aplicacion para planchar en Ubuntu… bah en linux.. muy buena.. es justo lo que necesitaba ya que generalmente esas aplicaciones son windozas.. muy buen aporte muy buen tuto!! GRACIAS!!

  • Marcelo

    hola, tengo un telefono de UK y lo quiero usar con movistar argentina , le puse telus 2.2.1 de canada y por ahora no tengo señal de telefonia, que me recomiendan hacer? graciasl slds.
    con el que venia de uk tenia telefonia y solo Edge…

  • Joseph Romero

    Buenas amigo, disculpe que entre tan tarde a su pagina web, veo que ya a pasado varios años desde la última pregunta que le hicieron. Pero la duda que tengo es si se puede utilizar el Open Recovery 3.3 que existe en la actualidad para seguir los pasos que recomiendan para la actualización a Froyo… Porque después de esto todavía me queda mucho camino más que seguir para llevarlo a CM9… Gracias…

    • Hola Joseph

      Hasta donde sé, siempre es recomendable usar las últimas versiones de todo el software, ahora, tal vez algunas partes de todo el proceso cambien… Aunque no creo que hayan muchos cambios.