EDIT: I think the question is more confusing than helpful. I leave it up simply because something else has been closed as a duplicate to this. My problem was finally solved by flashing a completely fresh stock android.

With my Galaxy S i9000 (galaxysmtd), I can only access download and recovery mode after flashing some recovery kernel via odin. The latter was done to escape the boot loop that my installed cyanogenmod 9 was stuck in.

Installing the cyanogenmod cm-9.1.0-galaxysmtd.zip from the sdcard from within the recovery mode gives me an error 7. This is supposedly because the recovery kernel I flashed was unfit.

My idea now is to flash only the kernel of the cyanogenmod-9.1.0-galaxysmtd as an odin-pda file, boot into recovery again and to then install the full ROM that is still on my sdcard, which should be possible then.

Because I can't boot the phone normally, I don't know how to put anything on the sdcard manually and have to use odin.

I have been reading though a lot of threads now, but the nomenclature seems to be used in such an inconsistent way that googling the right thing is almost impossible. I hope I expressed myself in sufficient clarity.

  • Are you talking about extracting a kernel from CM, and to flash that with Odin? Am not sure exactly what your question is....
    – t0mm13b
    Commented Jan 20, 2013 at 17:03
  • 3
    There's a reason why you got the error code 7, its not just kernel is "unfit" for the handset, could be the wrong fingerprint,out of space,existing ROM's fingerprint mismatches...check the recovery.log file in within the recovery partition, it will clue you in on the exact reason!
    – t0mm13b
    Commented Jan 20, 2013 at 17:32
  • 2
    See this question in which I answered, to save repeating, boot into recovery, use adb pull recovery.log from that and that should give you the answer you're looking for. The OP in the question of that linky I enclosed was confused about his scenario... this will shed some light into understanding why the error 7 occurred.
    – t0mm13b
    Commented Jan 20, 2013 at 17:40
  • 1
    Sounds like a buggy kernel! Try flashing a different kernel, there's a few from XDA site.... :) Do let us know how that goes for you :)
    – t0mm13b
    Commented Jan 21, 2013 at 17:30
  • 1
    XDA thread for i9000
    – t0mm13b
    Commented Jan 21, 2013 at 17:32

1 Answer 1


The key lines to understand why Error 7 occurred is from the recovery.log as shown here:

-- 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.

The fingerprint on the existing ROM, by way of the property ro.product.device or ro.build.product which is found in /system/build.prop did not match the expected one of the following:

  • galaxys
  • galaxysmtd
  • GT-I9000
  • GT-I9000M
  • GT-I9000T

In theory, you could edit the build.prop, and change it for this to work, but comes with a big fat juicy warning - "The actions in changing the build.prop's two properties could result in a soft-brick" :)

  • I do have a i9000. So it is NOT in kernel, but in the ROM? I guess the best would be to flash something via Odin? Commented Jan 21, 2013 at 17:29
  • Can you pull in the build.prop, you may be able to get away with changing it to make this work...? Disclaimer: you are on your own and am not responsible for any soft-bricks... ok? :) Paste it and let's have a looksy :)
    – t0mm13b
    Commented Jan 21, 2013 at 17:31
  • my /system -folder contains only "ls" and "bin" and is empty otherwise. Shouldn't the build.prop be there? Looks like this: pastebin.com/nDgXrNmg Commented Jan 21, 2013 at 17:52
  • That looks like to be a recovery's own /system, can you not mount the real /system where android fully boots up into?
    – t0mm13b
    Commented Jan 21, 2013 at 18:01
  • I don't quite understand, how should I mount that and where should I find it? Commented Jan 21, 2013 at 22:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .