ROMs y desarrollo Xiaomi Mi A2 ROMs y desarrollo Xiaomi Mi A2

Respuesta
 
Herramientas
  #1  
Viejo 06/01/21, 12:24:12
Array

[xs_avatar]
LEPT Hombre LEPT no está en línea
Usuario muy activo
· Votos compra/venta: (1)
 
Fecha de registro: abr 2012
Localización: Ahí-donde-eso
Mensajes: 4,562
Modelo de smartphone: Xiaomi Mi A2
Tu operador: Movistar
noticia Instalar una Custom ROM en Xiaomi Mi A2

A raíz de leer comentarios de compañeros en diferentes hilos sobre el tema de Instalación de Custom ROM, indicando que o bien no se atreven, o se atreven pero no lo logran, o tienen un concepto equivocado de partes del proceso, al fin me he decidido a crear un mini-tutorial para flashear cualquier Custom ROM para el Xiaomi Mi A2 (OjO que ni hablo ni hablaré del Mi 6X, ni A2 convertidos a 6X).


Culturilla General:

(Click para mostrar/ocultar)

Soy algo reacio al cambio prematuro del Firmware Stock de los dispositivos por una Custom ROM. Quizás porque a la hora de elegir un dispositivo, uno de los puntos que valoro y busco es ese, su Firmware (versión de Android / capas de personalización). En concreto, prefiero la experiencia lo más parecida a Android puro / AOSP que se pueda. Aunque esto, no siempre se puede conseguir. El Xiaomi Mi A2 posee Android One, que es la visión personal de Google de un Android Puro.



De cualquier forma, cuando el dispositivo ya tiene un tiempo, irremediablemente queda en el olvido por su fabricante y, o bien no sigue actualizando sus sistemas Android a nuevas versiones, o lo único que actualiza son los parches de seguridad de Android, o ni eso. Entonces es un buen momento para dar el salto al maravilloso y prolijo Mundo de las Custom ROM.



En esencia, las Custom ROM se basan en AOSP directamente, o en algunos fork (bifurcación del código fuente de AOSP) que existen (LineageOS, OmniROM, etc...), o incluso en fork de los forks. Algunas Customs ROM tratan de parecerse a Capas de personalización de fabricantes (Google Pixel) o bien son ports de la versión de Android+capa de personalización de un dispositivo concreto (OnePlus, Samsung), o simplemente partiendo de AOSP le introducen su propia personalización, ya sea mediante una capa de personalización o con infinidad de opciones para que cada usuario le vaya dando forma.



Paralelamente a todo lo dicho, si bien Android es Open source (al código fuente principal de Android se conoce como Android Open Source Project, o lo que es lo mismo “AOSP”), Google es una de las empresas que más lo ha potenciado desde sus orígenes, hasta tal punto que la mayoría de los usuarios nos saben diferenciar entre Google y Android, y lo malinterpretan como una misma cosa. Quizás porque la empresa creadora de Android (Android Inc.) fue comprada por Google, y desde entonces es Google (junto con Open Handset Alliance) directamente quien participa en la continuidad de Android tal y como hoy lo conocemos. Porque digo todo esto, entre otras cosas porque en los dispositivos de fabricantes con capa de personalización, también te meten sus apps para la realización de las tareas básicas en un smarthone a las que nos hemos acostumbrado (llamar por teléfono, agenda, calendario, calculadora, cliente de email, gestor de música, gestor de imágenes, launcher de aplicaciones, etc...). Y es en este punto en donde Google, a tomado la delantera y ha introducido casi a modo de monopolio, sus apps (Google APPS - GAPPS). Estas GAPPS vienen por defecto en gran parte de los dispositivos con Android, incluso aunque ese fabricante tenga apps equivalente propias y las incluya el dispositivo. De ahí que muchos usuarios (la gran mayoría) de Android no conciban un dispositivo Android sin las GAPPS. PERO han de saber, que hay un Mundo (Android) más allá de las GAPPS



Un detalle, para instalar una Custom ROM en los dispositivos Android, se necesita de un Custom Recovery. El que actualmente sobrevive a los que en su día salieron, es TWRP y variantes no oficiales de éste, e incluso algunas Custom ROM poseen el suyo propio.



Y otro detalle más. Hay un antes y un después en el flasheo de Custom ROMs... los smartphones con slots (a/b), como es el caso del Xiaomi Mi A2. Siempre hay un slot activo y otro inactivo, da igual cual de los 2 (‘a’ ó ‘b’) sea.



Lo que ocurre con estos dispositivos es que cuando flasheas una ROM de igual modo que cuando se instala una OTA, lo hace en el slot inactivo.



