| || |
There were two explanation that I was looking at.
Originally Posted by skylacan
First was there might be different sized recovery partitions on different models. However your recovery partition is the same size as other phones.
The second explanation is that the recovery.img is a full backup of the entire mtd2 partition, even the portions that are empty. So the reason you are probably seeing the error is you actually do have a bad block (memory) in your recovery partition and the reason you see it flashing the v9 recovery.img is because it is exercising the entire range of memory in your recovery partition, whereas the other recoveries are only as big as the recovery needs, and/or they are smaller in general, so they are avoiding the bad block(s).
You can try an updated flash_image to see if that helps (I didn't look at the source to see if it handles stuff differently, so I'm not saying it will behave differently)
You can also just try rebooting to recovery and seeing if the V9 recovery comes up. There is a chance the important parts of the recovery.img were already written before hitting the bad block, so even though there is a write error, it isn't relevant. Do not use "adb reboot recovery" as I believe that will write stuff to the misc partition which might get you into a loop if your recovery is bad. I think using Power Down / Home + Vol- + Power will be ok.
I can also post a minimal recovery.img with the empty blocks removed to see if that avoids the bad blocks. Let me know if that is something you want to try.
You could also just run the V8->V9 update.zip. It should create the recovery partition by patching the boot partition. It should work in theory, but again, I haven't traced the exact mechanisms it is using to handle the various reboots and writing of flash memory, so couldn't tell you for sure it wouldn't get you into a boot loop.
There might be a way to format the recovery partition and lock out the bad block, but I don't know enough about the MTD tools to advise you on that.
I'm just warning you in advance about potential problems. I'm not saying any of these are likely.
So IMO the problem is with the flash memory on your device.