GSI ROMS
Corriendo Linux en Dispositivos Móviles
Las GSI ROM (Generic System Image ROM) son un caso bastante particular, y las trataremos igual que el apartado de Custom ROMS, pero explicaré brevemente su diferencia. Este tipo de imágenes del sistema Android empezaron a salir desde Android 8.0, es decir en el lejano 2017, estas imágenes abarcaban de manera muy general los dispositivos Android con el proyecto Treble, la idea era crear imágenes que no dependieran de dispositivos concretos (es decir, eran genéricas y no discriminaban unos dispositivos de otros) permitiendo ejecutar versiones de Android completas sin necesitar de sistemas de ficheros que tuvieran los controladores específicos de cada dispositivo.
Su instalación será explicada brevemente en está guía, debido a que tampoco puedo explorar con profundidad el como funcionan, ya que su proceso de creación es complejo, pero debo decir que son la solución más efectiva para dispositivos que no cuenten con Custom ROMS y se busque ejecutar un Android Puro.
¡IMPORTANTE!
- Para la instalación de una GSI ROM es necesario el Desbloqueo de Bootloader.
- Deberá confirmar que su dispositivo sea compatible con el proyecto treble, puede usar está herramienta: https://github.com/kevintresuelo/treble/releases
Instalación
Para instalar una GSI ROM, es necesario descargar el firmware o ROM Stock dada por el propietario, normalmente podrá encontrar estás imágenes en la pagina oficial del distribuidor de su dispositivo, o en paginas encargadas de resubir estos archivos. Se debe buscar el archivo vbmeta.img dentro del sistema de ficheros de tu ROM Stock y debes ponerlo en una carpeta donde podrás utilizarlo o acceder a él después.
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
Contando con esto 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 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
Con nuestro archivo vbmeta 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
Una vez contemos con esto hecho, podremos buscar una Imagen Genérica del Sistema Android, estás podremos encontrarlas dadas por Google o por proveedores que compilen estás imagenes, como puede ser el caso de MisterZtr, quién lleva compilando desde bastante tiempo GSI'S de Lineage OS, sistema altamente reconocido por ser Android Puro sin Aplicaciones de Google y por ende con un rendimiento necesario para nuestro proyecto de ejecutar un servidor (https://github.com/MisterZtr/LineageOS_gsi/releases).
Las GSI 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 modulos a el uso de aplicaciones como las famosas "Gcam" con configuraciones particulares para el acceso a las camaras. Considerando que buscamos la ejecucció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.
Una vez contemos con el archivo de nuestra GSI ROM, por lo general vendrá comprimido, debemos descomprimirlo y una vez así, debemos abrir una terminal (CMD en Windows) en la carpeta donde contemos con nuestra imagen de nuestra GSI ROM, y ejecutaremos el comando:
fastboot erase system
Esto nos permitirá borrar la partición donde alojamos nuestra ROM Stock, e instalar la nueva GSI con el comando:
fastboot flash system <NOMBRE DEL ARCHIVO>.img
Posterior a esto, solo debemos formatear el celular a través del comando:
fastboot -w
Y luego de reiniciarlo con:
fastboot reboot
Debe arrancar nuestra GSI, cabe destacar que si la imagen de la GSI supera el tamaño de nuestra partición de "system", se pueden realizar modificaciones a la tabla de particiones para poder tener ese almacenamiento, pero esto es muy poco común y en dispositivos sumamente especificos es necesario hacer esto.
Una vez contemos con nuestra GSI ROM, podremos utilizar uno de los dos metodos principales: