Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Instalar LineageOS en un Motorola Moto G desde Linux

Imago voragine.net

Estas navidades ha dejado de funcionar el teléfono de mi madre, un Wiko Rainbow que ha salido bastante malo. Mi hermana acaba de cambiar de teléfono porque su antiguo Motorola Moto G le daba algún problema con el micrófono y los altavoces. Antes de que mi madre se comprase un nuevo teléfono me apetecía ver si podía reutilizar el de mi hermana, si los problemas que tenía eran de hardware o de software: probar otro sistema operativo y ver si volvía a funcionar y mi madre podía usarlo.

He probado a instalar LineageOS en el Moto G y por ahora el micrófono y los altavoces funcionan correctamente.

LineageOS es un sistema operativo para dispositivos móviles. Está basado en Google Android y es completamente libre. Es una buena opción para extender la vida de dispositivos móviles ya que puede configurarse para ser más ligero que Android. Además tiene una comunidad de desarrolladores y usuarios bastante amplia, y una buena documentación lo que da mayores garantías de que el sistema operativo esté mantenido para poder seguir usándolo en dispositivos antiguos.

La instalación

Para hacer funcionar el teléfono con LineageOS se necesita un ordenador, un cable USB para conectar el teléfono al ordenador y conviene que la batería del teléfono esté cargada.

Hay que completar los siguientes pasos para completar la instalación. Cada paso se corresponde con una sección del tutorial:

  1. Preparar el ordenador.
  2. Preparar el teléfono.
  3. Descargar LineageOS, TWRP y el resto de software necesario.
  4. Desbloquear el gestor de arranque del teléfono.
  5. Instalar TWRP.
  6. Instalar LineageOS.
  7. Instalar Google Apps y LineageOS su addon.

En la wiki de LineageOS hay un tutorial en inglés muy completo que explica estos tres pasos y cómo preparar el teléfono y el ordenador.

Recomiendo leer todo el tutorial antes de empezar el proceso. Es importante hacer copia de seguridad de los datos que se tengan en el teléfono y se quieran conservar, ya que el proceso de instalación eliminará todos los datos del usuario. El proceso de instalación en un teléfono de un sistema operativo diferente al Android distribuido por Google es delicado y puede fallar si no se hace correctamente, dejando el teléfono en un estado de bloqueo del que no es fácil salir. Los pasos que puedes leer a continuación me han funcionado a mí, puede que en otras condiciones (otro sistema operativo, otras versiones de LineageOS o de TWRP) no funcionen. Por último, conviene saber qué hace cada uno de las ordenes de este tutorial antes de ejecutarla: he explicado cada paso lo mejor que he podido para ayudar a entender qué se está haciendo en cada caso y por qué se hace, pero si surge alguna duda recomiendo recurrir a otras fuentes o compartirla en los comentarios de esta entrada.

1/7 Preparar el ordenador

Para instalar LineageOS en el Moto G he usado un sistema GNU/Linux Debian 10 Buster. Los pasos que he seguido deberían servir para otros sistemas GNU/Linux. Antes de comenzar hay que instalar los paquetes adb y fastboot, ambos disponibles en los repositorios de Debian, así que los podemos instalar directamente con apt:

skotperez@lee:~$ sudo apt install adb fastboot

adb permite comunicarse con un móvil Android desde la línea de comandos. fastboot es un protocolo, y un programa de línea de comandos, que permite modificar el contenido de la memoria flash de un móvil.

En la wiki de LineageOS hay manuales para instalar estos dos paquetes en varios sistemas operativos incluido Linux, por si la manera que propongo aquí no le funcionase a alguien.

2/7 Preparar el teléfono

Antes de empezar el proceso conviene cargar la batería del teléfono completamente. Además hay que activar la opción «Depuración por USB» en el teléfono que permite comunicarse con él desde un ordenador usando adb o fastboot:

  1. Abrir los ajustes del teléfono e ir al apartado «Información sobre el teléfono».
  2. Pulsar en la opción «Número de compilación» 7 veces: esto hará aparecer una nueva sección en los ajustes, «Opciones de desarrollo».
  3. Ir a las «Opciones de desarrollo» y activar la opción «Depuración por USB».
  4. Conectar el teléfono al ordenador con el cable USB.
  5. En una terminal del ordenador teclear adb devices.
  6. En el teléfono aparecerá un cuadro de diálogo pidiendo confirmación para aceptar la conexión desde ese ordenador. Se puede seleccionar la opción «Permitir siempre» que a partir de entonces permitirá las conexiones desde ese ordenador.

3/7 Descargar LineageOS, TWRP y el resto de software necesario

Para saber qué versión de LineageOS y de TWRP hay que instalar debemos saber la marca, el modelo y la versión de nuestro móvil. En mi caso es un Motorola Moto G XT1032, también conocido como Falcon. Para conocer el modelo y la versión exactos se puede consultar la documentación original del teléfono. Si no se tiene se puede retirar la carcasa trasera del móvil y buscar el código del módelo, en mi caso XT1032.