En el momento de flashear una Custom ROM, el detalle diferenciador de un dispositivo a otro radica en saber si el proceso deja indicado o no que al reiniciar el dispositivo cambie automáticamente de slot o no. En el caso concreto del Xiaomi Mi A2, ese proceso no indica que automáticamente se cambie de slot tras el flasheo y previo al primer reinicio. Es por esto que se ha de cambiar el slot manualmente, tras el flasheo y antes del primer reinicio del sistema.



De ese modo, iniciará en el slot que antes estaba inactivo (que ahora habremos marcado como activo) y que es en el que se ha flasheado la nueva Custom ROM.



Esto sólo afecta al flasheo de la Custom ROM completa. Si se va a flashear un kernel/boot/magisk_patched/gapps/... eso lo hace en el slot que esté activo, por lo que no hay que andar haciendo cambios de slot.



Por último, los procesos de flashear Custom ROMs pueden ser limpios (borrando todos lo anterior del dispositivo) o sucios (manteniendo todo lo anterior del dispositivo y sobreescribiendo lo necesario). Si se viene de Stock o una Custom ROM distinta a la que se quiere instalar es obligatorio hacerlo limpio, si se viene de la misma Custom ROM y se quiere instalar una actualización, se podría usar el método sucio, salvo que haya modificaciones significativas en esa versión que aconsejen hacerlo limpio.



Mi consejo es hacerlo SIEMPRE limpio, ya que si es una actualización menor, estas Custom ROMS al igual que los Firmware Stock, emplean el sistema de actualizaciones OTA (Over The Air).




Objetivo:
Flashear una Custom ROM desarrollada para el Xiaomi Mi A2, en el Xiaomi Mi A2.

Pre-requisitos:
  • Un Xiaomi Mi A2
  • Un Ordenador con los drivers necesarios y correctos para reconocer al Xiaomi Mi A2, tanto en modo normal (usando comandos ADB) como en modo fastboot (usando comandos FASTBOOT)
  • Tener el bootloader desbloqueado (para saber cómo hacerlo, echa un ojo al tutorial del Foro)
  • Tener el acceso a particiones críticas desbloqueadas
  • Una versión reciente del Custom Recovery, TWRP

Antecedentes:
A diferencia de los dispositivos Android de hace más de 2 años, el Xiaomi Mi A2 fue uno de los primeros dispositivos en tener slots (A/B). No quiero entrar en detalles técnicos de qué es eso y para qué sirve, pero sí que trataré de hacer un símil del concepto para que la mayoría de los usuarios lo entienda y le quite el miedo.

(Click para mostrar/ocultar)
Imaginaros un Ordenador, el cual tiene 3 discos duros. Cada uno de estos discos duros tiene una función, y es la siguiente. 2 de ellos sirven para arrancar el ordenador y en ellos se mete el sistema operativo. y el tercer disco duro es donde el usuarios almacena toda su información.
A los 2 discos duros de arranque, los llamaremos 'A' y 'B', y se podrá usar uno u otro (no los 2 a la vez). Entonces, lo que podemos hacer es instalar un sistema operativo en el disco A... por ejemplo Windows XP, y otro sistema en el disco B... por ejemplo Windows 7. Luego, digamos que desde la BIOS, podríamos indicar qué disco duro queremos que sirva para arrancar en una determinada ocasión... Por ejemplo, le decimos que el disco A, y de ese modo, al arrancar del todo el ordenador, tendremos Windows XP y nuestros datos. PERO luego podemos apagar el ordenador, arrancarlo pero yendo a la BIOS y allí indicarle esta vez que queremos que arranque con el disco duro B... y al iniciar el ordenador del todo, tendremos Windows 7 con nuestros datos intactos.

A ver, no es tan simple... pues aunque nuestros datos (fotos, videos, música, documentos) los entenderán igualmente cualquiera de los 2 sistemas operativos, los ficheros/variables de usuarios y de los programas que se tengan instalados, que también se guardarían en el disco 3, no son los mismos para Windows XP que para Windows 7, luego realmente, no deberíamos realzar ese proceso de cambiar del disco de arranque 1 al 2 tan alegremente, con 2 sistemas operativos diferentes.... PERO ¿y si lo hacemos con el mismo sistema operativo pero un tiene las actualizaciones de seguridad de la semana pasada y el otro las de esta semana? Pues ahí sí que podríamos hacerlo y no habría problemas.

En esencia eso es lo que ocurre en nuestro dispositivo Android, con cada actualización (OTA), el sistema instala las actualizaciones en el disco duro (slot) que no estamos usando actualmente (slot inactivo) y tras instalado, cuando le demos reiniciar, iniciará en ese otro disco duro (slot) que contiene la nueva versión actualizada. Es por eso que si al iniciar en ese slot con la nueva versión, sufrimos de algún fallo gordo, siempre podríamos indicarle al dispositivo que tras reiniciar inicie en el anterior disco duro (slot) que nos iba bien (porque no lo ha borrado, sólo lo ha dejado inactivo).


