1 votos

¿Rompería algo instalando otra compilación del mismo sistema operativo personalizado, pero con una firma diferente, utilizando una herramienta de recuperación personalizada?

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?

1voto

user149408 Puntos 106

Mover todo el /data a un dispositivo diferente ya no funciona con los dispositivos Android modernos, ya que esa partición ahora está cifrada. Por lo que he averiguado, el método de cifrado varía de un dispositivo a otro: cifrado de disco completo o cifrado basado en archivos. Por lo tanto, la herramienta de recuperación podría descifrar la partición o hacer una copia de seguridad de los datos cifrados y sus claves. La segunda opción sólo funcionaría si ambos dispositivos utilizan el mismo método de cifrado.

A partir de septiembre de 2022, TWRP no parece ser capaz de hacer copias de seguridad, o restaurar particiones cifradas, y LineageOS Recovery no incluye la funcionalidad de copia de seguridad en absoluto. No estoy al tanto de otras herramientas de recuperación de Android, por lo que actualmente no soy consciente de una manera de mover el. /data partición a un dispositivo diferente.

Eso significa que la única forma de hacer una copia de seguridad /data sería desde dentro del sistema operativo. Si eres Root, podrías probar tar ing el directorio en un dispositivo (almacenándolo en la tarjeta SD), y luego restaurarlo en el otro, aunque no tengo ni idea de si eso funciona. De lo contrario, NeoBackup (disponible en F-Droid) puede hacer una copia de seguridad por lotes de todas las aplicaciones instaladas con sus datos.

Para la parte de la firma, eso nos deja con la actualización entre compilaciones oficiales y no oficiales. El examen de un script de migración de claves para LineageOS revela que modifica dos archivos: /data/system/packages.xml y /data/system/packages-backup.xml . Contienen una lista de todos los paquetes instalados y, entre otras cosas, sus firmas. Según el instrucciones en la wiki de LineageOS, es necesario cambiar las firmas antes de actualizar a una imagen del SO con firmas diferentes.

Hay que reconocer que eso sigue sin responder del todo a mi pregunta original. Es de suponer que, o bien la herramienta de recuperación se negará a actualizar si las firmas no coinciden, o el nuevo sistema operativo arrojará un montón de errores en el arranque porque todas las firmas de las aplicaciones del sistema han cambiado, posiblemente obligándote a volver al sistema operativo antiguo o incluso a borrar tu partición de datos. Sin embargo, hay una ruta de migración si realmente necesita pasar a una imagen del sistema operativo con firmas diferentes.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X