Una vez reunidos estos datos, se pueden consultar los listados de dispositivos de la wiki de LineageOS y de la página de TWRP para encontrar las secciones dedicadas al teléfono con el que estemos trabajando. Desde la página del Moto G Falcon de la wiki de LineageOS se puede acceder al listado de versiones disponibles para ese teléfono. Igualmente se pueden descargar varias versiones de TWRP para el Moto G Falcon.

Yo he descargado e instalado las últimas versiones disponibles cuando escribo este tutorial, LineageOS 14.1 compilado el 7 de diciembre de 2018, y TWRP 3.2.3 compilada el 29 de julio de 2018.

LineageOS no incluye software propietario. Si se quiere utilizar las aplicaciones de Google que vienen preinstaladas en la versión estándar de Android (Play Store, Google Maps, ) hay que descargarlas e instalarlas inmediatamente después (antes de reiniciar el teléfono) de instalar LineageOS. Todas las aplicaciones de Google pueden ser sustituidas por otra libre que cumple la misma función. Lo que más se puede echar en falta si no se instala las Google Apps es la Play Store, el repositorio de aplicaciones de Google. Cuando un teléfono no tiene la Play Store hay que buscar, descargar, instalar y actualizar las aplicaciones a mano. Existen otros repositorios de aplicaciones pero ninguno es tan completo como Play Store. El más interesando es FDroid, un repositorio que contiene únicamente aplicaciones libres.

Por último se puede instalar un programa para rootear el teléfono, algo muy recomendable para controlar por completo el sistema operativo del teléfono. Para el Moto G XT1032 se puede usar la extensión su de LineageOS, compilado para arm. Yo he descargado e instalado la versión 15.1 compilada el 12 de septiembre de 2018.

4/7 Desbloquear el gestor de arranque del teléfono o bootloader

El gestor de arranque es un programa que carga únicamente las funcionalidades necesarias para iniciar el sistema operativo. En casi todos los teléfonos el gestor de arranque viene bloqueado, lo que impide instalar otros sistemas operativos.

Para desbloquear el gestor de arranque hay que reiniciar el móvil en fastboot mode. Podemos hacerlo desde el propio teléfono, una vez esté apagado, pulsando el botón de bajar volumen y el botón de encendido simultáneamente durante 3 o 4 segundos. Al soltar el teléfono se iniciará fastboot mode. Se puede acceder también usando adb desde una terminal del ordenador, tras haber conectado el teléfono al ordenador usando el cable USB:

skotperez@lee:~$ adb reboot bootloader
Fastboot mode del Motorola Moto G XT1032

Fastboot mode del Motorola Moto G XT1032.

Una vez en fastboot mode se puede usar la orden fastboot desde la línea de comandos para comunicarse con el teléfono. En mi caso tengo que ejecutar fastboot con permisos de root. Por ejemplo, para ver si el ordenador detecta el teléfono:

skotperez@lee:~$ sudo fastboot devices

Para desbloquear el Moto G necesitamos el código de desbloqueo que nos tiene que facilitar Motorola. Para ello se puede visitar esta página y seguir los pasos.

  1. Hay que registrarse en motorola.com e iniciar sesión.
  2. La página pedirá vincular la sesión con una cuenta de Google Plus pero no es necesario, se puede seguir sin hacerlo pinchando el enlace Never mind, skip this for now.
  3. A continuación se recomienda instalar Android SDK y los drivers del teléfono en el ordenador. No es necesaria ninguna de las dos cosas ya que ya tenemos instalado adb y fastboot y en Linux no hacen falta drivers.
  4. En la línea de comandos tecleamos la orden fastboot oem get_unlock_data que nos devolverá la clave de desbloqueo en cinco líneas. Debermos copiarla y formatearla en una sola línea. Para ello se puede usar el formulario que ofrece la página de Motorola.
  5. Ahora se introduce el código formateado en una sola línea en el formulario del paso 6 y se pincha en el botón «Can my device be unlocked?»
  6. Por último se pincha en el botón «Request unlock key» tras seleccionar la opción «I agree». El código de desbloqueo (unlock code) será enviado a la dirección de correo asociada a la cuenta que se ha abierto en motorola.com.
  7. Por último en la línea de comandos tecleamos la orden fastboot oem unlock [código de desbloqueo] sin los corchetes.

Si el proceso se ha completado correctamente, el teléfono se reiniciará y se verá la siguiente pantalla, que anuncia que el bootloader está desbloqueado:

Bootloader desbloqueado en el Motorola Moto G XT1032

¡Motorola Moto G XT1032 liberado!

El proceso de desbloqueo devuelve el teléfono a la versión de fábrica, por lo que es necesario volver a activar la opción «Depuración por USB» como se explica en la sección Preparar el teléfono.

