Intermitente Cyanogenmod9 - Kernel a través de Odin

EDITAR: Creo que la pregunta es más confusa que útil. Lo dejo simplemente porque algo más se ha cerrado como un duplicado de esto. Mi problema finalmente se resolvió al actualizar un Android de stock completamente nuevo.

Con mi Galaxy S i9000 (galaxysmtd), solo puedo acceder al modo de descarga y recuperación después de actualizar algún kernel de recuperación a través de odin. Esto último se hizo para escapar del bucle de arranque en el que estaba atascado mi cyanogenmod 9 instalado.

La instalación de cyanogenmod cm-9.1.0-galaxysmtd.zip desde la tarjeta SD desde el modo de recuperación me da un error 7. Esto se debe supuestamente a que el kernel de recuperación que flasheé no era apto.

Mi idea ahora es flashear solo el kernel de cyanogenmod-9.1.0-galaxysmtd como un archivo odin-pda, iniciar la recuperación nuevamente y luego instalar la ROM completa que todavía está en mi tarjeta SD, lo que debería ser posible entonces.

Como no puedo iniciar el teléfono normalmente, no sé cómo poner nada en la tarjeta SD manualmente y tengo que usar Odin.

He estado leyendo muchos hilos ahora, pero la nomenclatura parece usarse de una manera tan inconsistente que buscar en Google lo correcto es casi imposible. Espero haberme expresado con suficiente claridad.

¿Estás hablando de extraer un kernel de CM y actualizarlo con Odin? No estoy seguro de cuál es exactamente tu pregunta....
No, asumí que existe un núcleo separado para CM9.
Hay una razón por la que obtuvo el código de error 7, no es solo que el núcleo no es "apto" para el teléfono, podría ser la huella dactilar incorrecta, falta de espacio, discrepancias de huellas dactilares de la ROM existente... verifique el archivo dentro de la partición de recuperación recovery.log, ¡te dará una pista sobre la razón exacta!
¿Cómo podría hacer eso? Quiero decir, ¿cómo leer el recovery.log?
Vea esta pregunta en la que respondí, para guardar la repetición, inicie la recuperación, use adb pull recovery.logeso y eso debería darle la respuesta que está buscando. El OP en la pregunta de ese enlace que adjunté estaba confundido acerca de su escenario ... esto arrojará algo de luz para comprender por qué ocurrió el error 7.
@ t0mm13b Este es mi recovery.log completo: pastebin.com/vrEPBcfE
¡Ahí está tu respuesta! ¡La huella digital de su ROM existente no coincide! ¿Qué ROM existente tenías en ejecución antes de intentar flashear?
@ t0mm13b Tenía Cyanogenmod9.1.0 en ejecución, que de repente ya no arrancó. Luego mostré CWM Recovery v2.5.1.0 SOK ULFK, que estoy usando ahora para iniciar la recuperación.
¿ Por qué CM 9.1 de repente ya no arrancó ? ¿Qué hiciste exactamente?
Lo único que se me ocurre es que saqué la batería con el teléfono apagado. Estaba en un vuelo de regreso de vacaciones, así que no he estado haciendo nada extraño en mucho tiempo. Este tipo aquí parece tener el mismo problema (en alemán): android-hilfe.de/root-hacking-modding-fuer-samsung-galaxy-s/…
¡Suena como un núcleo con errores! Intente actualizar un kernel diferente, hay algunos del sitio XDA.... :) Háganos saber cómo le va :)
Tengo problemas para encontrar mi camino en XDA. ¿Podría darme un empujoncito en la dirección de una página allí donde pueda encontrar núcleos adecuados?
Puedo ver las stock roms, pero ¿hay algo que haga que mi CM9 vuelva a funcionar? Quiero decir, flasheo un kernel y puedo arrancar en CM9 nuevamente.
@ t0mm13b, finalmente lo resolví descubriendo cómo flashear stock rom y hacerlo. Estoy pensando en eliminar todo este hilo, ya que probablemente solo cause confusión entre los futuros usuarios de Google.

Respuestas (1)

Las líneas clave para entender por qué ocurrió el error 7 son las recovery.logque se muestran aquí:

-- Installing: SDCARD:cm-9.1.0-galaxysmtd.zip
Finding update package...
I:Update location: SDCARD:cm-9.1.0-galaxysmtd.zip
Opening update package...
I:Update file path: /mnt/sdcard/cm-9.1.0-galaxysmtd.zip
Installing update...
I:Trying update-binary.
script aborted: assert failed: getprop("ro.product.device") == "galaxys" || getp
rop("ro.build.product") == "galaxys" ||
       getprop("ro.product.device") == "galaxysmtd" || getprop("ro.build.product
") == "galaxysmtd" ||
       getprop("ro.product.device") == "GT-I9000" || getprop("ro.build.product")
 == "GT-I9000" ||
       getprop("ro.product.device") == "GT-I9000M" || getprop("ro.build.product"
) == "GT-I9000M" ||
       getprop("ro.product.device") == "GT-I9000T" || getprop("ro.build.product"
) == "GT-I9000T"
assert failed: getprop("ro.product.device") == "galaxys" || getprop("ro.build.pr
oduct") == "galaxys" ||        getprop("ro.product.device") == "galaxysmtd" || g
etprop("ro.build.product") == "galaxysmtd" ||        getprop("ro.product.device"
) == "GT-I9000" || getprop("ro.build.product") == "GT-I9000" ||        getprop("
ro.product.device") == "GT-I9000M" || getprop("ro.build.product") == "GT-I9000M"
 ||        getprop("ro.product.device") == "GT-I9000T" || getprop("ro.build.prod
uct") == "GT-I9000T"
E:Error in /mnt/sdcard/cm-9.1.0-galaxysmtd.zip
(Status 7)
Installation aborted.

La huella digital en la ROM existente, a través de la propiedad ro.product.deviceo ro.build.productque se encuentra en /system/build.propno coincidía con la esperada de las siguientes:

  • Galaxy S
  • galaxiasmtd
  • GT-I9000
  • GT-I9000M
  • GT-I9000T

En teoría, podría editar el archivo build.propy cambiarlo para que esto funcione, pero viene con una gran y jugosa advertencia: " Las acciones al cambiar las dos propiedades de build.prop podrían resultar en un ladrillo blando " :)

Yo tengo un i9000. ¿Entonces NO está en el kernel, sino en la ROM? Supongo que lo mejor sería mostrar algo a través de Odin.
¿Puedes tirar del build.prop, es posible que puedas salirte con la tuya cambiándolo para que esto funcione...? Descargo de responsabilidad: estás solo y no soy responsable de ningún ladrillo blando... ¿de acuerdo? :) Pégalo y echemos un vistazo :)
mi carpeta / system contiene solo "ls" y "bin" y está vacía de lo contrario. ¿No debería estar allí build.prop? Se ve así: pastebin.com/nDgXrNmg
Eso parece ser propio de una recuperación /system, ¿no puedes montar el verdadero /systemdonde Android se inicia por completo?
No entiendo muy bien, ¿cómo debo montar eso y dónde debo encontrarlo?
¿No hay una opción de montaje en el menú desde dentro de la propia recuperación?
Hay tal opción, pero dice:Can't mount /dev/block/st19 to /system[...]