0

I have two identical Samsung Galaxy S3 (model GT-I9300), one running the stock rom and one running cyanogenmod. I want to download the rom from the one with the stock one and install it on the other one.

How do I download, with Odin or Heimdall, the rom from the stock S3?

1

You mean to take the Firmware (FW) out from the stock-FW phone and put it into the other one as-is? to have two identical-FW phones?

The confusion is in download/upload words, when you put the phone in bootloader mode it's saying "Download mode". From the phone's point of view, it's going to download stuff from PC.
If you want to take out the FW. It would be upload.

That's why it's safer to say flash and dump. Even though it's not really flashing.


It's somewhat possible to dump the FW, but there is usually no reason for doing so. Download the same version from the Internet and you'll end up with exactly the same system files as on other phones with the same FW version.

How to find specific firmware version on the Internet

On the stock-FW phone, go to Settings -> About Device -> Build number
and take a note of the second part of the number. It'll be something like I9300UBUGOD1
That also includes CSC version. Now search for this version on these two sites:
Samsung-Updates
SamMobile
or put it into Gugl, usually something cames out.
Flash it to target phone from PC using Odin. No root required.

To dump firmware from a phone

There could be a way to dump the phone without rooting, but no one knows how. We can only assume this possibility because there is a disabled option to Dump in Odin program. But I tried, as many others, with factory rooted phone, developer phone or one with unsecured test pre-release firmware version, the dump option is never available in the Odin program.
It's either just for some very special pre-release FW, or it was never implemented in the Odin software, or it was planned and never finished in phone's bootloader, because for no real usability perhaps? Or it must be activated by some special cable, or button combination presses.
Or it was put there by engineers in Korea just to taunt curious hackers.
I believe the latter, as even in new FW, if you dig in bootloader resources, you'll find a graphics showing green Android taunter with words "Upload mode".

So this is a known way to dump FW anyway:

Note that you'll need to root the stock-FW phone, to Dump it.
Firstly we need to find out which files we need to dump and then flash:
Open firmware's TAR or TAR.md5 file of any version of THE SAME model using 7zip and look inside. Note the names of files included.
Later you'll need to rename files you'll dump to the same names as those in this TAR. There is much more partitions that you can dump, than those you can flash. Files which are inside TAR should be enough to fully flash a phone, but not always all partitions are included, sometimes they leave bootoaders out.
In the list on the bottom I marked those which are never included by -
and those which I remember seeing in TAR files by +
Use that list to rename dumped files which you want to flash by Odin from Partition Name to Flash Filename, or get this list from your phone by following method. Be aware that you must not flash PIT and EFS, but you might dump it to have a backup.

To get a list out from your phone:

  • get Heimdall
  • connect phone
  • switch driver to libusb
  • in Heimdall - Utilities - Download PIT file
  • switch driver back by removing libusb in Windows Device Manager
  • alternatively download PIT from the Internet, but you'll need to trust whoever is posting it that it's not from another phone, version, or broken
  • go back in Heimdall
  • use printpit to print your PIT file
  • Note each entry which contains both: "Partition Name" and "Flash Filename"
    EXCEPT PIT and EFS partition. Make a backup but DO NOT FLASH PIT or EFS from one phone to another.

Now we have a naming scheme, Partition Name is how the file with partition will be dumped, and Flash Filename how it should be re-named before flashing.
Note that some partitions are not documented and there is no knowledge outside of the factory of what are they for. They might be for storing specific phone's information, or calibration data calculated and flashed once in factory for each phone.
Flash only partitions you'll find in stock TAR files.
Those not-in-TAR-file should be flashed only as last resort, when you know that those on target phone has been damaged. And always backup them before flashing new ones over them.

Make this dumping step on both target and source phones. On target just to have an backup.

  • root the phone
  • flash custom recovery TWRP recomended, but not working well on some models
  • boot into recovery
  • plug on PC, use adb or qtADB to go to /dev/block/platform/folder_with_different_name_in_each_phone/by-name
  • dd or use qtADB to copy "files" except USERDATA from that folder to media partition, sdcard, or UFD using USB OTG

Next on PC (or check alternative below):

  • rename all files according to flash files naming scheme
  • if you add recovery partition dumped from the rooted source phone, it will change targed status to custom, making KNOX disabled, same as if you just rooted it. If you don't want that either include official recovery from the same version of stock FW, or if there is working partition in the phone just don't include recovery in the TAR flash
  • on a linux machine or in cygwin Tar those files into TARball using ustar mode
  • no need to md5 it, as you probably trust yourself that you won't damage the file. but if you must than md5 it and concat hash to the end of TAR, rename to TAR.MD5
  • flash in Odin, no root required

Alternatively, but only for rooted phones, you can use dd on target phone, or MobileOdin.


be very careful, you must NOT flash PIT and EFS partition, even though they are mentioned in PIT file. For each phone EFS contains specific data, some of which are encrypted using some serial number taken from the phone. So each efs only works in the one phone which it's designed for. By flashing it, you'll loose the original one, that's not easily recoverable.

also no need to care about recovery partition, as it's not stock partition but custom, from the rooting process.


I know the DUMP part of this guide is not extra descriptive, but each step would need a separate post. If you're completely lost in it, consider downloading ready FW from the Internet.


s3 FW list dumped using heimdall. Might change with different FW versions:

+
Partition Name: APNHLOS
Flash Filename: NON-HLOS.bin

+
Partition Name: MDM
Flash Filename: modem.bin

Partition Name: SBL1
Flash Filename: sbl1.mbn

Partition Name: SBL2
Flash Filename: sbl2.mbn

Partition Name: SBL3
Flash Filename: sbl3.mbn

+
Partition Name: ABOOT
Flash Filename: aboot.mbn

Partition Name: RPM
Flash Filename: rpm.mbn

+
Partition Name: TZ
Flash Filename: tz.mbn

-
Partition Name: MODEMST1
Flash Filename: nvrebuild1.bin

-
Partition Name: MODEMST2
Flash Filename: nvrebuild2.bin

-
Partition Name: M9KEFS1
Flash Filename: m9kefs1.bin

-
Partition Name: M9KEFS2
Flash Filename: m9kefs2.bin

-
Partition Name: M9KEFS3
Flash Filename: m9kefs3.bin

+
Partition Name: SYSTEM
Flash Filename: system.img.ext4

+ this is CSC, might be left out
Partition Name: CACHE
Flash Filename: cache.img.ext4

+ only sometimes
Partition Name: PARAM
Flash Filename: param.lfs

+
Partition Name: BOOT
Flash Filename: boot.img

+ but you can't Dumb stock recovery as to dump you need root, to get root recovery is usually overwriten
Partition Name: RECOVERY
Flash Filename: recovery.img

Partition Name: PERSDATA
Flash Filename: persdata.img.ext4

+ but contains only crapware, version is connected with CSC
Partition Name: HIDDEN
Flash Filename: hidden.img.ext4

Partition Name: CARRIER
Flash Filename: carrier.img.ext4

- this is /data and INTERNAL STORAGE, aka sdcard, do not dump it's HUGE and there is no reason
Partition Name: USERDATA
Flash Filename: userdata.img.ext4

Partition Name: PGPT
Flash Filename: pgpt.img

- it is included sometimes but to change layout, NEVER FLASH IT might hard brick phone
Partition Name: PIT
Flash Filename: MSM8960.pit

+
Partition Name: MD5
Flash Filename: md5.img

Partition Name: SGPT
Flash Filename: sgpt.img
0

Depends on what sort of rom you download.

CASE 1: Stock ROM

If you download stock rom (like from Sammobile) then yes, you will need odin to flash it.

NOTE: There is an app called Mobile ODIN (pro version on play store), its the exact odin but it wont need pc. Since your phone is already rooted (you want to install rom on phone running CM right?), you can also try flashing using that. I always flash kernels in case they aren't in zip format using mobile odin. But, warning: I have never tested ROM flashing using mobile odin. Theoretically, it should work since thats the reason it was made. But I am unsure of success and consequences. Proceed at your own risk.


CASE 2: Custom ROM

It would be likely in .zip format. You cant flash that using odin. Now the real trick here is to get it into phone in which you need to install new rom.

Further possiblities:

  • Possibility 1: Your phone is in bootloop or any such state where it doesn't start.

In that case, get into recovery using volume up+power+home key combination (for phone where you need to install new rom). Set up ADB on your pc.

Transfer the rom file from your stock rom phone to pc.

Connect your phone to PC in which you want to install new rom after booting the phone into recovery.

Open cmd and enter this command->

adb push PathToRomAndFileName.zip /sdcard/

This will push the rom file to your phone, you can flash it using recovery the normal way.

  • Possibility 2: There is no bootloop, things work normally:

Just download rom to your phone with stock rom, transfer it to your phone in which you want to install it using bluetooth or whatever method you prefer. Go into recovery and flash it normal way.


Easiest Universal Method (whether its bootloop or not, needs external sdcard):

Download rom in your phone with stock rom.

Put in memory card and transfer rom to that.

Now eject memory card and put it in phone where you want to install the rom.

Boot to recovery and install the rom from external sdcard.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.