5/7 Instalar TWRP

Ahora que el teléfono está desbloqueado podemos instalar TWRP, un custom recovery environment, un programa que permite instalar versiones modificadas de Android y otros programas en un teléfono Android.

Para instalar TWRP conectamos de nuevo el teléfono al ordenador usando el cable USB e iniciamos el modo fastboot:

skotperez@lee:~$ adb reboot bootloader

Una vez en modo fastboot comprobamos que el ordenador se comunica con el teléfono:

skotperez@lee:~$ sudo fastboot devices

Nos movemos hasta la ubicación en la que hayamos descargado la imagen TWRP y lanzamos la instalación:

skotperez@lee:~$ sudo fastboot flash recovery imagen.twrp.img

Recuerda sustituir imagen.twrp.img por el nombre del archivo descargado. En mi caso twrp-3.2.3-0-falcon.img.

Antes de lanzar la orden comprueba la integridad de la imagen TWRP descargada. Es un archivo de unos 9,5MB. Yo perdí unas cuantas horas porque me descargué la imagen de manera incorrecta con wget. Tras lanzar la orden veremos como se copia la imagen al teléfono y como instala en unos segundos:

skotperez@lee:~$ sudo fastboot flash recovery twrp-x.x.x-x-falcon.img
target reported max download size of 268435456 bytes
sending 'recovery' (28678 KB)...
OKAY [  1.132s]
writing 'recovery'...
OKAY  [  1.932s]
finished. total time: 3.065s
skotperez@lee:~$

Tras la instalación se debe reiniciar el teléfono para arrancar TWRP:

skotperez@lee:~$ sudo fastboot reboot

Un detalle importante: si tras ejecutar esta orden no se hace nada más el teléfono se iniciará normalmente, y es posible que el reinicio sobreescriba la instalación que acabamos de hacer y la deje inaccesible. Para que esto no ocurra y se pueda acceder a TWRP hay que arrancar el fastboot mode inmediatamente después de ejecutar la orden anterior.

Para ello hay que pulsar la combinación de botones del teléfono que permite acceder al fastboot mode justo después de ejecutar la orden sudo fastboot reboot. En el caso del Moto G Falcon el fastboot mode es accesible pulsando el botón de bajar el volumen y el botón de encendido simultáneamente durante 4 o 5 segundos.

Una vez en fastboot mode navegamos hasta la opción recovery mode con el botón de bajar el volumen. Una vez que dicha opción esté seleccionada la activamos con el botón de subir el volumen.

De esta manera entraremos en el menú de TWRP y el teléfono ya está listo para instalar LineageOS.

6/7 Instalar LineageOS

Una vez en la pantalla de TWRP, antes de instalar LineageOS, hay que limpiar las particiones del teléfono para asegurar una instalación correcta:

  1. Ir a la opción «Wipe» y después a la opción «Format data». Esto formateará la memoria interna del teléfono. Una vez acabado el proceso volver al menú principal.
  2. Ir a «Advanced wipe». Seleccionar «Cache» y «System» y deslizar sobre «Swipe to Wipe» para formatear dichas particiones. Volver al menú principal.

Vamos a instalar LineageOS usando el método sideload de adb. Para ello, en TWRP, vamos a «Advanced» y después a «ADB Sideload». Para activar esta opción deslizamos el dedo sobre el botón «Swipe». En la línea de comandos del ordenador, que debería seguir conectado al teléfono con el cable USB, desde la localización en la que hayamos descargado la imagen ejecutamos la siguiente orden:

adb sideload lineageos.zip

Recuerda sustituir lineageos.zip por el nombre del archivo descargado de la wiki de LineageOS. En mi caso lineage-14.1-20181207-nightly-falcon-signed.zip.

Si se quiere instalar Google Apps o la extensión su para LineageOS, hay que realizar las operaciones de los pasos siguientes antes de reiniciar el teléfono. Si no, la instalación de LineageOS está completa.

7/7 Instalar Google Apps y LineageOS su addon

Para instalar programas complementarios como Google Apps (que habilitará la Play Store y otras aplicaciones de Google en el teléfono) o la extensión su para LineageOS (para acceder a funciones de Android que normalmente están inactivas) hay que copiar el archivo zip que contiene el programa al teléfono y después instalarlo usando TWRP.

Para copiar un archivo zip desde el ordenador al teléfono se puede usar adb. En la línea de comandos ejecutar la orden siguiente:

adb push filename.zip /sdcard/

Ir a la opción «Install ZIP» y seleccionar el archivo que acabamos de copiar al teléfono.

Una vez instalados todos los complementos se puede reiniciar por fin el teléfono con la opción «Reboot to system». Este primer reinicio llevará algún tiempo, en mi caso algo más de diez minutos: paciencia que al final aparecerá LineageOS.

1 comentario

  1. Lo necesito

Dejar un comentario

*
*

 

No hay trackbacks