sábado, 5 de noviembre de 2011

Rootear o no rootear, he ahí la cuestión.

Ya comenté en una entrada anterior que iría contando poco a poco mi experiencia con mi teléfono Android, y el porqué de su elección. Hoy voy a hablar de algo que en su origen no fué uno de los  motivos de la elección de mi HTC Desire, pero que a posteriori la considero una de las razones más importantes para decantarse por el sistema operativo del robot verde: la posibilidad de "rootear" el telefono. Esto no va a ser una guía, para ello ya hay cientos en muchas sitios donde lo explicarán mucho mejor que yo. Sólo quiero contar mi experiencia, enseñar que hice y cómo, para que así podais ver en que consiste el proceso, y si os interesa o no hacerlo en vuestros teléfonos. Intentaré hacerlo lo más accesible posible, pero ya aviso que por momentos puede parecer un poco denso. Aunque si os interesa, seguro que se os hara ameno e interesante. Haya vamos.

¿Que significa eso de "rootear"? Este anglicismo, linguisticamente poco correcto, pocede de la palabra inglesa "root", que significa "raíz". Cómo podeis adivinar, rootear es conseguir penetrar en el sistema, para así poder tener control sobre partes del sistema sobre las que normalmente no lo tendríamos. En muchos sitios lo comparan con los derechos de administrador en Windows, y de hecho es bastante similar. Por lo tanto, ser "Root" o "Superusuario" (otro nombre para definir ser root), es conseguir los derechos para modificar, instalar o borrar cualquier elemento del sistema. ¿Y para que quiero yo estos derechos, en que me benefician? Aqui empieza lo bueno...

Esto nos da muchos benficios. El principal, el poder cambiar de rom (realmente no se cambia la rom, se cambia el firmware, pero coloquialmente se denomina "cambiar la rom"); o bien por una oficial pero que por determinadas circunstancias no estaba pensada para nuestro terminal (porque no lo actualice la operadora), o por una que no sea oficial, para así poder tener la ultima versión de Android en nuestro móvil, aunque la compañía que diseño nuestro teléfono o la operadora de turno no estén dispuestos a hacerlo. Por lo tanto, es cómo si alargaramos la vida útil de nuestro terminal, ya que contará con el mismo sistema operativo que los últimos smartphones que haya en el mercado, y por lo tanto podrá tener los últimos avances en cuestión de características o aplicaciones. Únicamente se quedará obsoleto cuando el hadware no dé para más. Pero vayamos por partes. ¿Que es la "rom"? La "rom" procede del ingles "Red Only Memory", y es la parte de la memoria donde se instala el "firmware". El "Firmware" es la versión del sistema operativo que tiene nuestro teléfono, con todas las modificaciones que hayan hecho tanto el fabricante del teléfono cómo la operadora (en el caso de que nuestro terminal no sea libre). Aunque la expresión correcta sería "cambiar de firmware", de ahora en adelante utilizaré la expresión coloquial "cambiar de rom", o me referiré al firmware cómo rom. En mi caso, era la versión "2.2 update" de Android (Froyo), con el Htc Sense y las modificaciones que metiera Orange. Pues bien, si Orange no estuviera dispuesto a actualizar la rom a la 2.3 (Gingerbread), pero HTC decidiera que si que la actualizaría (cómo así fue, aunque tarde y mal), podría descargar esta rom oficial, e instalarla en mi teléfono, cómo ocurriría de manera oficial en las Desires libres que no dependerían de ninguna operadora. Pero además, si HTC tampoco decidiera actualizarla, y no hubiera una versión oficial de mi teléfono disponible, podría instalarle una "rom cocinada". ¿Y esto que es? Pues versiones de las roms originales que modifican usuarios de internet, para uso y disfrute de todos nosotros. ¿Y son fiables estas versiones? No sólo son fiables, sino que suelen sacar mayor rendimiento a nuestros teléfonos, y suelen traer cosas que no traen las roms oficiales. Siempre hay versiones de prueba, que pueden dar errores, pero las versiones estables sueles ser fiables 100% (bueno, 99%).

Vamos a ver un poco la diferencias entre estos 2 tipos de roms. Las roms oficiales estan claras, el fabricante coge la versión de Android que proporciona Google, la adapta a sus terminales, y las ofrece via OTA ("Over The Air", es decir, directamente a nuestro terminal). Pero por otro lado, están las roms no oficiales, las "roms cocinadas". Vamos a hablar un poco de estas roms cocinadas. Cómo sabeis, Android esta basado en Linux, por lo que es un "open souce", o sistema abierto. Esto significa que todo el mundo, una vez esté liberado, puede trabajar sobre ello, modificarlo y distribuirlo, de manera gratuita. Eso hace que pueda haber una gran comunidad de gente detrás trabajando sobre ello. Y eso hace que nos podamos encontrar cosas increíbles por la red. Cómo siempre, hay de todo, y hay mucha gente muy chapuza, pero también hay cosas que costará creer que no sean "oficiales". Ejemplos hay varios, pero el más claro es CyanogenMod. Este equipo han conseguido auténticas maravillas, para muchos dispositivos. De hecho, otras roms suelen esta basadas en ésta misma, aprovechandose de su buen trabajo. Otra comunidad con un trabajo excelente es el equipo de MIUI, con roms basadas en Android increíbles, con un aspecto más similar al iOs, pero con la personalización propia de Android. Y también tenemos gente que trabaja sola, bueno, apoyada por una comunidad, y hace cosas sorprendentes. Por ejemplo, NeoPhyte, cocinero español, del equipo de Htcmania, y cuya rom Reflex me dejó impresionado. Y así muchos más ejemplos. Basta con buscar un poco por la red para descubrir muchísimas opciones, para todos los gustos.



