Estoy a punto de adquirir un dispositivo para el que, de momento, sólo existe una build no oficial de LineageOS. Una solicitud de fusión para apoyar oficialmente este dispositivo está en marcha, pero como siempre con LineageOS, no hay ETA.
Un montón de mensajes del foro mencionan que puede haber problemas cuando las firmas no coinciden. Recuerdo que, al pasar de CyanogenMod a su sucesor LineageOS, hubo un proceso de migración especial (ya que la migración implicaba un cambio de la firma del sistema operativo, creo):
- Instalar una compilación especial de LineageOS sólo para migración (pensada sólo para migración desde CyanogenMod, no para uso permanente).
- Arranca LineageOS una vez
- Instala una versión normal de LineageOS sobre él
También ahora, estoy viendo discusiones sobre rutas de migración de una build no oficial de LineageOS a una oficial (de nuevo, con diferentes firmas). Sin embargo, todavía no he visto una explicación clara de lo que hace la firma y lo que se rompería si la firma no coincide. Es de suponer que cualquier herramienta de actualización rechazaría una actualización con una firma diferente. Sin embargo, las herramientas de recuperación personalizadas (TWRP con seguridad) permiten saltarse las comprobaciones de firma, por lo que esto no sería un problema. ¿Se me escapa algo más?
Mi ruta de actualización prevista es la siguiente:
- Usando TWRP (o posiblemente, LineageOS Recovery), crear una copia de seguridad de la partición de datos en mi dispositivo actual.
- Desbloquea el bootloader del nuevo dispositivo.
- Instala TWRP (si está disponible) o LineageOS Recovery en el nuevo dispositivo.
- Instala la versión aún no oficial de LineageOS en el nuevo dispositivo.
- Utilizando la herramienta de recuperación, restaurar la copia de seguridad de datos en el nuevo dispositivo.
- Utiliza el nuevo dispositivo.
- Cuando una versión oficial de LineageOS esté disponible, reinicia en recovery e instálala.
- Sigue usando el nuevo dispositivo, ahora con una build oficial de LineageOS.
Al cambiar de Nexus S a OnePlus One, seguí los seis primeros pasos y esto funcionó sin problemas. Ambos dispositivos estaban en la misma versión de CyanogenMod, aunque ambos eran builds oficiales, presumiblemente con la misma firma. Por lo tanto, siempre y cuando la firma del sistema operativo no cambie, está demostrado que el proceso anterior funciona, salvo en el caso de que las aplicaciones individuales realicen alguna verificación adicional, cuyos efectos sólo afectarían a esa aplicación en particular.
¿Podría utilizar el mismo procedimiento para actualizar a una versión del mismo sistema operativo pero con una firma diferente? Si no es así, ¿qué es lo que fallaría al no coincidir la firma?