chijure
ES EN

← Volver al blog

TWRP en una partición de 5 MB: el LG C660

Publicado el · 2 min de lectura

La partición recovery del LG Optimus Pro C660 es una MTD de solo 0x500000 bytes (5 MB). Con el kernel de la recovery original (3,2 MB) TWRP no cabe, así que hubo que adelgazar el kernel.

El resultado

La imagen final pesa 4.349.952 bytes, con unos 0,9 MB libres. Funciona la pantalla táctil, adb, adb sideload, el almacenamiento USB de la microSD, y grabar la imagen con flash_image y leerla de vuelta idéntica. Quedan fuera MTP y el almacenamiento interno, porque el teléfono no tiene.

Lo que costó descubrir

SíntomaCausaArreglo
adb no apareceEl adbd de KitKat espera FunctionFS y este kernel usa el /dev/android_adb antiguoIncluir el adbd de Gingerbread
adb sigue sin aparecerEl adbd de Gingerbread sale si no puede abrir su escucha TCPCONFIG_INET=y en el kernel
“Reiniciar al sistema” vuelve a recoveryEl bootloader de LG deja una marca en misc y TWRP no puede escribir el BCB en MTDUn servicio de init que borra misc al arrancar
La pantalla queda con una imagen viejaEl LCD solo se refresca con FBIOPAN_DISPLAYTW_FBIOPAN := true
adb sideload fallaTWRP sirve el zip por FUSE y el kernel lo traía apagadoCONFIG_FUSE_FS=y (+25 KB)

Un detalle de Android 4.4

El sistema de compilación de KitKat no detecta cambios en LOCAL_CFLAGS. Si cambias una bandera y la imagen sale idéntica, borra los intermedios de libminuitwrp y de recovery y comprueba que el md5 cambie.