Asi que, una vez sabemos que es ser "root" o "rootear", sabemos que son las roms, tanto las oficiales cómo las cocinadas, hemos llegado al punto de..."¿rootear o no rootear?". Mi opinión es clara, SI. ¿Es seguro? Al 100% no, así que, cómo en todas partes leereis, ESTO LO HACEIS BAJO VUESTRA RESPONSABILIDAD, NO ME HAGO RESPONSABLE DE LO QUE  PUEDA OCURRIR A VUESTROS TELÉFONOS. Una vez avisado esto, deciros que yo no conozco a nadie al que le haya salido mal. Hace tiempo pasaba más, se "brickeaban" algunos telefonos ("brick" es ladrillo en inglés,para hacer referencia de que no enciende más, y es cómo un ladrillo); pero con los últimos métodos el riesgo es mínimo, y siguiendo todo al pie de la letra, no debería de pasar nada. Lo importante es leer, leer y leer, y después seguir leyendo. De esta manera, el proceso será seguro. Yo aquí no os voy a decir cómo es, para eso teneis excelentes tutoriales en Htcmania, XDA Developers, o en blogs cómo El androide libre. Yo aquí sólo voy a contar mi experiencia, de cómo lo hice yo.




Yo tengo un HTC Desire. Una vez ví los problemas de actualización de mi terminal, ya que HTC decía al principio que no era lo suficientemente potente cómo para soportar Android 2.3, y visto que si finalmente lo actualizaban, Orange seguro que no lo haría, me decidí a rootearlo. Aquí explicar que para que un teléfono reciba una actualización del sistema operativo, primero el fabricante tiene que adaptarlo a tu terminal, y si encima ese terminal está subvencionado por un operador, éste ha de adaptar la versión que ha hecho el fabricante. Por lo tanto, muchas veces es misión imposible que un teléfono reciba todas las actualizaciones que nos gustaría, o que de primeras prometieron. Por lo tanto, ese fué el motivo por el que me decidí. Lo primero que hice fue liberarlo. No es indispensable, pero ya que me puse... El metodo es fácil, buscando un poco en la red lo encuentras. Yo lo encontre en XDA Developers (importante leer inglés). Me bajé un archivo .iso, cree en un pendrive un disco de arranque, hice que mi ordenador arrancara de inicio desde este disco de arranque que contenia el archivo, y con mi teléfono conectado, lo liberé. Estaba exactamente igual, pero podia poner cualquier tarjeta. Lástima que no se borrará tambien el logo de Orange de la carcasa de mi teléfono ;) . Siguiente paso, rootear el telefono.



Para rootearlo utilice el método de la página de Unrevoked. Toda la información la saque de la página de Htcmania. Lo voy a resumir, pues si estais interesados, en la página lo vais a encontar muy bien explicado, con todos los links a los archivos que necesiteis descargar. El caso es que instalé los drivers necesarios en mi ordenador (los descargué facilmente), configuré el teléfono para que pudiera modificarlo (depuración de USB, fácil), me bajé el programa de Unrevoked, me bajé una "custom recovery" y ya estaba preparado. ¿Que es el "Recovery"? A ver... el Bootloader es como la Bios en un Pc, y se accede de manera similar, presionando determinados botones dependiendo del modelo de móvil cuando lo enciendes. Una vez accedemos ahí, podemos entrar en el modo recovery, dónde nos permitirá modificar distintos aspectos del sistema. El recovery de fàbrica no es accesible, por eso mismo tenemos que meter una custom recovery, es decir, recoverys creadas por esa maravillosa comunidad, y que permitira instalar las nuevas roms, asi como realizar wipes (formateos), a parte de otras acciones. Por eso es necesario instalar un custom recovery. En mi caso, me descargué la recovery de AmonRa, no recuerdo la versión. Una vez bajado todo, ejecuté el programa de Unrevoked, con el recovery que hemos bajado, conecté via Usb el telefono, y siguiendo los pasos conseguí que mi teléfono estuviera rooteado. ¡A disfrutar de la libertad!