Pre-ámbulos:
El proceso de flashear una Custom ROM trata de, instalar en un slot ('A' ó 'B') dicha ROM, indicar al dispositivo que ese slot en el que la hemos instalado será el slot activo, y arrancar el dispositivo tranquilamente.

Para flashear una Custom ROM, se necesita de un Custom Recovery que te lo permita (con el Stock/Oficial Recovery no lo puedes hacer, salvo en determinadas circunstancias/ROMs). Antiguamente había varios desarrolladores de Customs Recoveries, pero a día de hoy sólo queda activo TWRP, luego es el que usaremos.

Y luego necesitaremos tener la Custom ROM que queramos instalarnos... hay una graaaan cantidad de ellas y en diferentes versiones de Android... incluso con Android 11.

Consejos antes de instalarte una Custom ROM (no son obligatorios pero sí recomendables):
  • Hacerte copia de seguridad de TODO lo que no quieras perder (fotos, música, SMS, videos, etc...) pues en el proceso lo vas a borrar TODO. Personalmente, no me hago copia de seguridad de apps, simplemente me las instalo luego, es una manera más limpia, y de paso hago criba de apps que realmente no estaba usando.
  • Flashearte la última versión del Firmware oficial Android One que tengas disponible.
  • Tener el dispositivo cargado al menos al 50%

Proceso:
Cuando se flashea una Custom ROM en dispositivos con 2 slots A/B, automáticamente se flashea en el slot inactivo.
En teoría, tras ese flasheo se debería cambiar automáticamente la indicación del slot activo (vamos que el que estaba inactivo debería de pasar a activo y viceversa). PERO en el caso del Xiaomi Mi A2, esto no pasa automáticamente, luego tendremos que cambiar manualmente el slot activo tras el flasheo, y finalmente indicarle que reinicie.

Si bien se necesita del TWRP para flashear la Custom ROM, éste no es necesario que lo tengas permanente en el dispositivo, ya que para el proceso bastaría que "iniciaras/bootearas" en él. Y está última opción es la que usaré en el Proceso.

1.- Habilitamos la Depuración USB.
2.- Ponemos el Mi A2 en Modo Fastboot. Esto lo podemos hacer de 2 maneras, o bien con un comando, o bien con la pulsación de teclas.
- teniendo el dispositivo encendido, lo conectamos mediante un cable USB al Ordenador. en el Ordenador abrimos una ventana de comandos y escribimos (atentos porque si es la primera vez que lo hacemos, en la pantalla del dispositivo nos saldrá una pregunta en la cual deberemos aceptar):
Código PHP:
adb reboot bootloader 
- teniendo el dispositivo apagado, pulsamos simultáneamente y mantenemos pulsados, los botones de BAJAR VOLUMEN y ENCENDIDO, hasta que salga en la pantalla un muñeco y la palabra FASTBOOT. Ahora ya podemos conectarlo al Ordenador mediante un cable USB.
3.- Abrimos una ventana de comandos en el ordenador, en la carpeta en la cual tengamos el .ZIP de la Custom ROM, y además el .IMG del TWRP.
4.- Comprobamos que el ordenador está reconociendo correctamente al dispositivo Android conectado, con este comando:
Código PHP:
fastboot devices 
5.- comprobamos qué slot tenemos activo:
Código PHP:
fastboot getvar current-slot 
6.- Iniciamos en el TWRP (usaré el .IMG para el proceso, y NO el .ZIP). En el comando, poner el nombre que tenga tu fichero TWRP descargado... o bien renombrarlo para que se adapte al comando de ejemplo propuesto (twrp.img):
Código PHP:
fastboot boot twrp.img 
7.- tras unos segundo se iniciará el TWRP, deslizamos para que nos permita realizar modificaciones. Le das al botón WIPE, luego al FORMAT DATA y escribimos yes. Volvemos para atras y todavía dentro de WIPE, le damos al botón Advanced Wipe y allí marcamos todas las casillas que nos muestra, y luego deslizamos para que realice el proceso. Luego volvemos para atrás hasta el menú principal y allí pulsamos el botón ADVANCED, y luego ADB Sideload, y allí deslizamos para que se ponga en ese modo.
(Click para mostrar/ocultar)

