2 votos

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

Pregunta (TL;DR)

¿Cómo se puede (manualmente) sideload un archivo zip LineageOS que se empuja en el teléfono utilizando TWRP?

Contexto

mientras se instala este lineage-17.1-20210430-nightly-FP2-signed.zip con el siguiente comando:

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

He observado que el lineageOS se queda colgado en la pantalla de carga durante varias horas. Así que primero verifiqué que el zip el archivo es descargado correctamente, usando el sha256, lo cual 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. Así que 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 cargar lateralmente el zip desde el teléfono.

método adb sideload

Para completar la información, el adb sideload lineage-17.1-20210430-nightly-FP2-signed.zip se realizó siguiendo los siguientes pasos:Primero, borré el sistema usando Wipe>Advanced Wipe> select: Dalvik, System, Cache, Data, and swiping right , y luego activar manualmente el modo de carga lateral pulsando (y deslizando): Advanced>ADB Sideload>Swipe to Start Sideload que se ha emitido:

Actualizando los detalles de la partición... ... hecho RescueParty Soporte completo de SELinux está presente MTP habilitado ? Iniciando la función de carga lateral de ADB...

Aquí se observa que el indicador de carga sigue cargando sin ningún progreso. Esto también podría ser una razón por la que el sideload no produce un arranque exitoso de LineageOS.

A continuación, intenté primero el enfoque CLI:

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

Qué salidas:

Instalación del archivo zip /sideload/package.zip Desmontaje del sistema Advertencia: no hay file_contexts Objetivo: 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 Parcheando tuvo éxito: el resultado fue [1.000000] Formateando la caché usando make_ext4fs... Limpiando caché y Dalvik... Limpiado: /data/dalvik-cache... -- ¡Limpieza de los directorios de caché de Dalvik completada!

Y presioné Reboot System . Esto resulta en el (aparentemente) interminable arranque de la pantalla de carga de LineageOS.

método adb push

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

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

Y empecé a buscar la forma de cargar lateralmente ese zip desde el teléfono. Lo primero que probé fue, tras iniciar el modo sideload manualmente y verificar que el TWRP estaba en modo sideload con el comando adb devices :

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

Que vuelve:

adb: failed to stat file /sdcard/lineage-17.1-20210430-nightly-FP2-signed.zip: No such file or directory

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 produce una advertencia:

This operation may install incompatible software and render your device unusable

Y creo que la instalación puede ser algo más que el sideloading, de ahí que piense que esto puede brickear el dispositivo/no ser lo que busco.

Nota

No se trata de la xy-problem de hacer que LineageOS arranque en el Fairphone, se trata de cómo cargar LineageOS usando TWRP desde el teléfono en vez de desde el host.

0 votos

Tu comentario ha resuelto el problema xy. Desde TWRP probé primero adb reboot fastboot y fastboot format userdata lo que arrojó un conjunto de errores que comienzan con: Couldn't parse erase-block-size '0x'. . Luego se reinició en TWRP e hizo un formato de: Dalvik, System, Cache, Data entonces adb sideload ..zip , y luego presionó back>Wipe>swiped format ¡y luego reinicié, y entonces LineageOS realmente arrancó correctamente! Yo no (todavía) derivar si era el formato, o la limpieza de data (no userdata) en TWRP después de sideloading LineageOS que resolvió el error. Las instrucciones no mencionan el borrado de datos después.

0 votos

Sí, para mayor claridad/completitud, esto debe hacerse antes de sideloading LineageOS, que ya lo hice, lo que dio lugar al error. Su sugerencia era hacer eso después de sideloading LineageOS, que inicialmente no hice, y después de hacerlo, (junto con fastboot format userdata ), el problema se resolvió. Así que creo que es válido indicar que la recomendación de eliminar userdata después de El sideloading de LineageOS no está incluido en las instrucciones que enlazas. Mientras que, por mi experiencia, y tu comentario, parece importante/esencial.

1 votos

El orden no importa, excepto si instalas el zip desde el almacenamiento interno, porque /sdcard es el montaje de bind de /data/media/0 (y por lo tanto se borra cuando se formatean los datos del usuario)

2voto

alecxs Puntos 29

Sólo para responder al titular:

sólo se pueden flashear imágenes de partición de bloques con adb push

  • extraer el archivo zip

  • convertir un archivo disperso en una 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
  • flashear imágenes de partición desde adb en TWRP recovery

    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 olvides resetear de fábrica / formatear todos los datos del usuario

  • se puede hacer desde adb 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 más métodos alternativos para instalar manualmente OTA flashable zip
¿Es posible flashear una ROM personalizada sin una imagen de recuperación personalizada?

0 votos

¿Podría explicar por qué es necesario el restablecimiento de fábrica después de introducir la(s) imagen(es) en el dispositivo? ¿O compartir una fuente que hable de esto?

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