12 votos

¿Cómo flashear un custom recovery con heimdall (sin tocar el sistema principal)?

El primer paso recomendado en la instalación de CyanogenMod en Samsung Galaxy S es flashear un custom recovery como ClockworkMod o el de Replicant con un comando como:

heimdall flash --kernel path/to/recovery.img

Ahora creo que las instrucciones pueden inducir a error:

He hecho el primer paso queriendo solo tener un modo recovery personalizado, sin proceder a reemplazar el SO principal del dispositivo.

Parece que lo he hecho mal, porque ahora el dispositivo siempre arranca en el modo de recuperación.

¿Cuál sería el comando heimdall correcto para instalar un sistema de recuperación personalizado sin tocar el sistema principal?

0 votos

A mí me funcionó. Pero AFAIK depende de la versión de la ROM stock que tengas: Algunos custom recoveries son capaces de arrancarlo, otros no. Supongo que no hay una manera general.

0 votos

@Flow Entonces, ¿se supone que el modo de recuperación y el modo normal utilizan la misma imagen al arrancar? Estaba pensando que tal vez hay dos imágenes diferentes para los diferentes modos de arranque, y he sustituido la equivocada por error, y esa es la fuente de mi problema: arrancar siempre en el sistema de recuperación (no importa si se pulsan otras teclas al encender) después de ejecutar el comando de flasheo del post, aunque realmente me gustaría arrancar el viejo sistema principal.

16voto

user100808 Puntos 16

Depende de su archivo de partición PIT.

Antes de hacer nada con heimdall, imprime la tabla de particiones de tu teléfono.

sudo heimdall print-pit

La salida del archivo es la ubicación asignada a cada partición. Por ejemplo en mi Galaxy S3, tengo algo como esto:

--- Entry #20 ---
Binary Type: 0 (AP)
Device Type: 2 (MMC)
Identifier: 19
Attributes: 5 (Read/Write)
Update Attributes: 1 (FOTA)
Partition Block Size/Offset: 491520
Partition Block Count: 32768
File Offset (Obsolete): 0
File Size (Obsolete): 0
Partition Name: Kernel2
Flash Filename: recovery.img
FOTA Filename:

Ahora bien, esto me dice 3 cosas principales:

  • Asigna un nombre al archivo flash: recovery.img
  • Ubicación del identificador 19
  • Y finalmente el nombre de la partición de recuperación Kernel2

¿Qué significa esto?

Esto significa que si quiero flashear una imagen de recuperación debo usar el identificador 19, o el nombre Kernel2.

sudo heimdall flash --19 any-type-of-recovery.img

o

sudo heimdall flash --Kernel2 any-type-of-recovery.img

Conclusión: Mira el archivo pit para saber donde flashear tu recovery.

Salud, Mel

4voto

Bullines Puntos 2541

Una forma efectiva con Heimdall es simplemente ejecutar

sudo heimdall flash --RECOVERY twrp.img

Funcionó para mí en un S3 AT&T

A continuación, cuando el teléfono se reinicia, vaya a la recuperación a través de

adb reboot recovery

1voto

flashcactus Puntos 11

No conozco el mapeo de particiones del SGS, así que mi única sugerencia sería usar la GUI (heimdall-frontend) y seleccionar sólo la partición de recuperación. En cuanto a la restauración del sistema original, mi sugerencia es reflashear la ROM original sin tocar /data. Pero haz primero una copia de seguridad usando un custom recovery avanzado como este si es posible: http://forum.xda-developers.com/showthread.php?t=2201860 (la característica clave es la copia de seguridad/restauración personalizada)

0 votos

Pero, ¿y si destruyo el SO original al flashear el custom recovery? En mi caso, he flasheado un custom recovery, pero el SO no arranca después de eso... ¿qué podría ir mal? Eso es algo que no me esperaba: Sólo quiero flashear un custom recovery, pero no instalar un nuevo sistema operativo principal. Ahora me veo obligado a hacerlo.

0voto

Miklo Velka Puntos 1
heimdall flash --Recovery /Path/recovery.img --Kernel /Path/recovery.img

Instalación de Replicant OS Recovery

-1voto

user57008 Puntos 1

La wiki esta mal, creo. el ejemplo de heimdall muestra "--KERNEL" y "zImage" cuando se habla de como flashear el recovery. Creo que esas opciones son para flashear un nuevo kernel, no una imagen de recuperación. prueba con "heimdall --help" o busca en la página wiki de cyanogenmod para otro dispositivo para ver un comando de flasheo de recuperación apropiado.

...esto también explicaría por qué el dispositivo sólo se reinicia en modo recovery. ¡se ha flasheado recovery como kernel! :)

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