0 votos

Fastboot atascado en enviando sistema

Siento que mi viejo móvil con android 2 o 3 se ha quedado bloqueado ya que se queda atascado en el logotipo de inicio cada vez, pero puedo entrar fácilmente en el modo fastboot, aunque en este modo puedo completar los siguientes comandos como:

fastboot devices
fastboot flash recovery recovery.img
fastboot flash splash splash.img
fastboot flash userdata userdata.img

Pero cada vez que ejecuto el siguiente comando

fastboot flash system system.img

El comando fastboot se queda atascado en

Enviando 'system' (124183 KB)

Puedo borrar fácilmente el sistema pero no puedo flashearlo.

0 votos

¿Has actualizado adb a la última versión en tu computadora portátil? Las versiones antiguas no pueden manejar archivos grandes.

0 votos

Sí, a la última versión lanzada, es decir, la versión 1.0.41 de Android Debug Bridge Versión 29.0.5-5949299 instalada como /usr/bin/adb

2 votos

Arranca en modo de recuperación y escribe system.img usando dd.

0voto

alecxs Puntos 29

Arrancar en modo de recuperación desde fastboot, una vez en twrp entrar en adb shell, o usar -> Avanzado -> Terminal

fastboot boot recovery.img
adb shell

ten cuidado con dd especialmente verifica dos veces el nombre de la partición y el tamaño de la partición.

en tu /etc/recovery.fstab puede que solo haya un enlace simbólico pero no te preocupes puedes usarlo dd apuntará a la partición real.

cat /etc/recovery.fstab
ls -l /dev/block/bootdevice/by-name/system
dd if=/external_sd/system.img of=/dev/block/mmcblk0p99  

si el tamaño del archivo es mayor que el tamaño de la partición, es muy recomendable agregar los parámetros tamaño de bloque y conteo para limitar el proceso de escritura al tamaño máximo de la partición, de lo contrario tu partición de caché y userdata podrían ser destruidas.

cuidado, los archivos mayores de 4 GiB no se pueden copiar en una tarjeta MicroSD, así que en su lugar usa adb push

adb push system.img /dev/block/mmcblk0p99  

¿Cómo puedo ver la tabla de partición interna de Android?

si no estás seguro de si tu system.img es una imagen fragmentada o comprimida LZ, puedes revisar el encabezado para ver el tipo de sistema de archivos / magia de partición
ext4: 0xEF53 en offset 0x438
f2fs: 0xF2F52010 en offset 0x400

hexdump -C -n1088 system.img | grep 53.ef
hexdump -C -n1032 system.img | grep 10.20.f5.f2

si se encuentra una de estas magias, la imagen se puede montar en bucle para probar, de lo contrario necesitas convertir el archivo primero con simg2img o sdat2img

3 votos

Usar 1024 bytes como tamaño de bloque es una mala elección para el almacenamiento flash. El tamaño interno de los chips flash suele ser mayor (en el rango de 4-8K). Escribir con un tamaño de bloque más bajo puede resultar en bloques flash que necesitan ser escritos múltiples veces. Por lo tanto, un tamaño de bloque de 8192 y una cantidad reducida preservarán el flash y también pueden aumentar la velocidad de escritura.

0 votos

Gracias, no sabía eso. Siempre estaba usando 1k porque es fácil de comparar con el tamaño de bloque de salida de /proc/partitions y df

0 votos

¿Estás seguro de esto: de lo contrario, tu caché y partición de datos de usuario podrían ser destruidas?

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