[AT&T Samsung Galaxy S 4 General] gtj0:
If you loaded the MJ6 leak, the OTA MJ9 update isn't going to work. Here's how to get it to work.

THIS WILL PROBABLY WIPE YOUR DEVICE!!

IF YOU HAD ROOT ON MJ6 YOU"LL ALMOST CERTAINLY LOSE IT!!

Read the entire instructions before you start. If you don't feel comfortable following them, don't try!

Download the OTA update file from here http://xdaforums.com/showpost.php?p=47452029&postcount=325

Thank the user who posted the file.

Rename the downloaded file (2400258..cfg) to update-mf3-mj9.zip for convenience.

You can also download the update file from here... https://drive.google.com/folderview?id=0B1DGsUzId7AHTjlIbklXeTYyS2c&usp=sharing

Thanks to user bigfdaddy2.

Now the fun part...

If you're flashing with Odin, skip down to the "Flashing with Odin" section.

Flashing with heimdall...

Download the MF3 tar files from here http://xdaforums.com/showthread.php?t=2502003

Thank the user who posted the file.

Do NOT flash this file directly. It won't work because the MJ6 bootloader won't let you go back.

Extract all the files...

unrar x MF3\ TARs.rar
cd JellyBean
ls *.md5 | xargs -n1 tar -xf

You should now have all the flash files for MF3. Don't flash any files other than the ones in the command below.

Put your phone in Download mode.

Now flash...

heimdall flash \
--SYSTEM system.img.ext4 \
--MDM modem.bin \
--APNHLOS NON-HLOS.bin \
--CACHE cache.img.ext4

If the flash fails STOP and post in this thread. What to do next depends on exactly what failed, what you've retried and where you wound up.

If the flash was successful, the phone will reboot into recovery and apply a small update from cache. That update MUST succeed or the MJ9 update will fail. If the update applied successfully, the phone will reboot and stick on a black screen. The notification LED will pulse blue for a few minutes then stop. That's normal! Proceed with the Sideload instructions below.

Flashing with Odin.

Thanks again to bigfdaddy2, you can download an Odin file here...

https://drive.google.com/folderview?id=0B1DGsUzId7AHTjlIbklXeTYyS2c&usp=sharing

Put your phone in Download mode and flash the file in the PDA section of Odin.

If the flash fails STOP and post in this thread. What to do next depends on exactly what failed, what you've retried and where you wound up.

If the flash was successful, the phone will reboot into recovery and apply a small update from cache. That update MUST succeed or the MJ9 update will fail. If the update applied successfully, the phone will reboot and stick on a black screen. The notification LED will pulse blue for a few minutes then stop. That's normal! Proceed with the Sideload instructions below.

Sideloading update.

Boot to recovery mode now and select Apply update from ADB.

Back on your workstation...

adb sideload update-mf3-mj9.zip

You CAN apply the update from an external SD Card but the phone will reboot on its own even if the update fails and you'll miss the error messages. Applying from SD Card will also CERTAINLY do a factory reset. You have a chance of saving your data if you do the sideload.

If the update was successful, reboot the phone and you'll be at stock MJ9.

If the update fails STOP and post in this thread.

Background.

Like most OTA updates, the update.zip file contains mostly patch files which are the differences between the old version of a file and the new version. Because of this, the old version has to be exactly what is expected. This OTA update expects the existing files to be the MF3 versions. Anything else will cause the verification process to fail.

Everything that the update checks is in the system filesystem (system.img.ext4), and the modem (modem.bin and NON-HLOS.bin) so to fake the updater out, we flash those partitions at a minimum. The cache filesystem (cache.img.ext4) contains a small update to system which is also required and so we flash that as well. That's the intermediate recovery step that happens automatically after the flash completes. Once that happens, the phone isn't usable but it has enough of the MF3 files to allow the update script to complete successfully. The script patches all the system and modem files to MJ9 and writes it's own new bootloader (aboot.mbn) and kernel (boot.img).

Don't panic if something goes wrong. Just post in the thread. I've recovered mine from certain death about a dozen times since I first posted this guide yesterday morning.