¿Cómo flashear una recuperación personalizada con heimdall (sin tocar el sistema principal)?

El primer paso recomendado en la instalación de CyanogenMod en Samsung Galaxy S es actualizar una recuperación personalizada como ClockworkMod o la de Replicant con un comando como:

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

Ahora siento que las instrucciones pueden ser engañosas:

Hice el primer paso queriendo solo tener un modo de recuperación personalizado, sin proceder a reemplazar el sistema operativo principal en el dispositivo.

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

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

Funcionó para mí. Pero AFAIK, depende de la versión de la ROM estándar que tenga: algunas recuperaciones personalizadas pueden iniciarlo, otras no. Supongo que no hay una forma general.
@Flow Entonces, ¿se supone que el modo de recuperación y el modo normal usan la misma imagen al arrancar? Estaba pensando que tal vez hay dos imágenes diferentes para los diferentes modos de arranque, y reemplacé la incorrecta por error, y esa es la fuente de mi problema: arrancar siempre en el sistema de recuperación (sin importar si se presionan otras teclas al encender ) después de ejecutar el comando de flasheo de la publicación, aunque realmente me gustaría iniciar el antiguo sistema principal.
No, si el núcleo personalizado/recuperación arranca siempre en recuperación, generalmente es una señal de que no puede encontrar/arrancar el sistema normal.
Solo necesitaba volver a ejecutar print-pit cmd, luego flashear su boot.img en la partición donde había flasheado recovery.img, ¿no? En mi experiencia, casi siempre están uno al lado del otro.

Respuestas (4)

Depende de su archivo de partición PIT.

Antes de hacer algo con Heimdall, imprima la tabla de particiones de su 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 esto me dice 3 cosas principales:

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

¿Qué significa esto?

Esto significa que si quiero mostrar 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: mire el archivo pit para averiguar dónde flashear su recuperación.

Saludos, Mel

Solo una nota para los demás, si el recovery.imgflash tiene éxito pero deja que su dispositivo se reinicie normalmente inmediatamente después, es probable que la imagen de arranque elimine la imagen de recuperación personalizada. Use adbo use la combinación de teclas del modo de recuperación tan pronto como heimdall tenga éxito.

Una forma efectiva con Heimdall es simplemente ejecutar

sudo heimdall flash --RECOVERY twrp.img

Trabajó para mí en un S3 AT&T

Luego, cuando el teléfono se reinicie, acceda a la recuperación a través de

adb reboot recovery

También usé --no-rebootbandera. De lo contrario, el sistema arrancó y luego pareció que se reinstaló una recuperación oficial, por lo que no pude ingresar a TWRP. Y gracias por cierto.

No conozco el mapeo de partición del SGS, por lo que mi única sugerencia sería usar la GUI (heimdall-frontend) y seleccionar solo la partición de recuperación. A partir de la restauración del sistema original, mi sugerencia es actualizar la ROM original sin tocar /data. Pero haga una copia de seguridad primero usando una recuperación personalizada avanzada como esta si es posible: http://forum.xda-developers.com/showthread.php?t=2201860 (la característica clave es la copia de seguridad/restauración personalizada)

Pero, ¿qué sucede si destruyo el sistema operativo original al actualizar la recuperación personalizada? En mi caso, mostré una recuperación personalizada, pero el sistema operativo no arranca después de eso... ¿Qué podría salir mal? Eso es algo que no esperaba: solo quería actualizar una recuperación personalizada, pero no instalar un nuevo sistema operativo principal. Ahora me veo obligado a hacer eso.
heimdall flash --Recovery /Path/recovery.img --Kernel /Path/recovery.img

Instalación de recuperación de sistema operativo replicante