8.- Tras haber activado el modo ADB sideload, escribimos en la ventana de comandos del Ordenador:
Código PHP:
adb sideload nombre-de-la-custom-rom.zip 
9.- Cuando acabe el proceso sin errores, reiniciamos el dispositivo de nuevo en modo fastboot con el comando:
Código PHP:
adb reboot bootloader 
10.- Comprobamos nuevamente qué slot está activo.
Código PHP:
fastboot getvar current-slot 
Observaremos que sigue siendo el mismo slot que teníamos antes. Y como he explicado anteriormente, la Custom ROM se ha instalado en el slot que antes estaba inactivo (y que hemos comprobado sigue inactivo), por lo que cambiaremos el slot que que ha de ser activo, o sea, activaremos el slot que antes estaba inactivo (automáticamente se pondrá como inactivo el otro slot):
Código PHP:
fastboot set_active a 
ó
Código PHP:
fastboot set_active b 
11.- Reiniciamos normalmente el dispositivo y lo desenchufamos del ordenador:
Código PHP:
fastboot reboot 
Este primer inicio suele tardar lago más de lo habitual, tras lo cual tendremos realizar la configuración inicial del dispositivo.

La mayoría de las Custom ROM, no traen las aplicaciones ni servicios de Google, conocidas como Google Apps ó GAPPS. Si las quieres, debes instalártelas desde el TWRP del mismo modo que hemos instalado la Custom ROM, con la salvedad de que NO hay que cambiar el slot, ya que SÓLO las ROMs las flashea en el slot inactivo, todo lo demás que flasheemos lo hace en el slot activo.

Última edición por LEPT Día 23/03/21 a las 18:15:55.
Responder Con Cita
Los siguientes 2 usuarios han agradecido a LEPT su comentario:


  #2  
Viejo 07/01/21, 21:32:04
Array

[xs_avatar]
Nande Hombre Nande no está en línea
Usuario muy activo
· Votos compra/venta: (4)
 
Fecha de registro: abr 2010
Localización: Valencia
Mensajes: 4,456
Modelo de smartphone: Xiaomi MI A2
Tu operador: Lowi
Muy bien explicado LEPT. Una chincheta para este hilo.

Comentar que hay ROMs que sí incluyen TWRP y/o GAPPS, por lo que facilitan el flasheo. Normalmente se indica en el hilo de xda de la ROM. En concreto la Pixel Extended sí incluye las GAPPS.

Un saludo!!
Responder Con Cita
  #3  
Viejo 16/01/21, 14:11:31
Array

[xs_avatar]
ferchotin Hombre ferchotin no está en línea
Miembro del foro
 
Fecha de registro: jul 2012
Localización: madrid
Mensajes: 440
Modelo de smartphone: Xiaomi MI A2.
Tu operador: Jazztel
Excelente tutorial. Con él , hasta mi abuela podría flashearse una custom.
muchas gracias.
Responder Con Cita
  #4  
Viejo 03/02/21, 14:45:23
Array

[xs_avatar]
LEPT Hombre LEPT no está en línea
Usuario muy activo
· Votos compra/venta: (1)
 
Fecha de registro: abr 2012
Localización: Ahí-donde-eso
Mensajes: 4,562
Modelo de smartphone: Xiaomi Mi A2
Tu operador: Movistar
@Nonamed , ¿podrías ponerle chincheta a este Hilo? Creo que podría servir de referencia a los usuarios de este Dispositivo

Última edición por LEPT Día 03/02/21 a las 18:53:11.
Responder Con Cita
  #5  
Viejo 03/02/21, 14:47:19
Array

[xs_avatar]
Nonamed Hombre Nonamed no está en línea
Equipo de HTCMania
· Votos compra/venta: (4)
 
Fecha de registro: feb 2011
Localización: Madrid
Mensajes: 173,434

Adherimos.
Responder Con Cita
Gracias de parte de:
  #6  
Viejo 21/02/21, 10:41:45
Array

[xs_avatar]
kanijo091 Hombre kanijo091 no está en línea
Miembro del foro
· Votos compra/venta: (2)
 
Fecha de registro: ago 2013
Localización: Sevilla
Mensajes: 416
Modelo de smartphone: Samsung Galaxy S, Moto G 2
Tu operador: Vodafone
probando a ver que tal... ya os cuento
Responder Con Cita
  #7  
Viejo 21/02/21, 16:07:41
Array

[xs_avatar]
kanijo091 Hombre kanijo091 no está en línea
Miembro del foro
· Votos compra/venta: (2)
 
Fecha de registro: ago 2013
Localización: Sevilla
Mensajes: 416
Modelo de smartphone: Samsung Galaxy S, Moto G 2
Tu operador: Vodafone
Todo correcto, Lineage os 17 corriendo. Sólo un problema con el Twrp, solucionado usando el de lineage
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Foros Xiaomi > Xiaomi Mi A2 > ROMs y desarrollo Xiaomi Mi A2

Herramientas


Hora actual: 03:00:41 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2021 DragonByte Technologies Ltd.