Lo primero, y posiblemente lo más decepcionante de primeras es que actualmente no todos los smartphones son compatibles con estos sistemas como Lineage OS, e.foundation, Graphene OS, Ubuntu Touch, Postmarket OS...
Los fabricantes hacen lo que quieren
La razón es sencilla, cada dispositivo Android es fabricado con componentes casi completamente diferentes, y no existen drivers libres en el kernel de Linux para poder hacer funcionar estos componentes con el sistema operativo.
Por ejemplo, un modelo de Samsung y otro “plus”, son bastante diferentes en materia de sus componentes.
Los fabricantes de smartphones poseen de ingenieros de software que parchean el kernel de Linux para hacerlo funcionar en sus dispositivos, pero estos drivers que crean no son de libre acceso para todo el mundo. Estos son los llamados blobs o firmware propietario.
Pasaba con los PC (Personal Computer) antes
Anteriormente, Linux tampoco era compatible con casi todo el hardware de ordenadores de sobremesa o portatiles. Actualmente tampoco es al 100% compatible con todos los componentes, pero si que se puede instalar en un porcentaje de hardware probablemente mayor del 98%, con lo cuál, está bien.
Cosas a tener en cuenta antes de “flashear” sistemas operativos en un móvil Android
- Vas a estar un tiempo entre 2 horas y 2 diás, según lo que se complique el proceso sin teléfono móvil. Intenta aunque sea buscar un recambio antiguo con el que funcionar de forma básica si para ti es muy importante tener móvil (e.g trabajo)
- Si acabas de comprar el móvil, en la gran mayoría por no decir el 100% de ellos, perderás la garantía del teléfono. Esto para muchos usuarios es una gran dificultad o barrera para no dar este paso. Los fabricantes de smartphones aplican políticas muy abusivas como esta y eso tendría que acabar...
- No tengas miedo, pero tampoco seas un insensato. Si no tienes conocimientos primero lee, estudia y busca en internet la experiencia de la gente que ya lo ha hecho para intentar tener las bases sólidas antes de hacer nada. Una buena fuente es https://forum.xda-developers.com/
- No quiero meter miedo pero todos los que hemos estudiado esta disciplina hemos Brickeado algún smartphone. En mi caso nunca hice un smartphone totalmente irrecuperable pero si en un estado de Soft-Brick. Ahora explicaré todo esto con más detenimiento
Resumen de los pasos a seguir
- Asegurarse que tu móvil soporta el Sistema que quieres instalar y intentar no instalar una versión no mantenida o antigua y obsoleta.
- Configurar tu entorno de trabajo. Descargar el software y herramientas necesarias para flashear memorias de Android por su interfaz USB
- Interiorizar los pasos de instalación recomendados por las personas que mantienen el sistema operativo
- Si un paso falla, no entres en pánico y no lo dés como válido o correcto. No debe fallar nada a menos que las personas que mantienen el sistema lo dejen claro
Conceptos y herramientas
Cuando instalas un sistema operativo en un PC o portatil hay 2 conceptos a tener claros: * El software a instalar está en un CD/USB y se arranca en memoria * El sistema operativo se instala en un medio físico como un HDD/SSD o incluso otro USB
Cuando instalar un sistema operativo para smartphone, es lo mismo pero cambian los elementos * El software a instalar está en tu ordenador y solo se puede instalar por el cable USB conectado al móvil * El sistema operativo se instala en una parte de la memoria física flash, concretamente en el trozo de memoria identificado como “system”
Diferencias? sacar un disco duro/usb de un ordenador es más sencillo, sacar una memoria flash es extremadamente complicado y las posibilidades de volver a introducirlo y que funcione son mínimas. Por suerte, no necesitaremos hacer esto, solo lo digo para tener claro los conceptos, diferencias y sobre que elemento físico vamos a instalar nuestro sistema operativo
Conceptos
1. Flashear (concepto)
Pasar software por la vía de USB al smartphone cuando este está en el modo adecuado para aceptar esto (modo fastboot o modo flash)
Las herramientas de GNU Linux para flashear componentes son fastboot (Android regular) y heimdall (para Samsung).
2. La memoria flash (elemento físico)
La memoria flash se separa por componentes como “bootloader”, “recovery”, “system”, “vendor”, etc...
Estos componentes están escritos en rangos de esta memoria flash: Por ejemplo, si la memoria tiene tamaño de 100, imaginar que “recovery” está de 1-10, “bootloader” de 11-20, “system” de 21-70, “vendor” de 71-90. Si tu “system” no cabe en 21-70 o es incompatible, tu sistema no arrancará, y de la misma forma cualquier otro componente como “recovery”
Los smartphones tienen grabados a fuego los parametros y las direcciónes de la memoria flash donde se almacenan los componentes para arrancar cualquier sistema o modo.
3. BootLoader (elemento virtual y físico)
Esto es comparable con grub en GNU Linux. Es un software que se encarga de decidir qué arrancar en el dispositivo.
El bootloader está bloqueado por defecto en los smartphones por seguridad, con lo cuál “desbloquear el bootloader” es la acción de permitir que tu smartphone pueda arrancar otro sistema/modo.
Si rompes el bootloader, no puedes arrancar el resto de componentes, y tampoco puedes ponerlo en modo flash. Esto se llama Soft-Brick, no puedes ni arrancar el sistema, ni recovery, ni flashear otro sistema...
En estos casos algunos fabricantes tienen un modo de recuperación extrema que se suele hacer con el smartphone conectado por usb, apretando una secuencia especial de botones del smartphone y con software especial compatible del fabricante.
Romper el bootloader es dificil, pero es posible, esperemos que no lo rompas por tu bien XD
4. Recovery (elemento virtual y físico)
“recovery” es un componente de la memoria flash que tiene un sistema operativo simple con las herramientas necesarias para actuar sobre el componente “system”, “vendor” u otro relacionado con el sistema.
Por defecto el “recovery” de los fabricantes contiene funciones muy minimas de recuperacion del S.0, y no sirven para flashear actualizaciones del sistema o instalar otro sistema.
TWRP es el proyecto recomendado por toda la comunidad, de sistema recovery avanzado con el que se puede instalar/actualizar sistemas operativos o recuperarlos también
5. ADB (Android Debug Bridge)
adb es una herramienta para acceder a un shell de un sistema Android por USB, hacer backups, copiar archivos desde tu PC al sistema Android y otras opciones más
El sistema “recovery” de TWRP, inicia siempre un demonio de adb (adbd), por tanto en este modo “recovery” siempre tienes la opción de copiar ficheros de tu PC/laptop al sistema Android recovery.
No hay que olvidar que el “recovery” es solo otro sistema básico que se parece más a simplemente Linux con unas cuantas herramientas de Android, como adb
Ejemplos de pasos habituales para instalar S.O en Android
-
Entrar en bootloader, modo fastboot, flashear recovery, entrar en recovery y pasar por adb un .zip que contiene el sistema. flashear el zip por la interfaz de TWRP, reiniciar
-
Entrar en bootloader, modo fastboot, flashear recovery, bootloader, system desde el modo fastboot y iniciar el sistema
¡Eso es todo!
Espero que te hayan ayudado estos conceptos a entender como funciona la dinámica de flashear/instalar sistemas operativos en móviles Android
Si te ha resultado abrumador, tienes muchas dudas o si simplemente alguna... no dudes en contactar con nuestra comunidad!