[AT&T Samsung Galaxy S 4 Q&A, Help & Troubleshootin] tom_callahan:
I ran into a corrupted or unaccessible /data partition several times this week, and after searching, couldn't find any tutorials on using heimdall to completely reset the phone back to stock. So... below is my version. Please provide any input on this method, it's worked a couple times with no issues for me.

FILENAMES BELOW ARE FOR ATT PHONE, if you are not ATT, use the relevant files for your carrier.

Instructions here were done on a Mac, but the programs and commands are the same on any Operating System.

1) Download the tar.md5 firmware files from galaxys4root DOT com or any other site which has them. I used the I337UCUAMDL_I337ATTAMDL_ATT.zip file

2) Download and install heimdall latest. I can't post links yet, google heimdall and you should find the site to download it.

3) Unzip the I337UCUAMDL_I337ATTAMDL_ATT.zip file, and you should get a folder with a tar.md5 file in it.

4) Using 7zip or similar, extract the tar.md5 file. You have have to rename it to just .tar instead of .tar.md5 for this to work.

5) You will have several files now, some ext4.img, some .mbn, etc.

6) You will now reboot your phone into "ODIN" mode, by holding Volume Down when booting, just after the vibration. When prompted, hit Volume Up to begin download mode.

7) On your Mac, open up Terminal, and navigate to the location you extracted the tar.md5 files to

8) In Terminal, type the following in the below order. The phone will reboot between each, you will need to repeat step 6 for each reboot.

8a) sudo heimdall flash --RECOVERY recovery.img --SYSTEM system.img.ext4 --HIDDEN hidden.img.ext4 --BOOT boot.img

8b) sudo heimdall flash --MDM modem.bin --APNHLOS NON-HLOS.bin --ABOOT aboot.mbn --BOOT boot.img --TZ tz.mbn

8c) sudo heimdall flash --CACHE cache.img.ext4

9) When your phone reboots the last time, it may just sit on the Samsung screen and not do anything. If this happens, reboot the phone (hold down the side power button) and hold Volume Up to reboot into Recovery mode. Use volume up and down to navigate to factory reset, and the power button to select. This will reformat and clean up your data partition.

10) Reboot the phone and wait patiently. You will see all the familiar factory logos and boot into a fresh working factory firmware

Hope this helps, any questions don't hesitate to PM me.

===================WINDOWS VERSION, by popular request================================

Instructions here were done on a Windows 7 PC

1) Download the tar.md5 firmware files from galaxys4root DOT com or any other site which has them. I used the I337UCUAMDL_I337ATTAMDL_ATT.zip file

2) Download and install heimdall latest. I can't post links yet, google heimdall and you should find the site to download it.

3) Unzip the I337UCUAMDL_I337ATTAMDL_ATT.zip file, and you should get a folder with a tar.md5 file in it.

4) Using 7zip or similar, extract the tar.md5 file. You have have to rename it to just .tar instead of .tar.md5 for this to work.

5) You will have several files now, some ext4.img, some .mbn, etc.

6) You will now reboot your phone into "ODIN" mode, by holding Volume Down when booting, just after the vibration. When prompted, hit Volume Up to begin download mode.

7) On your PC, open up a Command Prompt (Click the "start" button, and type in cmd and hit enter), and navigate to the location you extracted the tar.md5 files to

8) In the command prompt, type the following in the below order. The phone will reboot between each, you will need to repeat step 6 for each reboot.

8a) heimdall flash --RECOVERY recovery.img --SYSTEM system.img.ext4 --HIDDEN hidden.img.ext4 --BOOT boot.img

8b) heimdall flash --MDM modem.bin --APNHLOS NON-HLOS.bin --ABOOT aboot.mbn --BOOT boot.img --TZ tz.mbn

8c) heimdall flash --CACHE cache.img.ext4

9) When your phone reboots the last time, it may just sit on the Samsung screen and not do anything. If this happens, reboot the phone (hold down the side power button) and hold Volume Up to reboot into Recovery mode. Use volume up and down to navigate to factory reset, and the power button to select. This will reformat and clean up your data partition.

10) Reboot the phone and wait patiently. You will see all the familiar factory logos and boot into a fresh working factory firmware