¿Cómo instalar LineageOS en TWRP usando `adb push`?

Pregunta (TL;DR)

¿Cómo se puede cargar (manualmente) un archivo zip de LineageOS que se inserta en el teléfono usando TWRP?

Contexto

al instalar estolineage-17.1-20210430-nightly-FP2-signed.zip , con el siguiente comando:

adb sideload lineage-17.1-20210430-nightly-FP2-signed.zip

Observé que lineageOS se cuelga en la pantalla de carga durante varias horas. Así que primero verifiqué que el ziparchivo se descargue correctamente, usando el sha256, que es. A continuación, me di cuenta de que la causa podría ser que el zip se transmite directamente desde el host al teléfono. Entonces aprendí que una opción alternativa podría ser usar:

adb push lineage-17.1-20210430-nightly-FP2-signed.zip /sdcard/

Seguido de un comando para descargar el zip desde el teléfono.

método de carga lateral de adb

Para completar, el directo adb sideload lineage-17.1-20210430-nightly-FP2-signed.zipse realizó siguiendo los siguientes pasos: Primero, limpié el sistema usando Wipe>Advanced Wipe> select: Dalvik, System, Cache, Data, and swiping right, luego activé manualmente el modo de carga lateral presionando (y deslizando): Advanced>ADB Sideload>Swipe to Start Sideloadlo que generó:

Actualizando detalles de la partición... ... hecho RescueParty Soporte completo de SELinux presente ¿MTP habilitado? Iniciando la característica de carga lateral de ADB...

Aquí se hace una observación de que el indicador de carga continúa cargando sin ningún progreso. Esta también podría ser una razón por la cual la carga lateral no produce un arranque exitoso de LineageOS.

A continuación, probé. Primero probé el enfoque CLI:

adb sideload /sdcard/lineage-17.1-20210430-nightly-FP2-signed.zip

Qué salidas:

Instalando el archivo zip /sideload/package.zipDesmontando el sistema Advertencia: no hay file_contexts Destino: Fairphone/FP2/FP2:6.0.1/FP2-gms-18.04.01/FP2-gms-18.04.01:user/release-keys Parcheando la imagen del sistema incondicionalmente Script exitoso: resultado fue [1.000000] Formatear caché usando make_ext4fs... Limpiar caché y Dalvik... Limpiado: /data/dalvik-cache... -- Directorios de caché de Dalvik ¡Borrado completo!

Y presioné Reboot System. Esto da como resultado el arranque (aparentemente) interminable de la pantalla de carga de LineageOS.

método de inserción adb

Antes de probar otras compilaciones para el FP2, principalmente tenía curiosidad por saber cómo funcionaría la carga lateral usando adb push. Por lo tanto, probé:

adb push lineage-17.1-20210430-nightly-FP2-signed.zip /sdcard/

Y comencé a buscar formas de cargar ese zip desde el teléfono. Lo primero que probé fue, después de iniciar el modo de carga lateral manualmente y verificar que el TWRP estaba en modo de carga lateral con el comando adb devices:

adb sideload /sdcard/lineage-17.1-20210430-nightly-FP2-signed.zip

que devuelve:

adb: no se pudo establecer el archivo /sdcard/lineage-17.1-20210430-nightly-FP2-signed.zip: no existe tal archivo o directorio

A continuación, intenté explorar las opciones de TWRP manualmente. Una de las opciones podría ser: Install>browse to /sdcard> and tap the: lineage-17.1-20210430-nightly-FP2-signed.zip. Sin embargo, eso genera una advertencia:

This operation may install incompatible software and render your device unusable

Y creo que la instalación podría ser algo más que la carga lateral, por lo tanto, creo que esto podría bloquear el dispositivo o no ser lo que estoy buscando.

Nota

No se trata de xy-problemhacer que LineageOS arranque en el Fairphone, se trata de cómo cargar LineageOS usando TWRP desde el teléfono en lugar de hacerlo desde el host.

Tu comentario resolvió el problema xy. Desde TWRP lo probé por primera vez adb reboot fastbooty fastboot format userdataarrojó un conjunto de errores que comenzaron con: Couldn't parse erase-block-size '0x'.. Luego reinicié en TWRP e hice un formato de: Dalvik, System, Cache, Dataluego adb sideload ..zip, luego presioné back>Wipe>swiped formaty luego reinicié, ¡y luego LineageOS realmente se inició correctamente! No deduje (todavía) si fue el formato o la eliminación data(no los datos de usuario) en TWRP después de descargar LineageOS lo que resolvió el error. Las instrucciones no mencionan la eliminación de datos después.
Sí, para mayor claridad/completitud, eso debe hacerse antes de descargar LineageOS, lo que ya hice, lo que resultó en el error. Su sugerencia fue hacer eso después de descargar LineageOS, lo que inicialmente no hice, y después de hacerlo (junto con fastboot format userdata), el problema se resolvió. Por lo tanto, creo que es válido indicar que la recomendación de eliminar los datos de usuario después de descargar LineageOS no está incluida en las instrucciones a las que se vincula. Considerando que, desde mi experiencia y su comentario, parece importante/esencial.
el orden no importa, excepto que está instalando zip desde el almacenamiento interno. porque /sdcard es un montaje vinculante de /data/media/0 (y, por lo tanto, se borra cuando se formatea la información del usuario)

Respuestas (1)

Para responder solo al titular:

solo se pueden flashear imágenes de partición de bloque con adb push

  • extraer archivo zip

  • convertir archivo disperso en imagen de partición

    brotli --decompress --in system.new.dat.br --out system.new.dat
    python sdat2img.py system.transfer.list system.new.dat system.img
    
  • imágenes de partición flash de adb en recuperación TWRP

    adb push boot.img /dev/block/platform/msm_sdcc.1/by-name/boot
    adb push system.img /dev/block/platform/msm_sdcc.1/by-name/system
    

No olvide restablecer / formatear todos los datos de usuario de fábrica

  • se puede hacer desdeadb shell

    adb shell
    mke2fs -t ext4 /dev/block/platform/msm_sdcc.1/by-name/cache
    mke2fs -t ext4 /dev/block/platform/msm_sdcc.1/by-name/userdata
    

Para obtener más métodos alternativos para instalar manualmente OTA flashable zip
¿Es posible flashear una ROM personalizada sin una imagen de recuperación personalizada?

¿Podría quizás explicar por qué se requiere el restablecimiento de fábrica después de insertar las imágenes en el dispositivo? ¿O compartir una fuente que discuta esto?