El último paso fue elegir rom. En mi caso, al venir de HtcSense, me decanté por la Reflex de NeoPhyte, la cuál tenía elementos de Sense3.0, y Android 2.3.3 (la Rom oficial de la Desire aún era 2.2). Para instalar la rom, lo mismo, en el foro de Htcmania está todo, así que lo explicaré rápido. Me descargué la rom (suelen ser entre 80 y 100 megas), la "radio" (la que te recomiendan), y las guardé en el ordenador. La "radio" no se debe de confundir con la de escuchar, ;). Yo no lo tengo claro del todo, pero creo que tiene que ver con la capacidad de tener más o menos cobertura, y por lo tanto poder ahorrar más o menos batería. Enciendí el telefono a través del bootloader (cómo hemos dicho antes, dependiendo del modelo, las teclas son distintas), y una vez ahí entré el modo recovery. Ahí hice wipe de todo (antes guardé todo lo que quería en el ordenador, ya que se borraría), hice partición de la tarjeta SD (se puede hacer que parte de ésta sea reconocida como memoria interna, y asi poder, por ejemplo, guardar más aplicaciones...), pasé la rom y la radio que me había guardado en el ordenador al teléfono, y "flasheé" (instalé) estos archivos .zip. El teléfono se reinició sólo y... ¡ya tenía móvil nuevo! Ahora, a disfrutar.




Todo esto puede parecer un poco complicado, pero he intentado resumir en pocos párrafos lo que para mí supusieron muchas horas de búsqueda de información. He intentado resumir lo maximo posible, y simplificarlo, para que veais que en el fondo no es algo tan complicado, y que cualquiera con un poco de interés podría hacerlo. Y lo que quiero también mostrar son las ventajas que este proceso tiene:

- La última actualización de Android en tu móvil, aunque operadores y fabricantes no las hagan (siempre que haya gente por ahí que quiera hacerlo, claro está).

-Posibilidad de instalar roms cocinadas, no oficiales, pero normalmente con mejor rendimiento que éstas.

- Aplicaciones solo accesibles con derechos root.

- Mayor memoria interna para vuestros teléfonos, dando la posiblidad de instalar más aplicaciones en vuestros teléfonos (esto además potenciado por alguna aplicación que requiere derechos de superusuario).

- Mayor personalización, aún si cabe, pudiendo probar cosas radicalmente distintas unas de otras, pero siempre con Android como sistema operativo.

Seguro que hay más ventajas que me olvido. Lo importante es que veais lo ventajoso que es rootear nuestros teléfonos, y además no es ilegal (por si a alguien le da miedo). Así que ánimo, y a rootear se ha dicho.



P.D. Os dejo un pequeño glosario con las palabras utilizadas en el post, así como un par de direcciones para ayudaros un poco.



- Root: significa raiz, y es conseguir los derechos sobre un sistema operativo basado en Linux, en este caso, Android. El proceso lo llamaremos "rootear".

- Superusuario: es tener los derecho que hemos conseguido a través del "rooteo". Es lo mismo que root.

- Rom: Read Only Memory, parte de la memoria en el que se guarda el firmware. Aunque esta no se modifique, sino que se sobre-escribe, se suele utilizar la expresión "cambiar de Rom" para decir que cambiamos de versión de firmware.

- Flashear: instalar el nuevo firmware, que suele ser un archivo .zip, en la memoria Rom, a través del custom recovery.

- Firmware: versión del del sistema operativo. Depende de la versión del mismo (por ejemplo, Android 2.2 o Froyo, 2.3 o Gingerbread, 3,0 o Honeycomb, 4.0 o Ice Cream Sandwich...), así cómo de las modificaciones que hagan fabricante, y/o llegado el caso, operadora de turno.

- Modo Recovery: más bien es entrar en modo recovery. En este modo podemos escribir en ciertos lugares del sistema, y así poder instalar el nuevo firmware en la memoria Rom.

- Brick: del ingles ladrillo, significa que hemos hecho algo mal en el proceso, y nuestro móvil no responde, no enciende ni hace nada, por lo que queda inservible como un ladrillo.

- Actualización vía OTA: procede de Over The Air, y se refiere a la forma de actualizar. En vez de requerir el conectar el teléfono a un ordenador viía USB, la actualización se hace directamente en nuestro smartphone, y se actualiza. Requiere de conexión a Internet, bien vía 3G o vía WIFI.

- Open sorce : procede del ingles, y significa sistema abierto. Característica de algún tipo de software, cómo por ejemplo el sistema operativo Android, que permite una modificación por parte del usuario, ya que deja el código abierto, y suelen ser de distribución gratuita.

Paginas recomendadas:

- Htcmania
- El androide libre
- Xda Developers
- Miui
- CyanogenMod
- Andro4all
- Unrevoked 
- Alpharev
- Revolutionary

Hay muchas más, pero estas son las que he usado yo (estas luego te redirigen a muchas otras, pero no recuerdo sus nombres).

Y por último, os animo a buscar mucho, a leer mucho, y a dejaros ayudar por esa gran comunidad de usuarios android que siempre están dispuestos a ayudar. Yo sin su ayuda no habría conseguido hacerlo. Gracias a todos.