Custom ROMS
Corriendo Linux en Dispositivos Móviles
Los dispositivos móviles por lo general cuentan con amplias comunidades que abarcan toda clase de personas, sus usuarios varían desde personas que solo utilizan el dispositivo para llamadas, hasta gente que suele dedicarse al desarrollo de software con el estudio de estos dispositivos, por ende, hay gente dispuesta a desarrollar no solo aplicaciones, si no, también en compilar el código de Android puro con lo necesario para ejecutarse en los dispositivos móviles.
Por lo general, la gente que desarrolla esto tiene una fuerte preferencia por los dispositivos con procesadores Snapdragon, debido a que su estructura suele asemejarse mucho al de algunos procesadores ARM, facilitando la adaptación de software y la reconstrucción de los sistemas de ficheros necesarios para compilar Android puro para estos dispositivos. Por temas legales y de Código Abierto, por lo general el fabricante de los dispositivos debe dar acceso al código del Kernel del dispositivo (esto independiente del fabricante del procesador), facilitando la adaptación y creación de estos sistemas, al igual que deben permitir el acceso al sistema de archivos del sistema Android en el dispositivo, esto lo hacen a través de una herramienta llamada "Fastboot" que permite la instalación o actualización del sistema operativo de manera manual y desde un computador, Fastboot en si mismo también por lo general facilita a los desarrolladores la instalación de imágenes compiladas del sistema Android sin firmar, esto incluyendo los sistemas Android Puro, pero para ello es necesario desbloquear el Bootloader.
El desarrollo de las Custom ROMS suele darse principalmente por tres medios, ya sea por el foro de XDA, por canales de Telegram donde los desarrolladores suelen sacar a modo de publicaciones en canales de la misma red las actualizaciones de sus compilaciones personalizadas o por paginas oficiales como puede ser el de algunas ROMS conocidas, como Lineage OS o CrDroid.
Las Custom ROMS presentan una serie de ventajas al usuario que el Android normal no suele tener, pero también suelen presentar ciertos inconvenientes, como puede ser que no vengan con la aplicación de cámara del proveedor del dispositivo, dificultando el uso de sus cámaras alternativas o las funciones especiales del dispositivo, y aunque la comunidad suele brindar soluciones para esto, pueden variar desde la instalación de simples módulos a el uso de aplicaciones como las famosas "Gcam" con configuraciones particulares para el acceso a las cámaras. Considerando que buscamos la ejecución de un servidor o utilizar el dispositivo de una manera menos orientada al uso de sus funciones especiales, no le daremos relevancia a este problema.
¡IMPORTANTE!
- Para la instalación de una Custom ROM es necesario el Desbloqueo de Bootloader.
- Algunos proveedores asignan un "Codename" al dispositivo móvil, es importante que revises si tu dispositivo móvil cuenta con uno, porque encontrar cosas como su software original suele hacerse con este "Codename".
Instalación
Nota: En esta guía recomendamos el uso de la ROM LineageOS: https://lineageos.org/
Antes que nada es necesario descargar la última versión del Firmware o de la ROM Stock del dispositivo móvil, esto suele proveerlo el fabricante o paginas externas que almacenan esto. Contando con este y con el Bootloader Desbloqueado podemos continuar con el procedimiento. Por lo general el Bootloader o el modo fastboot se abre con el dispositivo apagado, al intentar arrancarlo con el botón de encendido y volumen abajo presionados al mismo tiempo.
Aquí una tabla de como acceder al modo Fastboot:
| Fabricante | Combinación de teclas | Nota |
|---|---|---|
| Google Pixel | Volumen abajo + Encendido | Accede directamente al Bootloader. |
| Xiaomi | Volumen abajo + Encendido | Accede al modo Fastboot (logo de Fastboot con conejo). |
| Motorola | Volumen abajo + Encendido | Entra al menú del Bootloader y con las teclas se puede seleccionar el Fastboot. |
| OnePlus | Volumen Arriba + Encendido o Volumen Arriba + Volumen Abajo + USB (según modelo) | Entra al Bootloader. |
| Oppo | Volumen arriba + encendido | En algunos modelos el modo Fastboot puede estar restringido. |
| Una vez se está en modo Fastboot, debes conectar el dispositivo móvil a un computador donde se cuente con la Custom ROM y es necesario descargar también una herramienta que nos permitirá instalar todo el sistema, está herramienta es conocida como "ADB & Fastboot" suele ser dada por Google y está disponible tanto para Windows, Mac y GNU/Linux. |
Hay varios instaladores independientes que puedes encontrar en Github que facilitan el proceso de instalación y actualización de está herramienta si no deseas configurar cosas como el PATH en windows de las herramientas cada vez que salga una nueva versión.
El enlace para adquirirlas es el siguiente:
https://developer.android.com/tools/releases/platform-tools?hl=es-419
Una vez tengas las herramientas de ADB & Fastboot instalada, es necesario buscar la imagen del modo recovery para el dispositivo móvil, dependiendo de la Custom ROM que vayas a instalar es posible encontrar una imagen u otra, a términos generales también es posible usar un Recovery orientado a funcionar con cualquier ROM, como puede ser el Team Win Recovery Project (TWRP) o el OrangeFox:
- Team Win Recovery Project (TWRP): https://twrp.me/
- OrangeFox: https://orangefox.download/
Por último, solo es necesario conseguir la imagen del vbmeta en caso de que el dispositivo lo necesite, los dispositivos como Xiaomi, Motorola, y algunos otros suelen usar este sistema de verificación de firma de archivos, por lo que necesitaremos deshabilitarlo en algunos casos para flashear nuestra nueva ROM, este archivo de vbmeta puede conseguirse en la mayoría de casos en la ROM oficial/stock, revisando sus archivos debe haber un vbmeta.img, con este mismo haremos el desbloqueo al uso de imágenes sin firmar, para eso, abriremos una terminal (CMD en Windows) en la carpeta donde tengamos el archivo, y ejecutaremos el comando:
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
Esto permitirá el uso de imágenes modificadas o sin firmar por el proveedor oficial.
NOTA: En caso de que el usuario no encuentre una vbmeta.img, podrá probar usar la oficial de Google en vez de la de su proveedor: https://dl.google.com/developers/android/qt/images/gsi/vbmeta.img
Ahora, con una terminal abierta (CMD en Windows) en la carpeta en donde tenemos descargado nuestro Recovery, ya sea OrangeFox, el Recovery de LineageOS o el de Team Win Recovery Project, ejecutaremos el siguiente comando:
fastboot flash recovery <nombre del archivo>.img
En caso de que nuestro dispositivo sea un Google Pixel, debemos instalar la imagen del recovery en la partición vendor boot.
Siendo el comando tal que:
fastboot flash vendor_boot <nombre del archivo>.img
Una vez se haya finalizado la instalación, podemos reiniciar el celular con el comando:
fastboot reboot
Y una vez haya arrancado, debemos apagarlo y abrir el modo recovery, el cual suele abrirse con la misma combinación que se abre el modo fastboot, solo que usando la tecla de volumen contraria, o en caso de tener Bootloader, suele haber una opción para abrir el modo Recovery en el mismo Bootloader.
Una vez estamos en el recovery, debemos buscar la opción que nos permita habilitar el modo ADB sideload, en OrangeFox como en TWRP suele estar visible en el apartado de instalación o en el menú de ajustes, en el recovery de Lineage OS por su parte suele tener una opción de "Apply update from ADB" o en "Apply Update" debe permitirte seleccionar "ADB update". Mientras OrangeFox y TWRP son sistemas que incluyen el táctil, en el de Lineage OS por lo general te mueves con las teclas de volumen y con el botón de encendido confirmas la acción que vayas a hacer.
Una vez estemos en el modo Sideload de ADB, abriremos una terminal (CMD en windows) en la ubicación del archivo de la ROM, estos archivos son .zip, no debemos descomprimirlos y ahora ejecutamos el comando:
adb sideload <nombre del archivo>.zip
Con esto, el proceso de instalación de la ROM empezará, es necesario que después de esto hagamos un formateo de nuestro dispositivo, esto se puede realizar en cada Recovery con la correspondiente función de format data (no borrando particiones, ojo, es distinto un format data a borrar la partición de data), suele estar en el apartado de wipe. Nos pedirá escribir "YES" y posterior al formateo podemos reiniciar el dispositivo; en el caso de el recovery de Lineage OS hay una opción llamada Factory Reset, con está podremos realizar el formateo necesario.
Una vez hemos terminado esto, podremos reiniciar el celular y ahora contamos con nuestra Custom ROM instalada en él si todo ha salido bien.
Una vez contemos con nuestra Custom ROM, podremos utilizar uno de los dos metodos principales: