The current state of the device is shown bellow. I prefer using heimdall to flash each partition directly from command line if possible. Unless it is mandatory to put all images inside a tar and flash them at the same time.

Top left corner of the Download mode screen:

enter image description here

More details of the previous (and solved) problem here: question

2 Answers 2


Flashing the correct img solved the problem:

heimdall flash --RECOVERY TWRP-\[Black-themed\].img.img 

File was found here: XDA-forum

Device: A205GUBU4ASK2

Previously rooted with boot.img patched by magisk and vbmeta flashed:

heimdall flash --BOOT magisk_patched.img
heimdall flash --VBMETA vbmeta.img

I highly recommend to avoid Samsung devices. Motorola ones, e.g. are better for custom ROMs.

If device complains about "official binaries", bypassing KG state is needed.

  • However TWRP worked only the first time. After I formatted Data and restarted, the device started with puritanism about "official binaries".
    – dawid
    Feb 1, 2020 at 18:35
  • I needed to bypass KG state. answer updated. thanks.
    – dawid
    Feb 3, 2020 at 18:24

For Heimdal:

I refer to the Developers read me file for linux command line instructions:

Flashing Firmware from Command Line:

1. Fully charge your phone (use the wall charger as it's faster).

2. Download a decrypted device ROM or a Heimdall Firmware Package
   and extract everything to the one directory.

3. If the ROM is not a Heimdall Firmware Package it may instead be provided
   as multiple archives (nested or otherwise), extract them all to the same

   NOTE: If you want to use the CSC then extract it last.

4. Put your Galaxy S device into download mode and plug it in..

5. Open a terminal and navigate to the directory where you extracted
   the ROM/firmware files.

6. Type the following to list all the functionality Heimdall supports:

        heimdall help

7. Before flashing, you must first know the names of the partitions you
   wish to flash. These can be obtained by executing:

        heimdall print-pit --no-reboot

   The inclusion of --no-reboot ensures the phone will not reboot after PIT
   file has been downloaded and displayed. After executing a command with
   the --no-reboot argument, the next command should include the --resume

   NOTE: You can still safely reboot your phone manually (with the power
         button) after executing --no-reboot commands.

8. Use the help and print-pit output to construct a command with all the
   files you want to flash.

   Here is an example that does a full flash and repartition on a GT-I9000:

        heimdall flash --repartition --resume --pit s1_odin_20100512.pit --FACTORYFS factoryfs.rfs --CACHE cache.rfs --DBDATA dbdata.rfs --IBL+PBL boot.bin --SBL Sbl.bin --PARAM param.lfs --KERNEL zImage --MODEM modem.bin

9. Heimdall will display the progress as it flashes so that you know things
   are working as they should.

How to Create a Heimdall Firmware Package:

Firstly, Heimdall's firmware package format is just a regular TAR archive
compressed with gzip. The only two real requirements are that a valid
firmware.xml must be included (refer to Appendix A) and you can only
include files (no directories, links etc.) As such if you'd like there is
nothing preventing you from creating Heimdall packages manually. Of course
Heimdall Frontend provides a simple user interface that takes care of all
the hard work for you.

There are two ways in which you can create a firmware package. You can
create a package from scratch, or you can load an existing package, apply
modifications and then save the package. Creating a package from scratch
is the preferred approach, by taking this approach you're far less likely
to run into file name length limitations.

Before you can access Heimdall Frontend's firmware creation functionality
(available from the "Create Package" tab) you must first specify which
files will be included in your package, as well as a few flashing options
i.e. Whether or not users should repartition when flashing. This
information must be filled out from the "Flash" tab in exactly the same
fashion you would provide information to flash your device (see "Performing
a Custom Flash with Heimdall Frontend"). As mentioned above, it's not the
preferred means, but you're able to load an existing package as a starting
point for this information.

Once you've specified the files/partitions you wish to include in your
firmware package the "Create Package" tab will become available. Clicking
this tab will display additional information that you can include in your
package. In order to continue you must fill out all sections except for the
URLs section, which is optional. The following is a break-down of what all
these options mean.

For Odin:

Depending on what Odin version you are using it can be slightly different. A newer Odin version it is pretty simple:

Make sure your bootloader is current with the devices firmware or updated. Check the u# within the firmware zip/tar name.

1) unpack the .zip of the official firmware.

2) Start Odin.

3) connect your device through USB. Once connected a device should show up within the com box.

4) select AP, within the selection go to your unpacked firmware and select the tar.md file or tar file.

Make sure you do not select/enable anything with the pit option.

5) Once loaded push the start button and let it so it's thing.

It should take a bit or got to twenty minutes or more to boot. Once booted you should be good to go with the firmware.

If you have more than just a single tar or tar.md5 file then:

1) unpack the .zip of the official firmware.

2) the zip might include a variety of things (files) such as AP, BL, CP, CSC.

3) start Odin.

4) connect your device through USB. Once connected a device should show up within the com box.

5) select each of the different boxes and within the selection put the associated files in the correct box. The AP (system), BL (Bootloader), CP (Modem), CSC (Device Variant).

Make sure you do not select/enable anything with thepit option.

6) Once loaded push the start button and let it so it's thing.


You must log in to answer this question.

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