[Defy General] generalulstore:
Partial sbf

Hi all,

First, thank you rootdefyxt320 for this great tutorial !

Now, I have no idea whether this has been covered (I haven't found anything) so here goes.

There are lots of people that try their own boot images (or other flash-able images, mabye system, data etc) and get their devices soft bricked. This forces them to reflash their phones with the original working firmwares (sbf files for defy mini), a process that restores the phone to the factory condition.

Using the method in this thread it is possible (at least for my defy mini) to reflash only the partitions that were affected by the wrong flashing.

How it is done:

a) follow the steps 1 to 5 in the first post

NB: in Depacker you should FIRST check from the menu Advanced MBM -> extract headers (at least this is how I did it, there might be other ways)

b) in the folder where CG was extracted edit the file 'firmware.xml'. Keep the first and the last lines and the one containing 'partition'. Also keep the one that coresponds to the image you screwed (eg for boot you need to keep the one with 'bootsec', for recovery - 'recoverysec'). You can guess what is your image checking the filesize for the '.mbm' file - it should be big (at least a few hundred kilobytes) not small (a few bytes). If you have Windows you should use a Notepad++ or similar editor that is able to keep the linux end of line format.

For reference here is my 'firmware.xml':

<MBN>

<Partition Type="Extracted" Value="partition.mbn.header" />

<Partition Type="Extracted" Value="oemsblhdsec.mbn.header" />

<Partition Type="Extracted" Value="oemsblsec.mbn.header" />

<Partition Type="Extracted" Value="appsboothdsec.mbn.header" />

<Partition Type="Extracted" Value="appsbootsec.mbn.header" />

<Partition Type="Extracted" Value="amsshd.mbn.header" />

<Partition Type="Extracted" Value="amsssec.mbn.header" />

<Partition Type="Extracted" Value="boothd.mbn.header" />

<Partition Type="Extracted" Value="bootsec.mbn.header" />

<Partition Type="Extracted" Value="systemhd.mbn.header" />

<Partition Type="Extracted" Value="systemsec.mbn.header" />

<Partition Type="Extracted" Value="recoveryhd.mbn.header" />

<Partition Type="Extracted" Value="recoverysec.mbn.header" />

<Partition Type="Extracted" Value="userdatahd.mbn.header" />

<Partition Type="Extracted" Value="userdatasec.mbn.header" />

<Partition Type="Extracted" Value="flex.img.header" />

<Partition Type="Extracted" Value="splash.img.header" />

</MBN>

and this is how it looks after edit:

<MBN>

<Partition Type="Extracted" Value="partition.mbn.header" />

<Partition Type="Extracted" Value="bootsec.mbn.header" />

</MBN>

c) skip step 6

d) follow the remaining steps.

The result is a 'firmware.sbf' file that can be flashed to your device. Rsd lite will give errors, there will be errors on the device screen but after rebooting it it will be in the state it was before you 'tinkered' with it.

If you replaced the boot image of your defy mini you will notice that you can't get to flash mode (phone doesn't seem to start anymore). The workaround is to start your phone batteryless (power only by USB cable). Check this forum for instructions on how to do it (short version: remove battery, plug cable, keep pressed power + vol down + camer buttons and touch (for a second or two) the battery to phones terminals).

For those using linux: Depacker works with mono for linux (in terminal type: mono MotoAndroidDepacker.exe) or with wine version 1.6 and SBF Recalc with wine emulator (wine 'SBF-Recalc (version).exe').