I have been getting quite a few requests on XDA from members who need to know how to put TWRP and custom roms on their Samsung Galaxy S4. So, I thought I would post it here as well. Keep in mind, this does not work for Verizon, Sprint, or AT&T models, but will work for the International and T-Mobile models, as well as the Canadian models.

You can download any of the custom roms from my site at the title bar links.

If you use Windows instructions

[CODE]
If your phone is a JFLTEXX (i9505)
Go to: https://dl.twrp.me/jfltexx/
and download 3.0.2-0 tar

If your phone is a JFLTETMO (M919)
Go to: https://dl.twrp.me/jfltetmo/
and download 3.0.2-0 tar

If your phone is a JFLTEAIO (i337z)
Go to: https://dl.twrp.me/jflteatt/
and download 3.0.2-0 tar

Then, download this:
http://www.mediafire.com/download/7us5q44aab1xl9d/Odin304.zip

-Unzip Odin.
-Turn on your phone (normal turn on) boot up into the stock system.
-plug in your phone, let Windows find the drivers.
-Once Windows found your drivers, unplug the phone, turn your phone off.
-open Odin.exe
-Click on PDA, and choose the TWRP file you downloaded.
-With your phone unplugged and off, Now press and hold the DOWN volume button and the power button.
-When the phone vibrates, you can release the power button, but keep holding the down button.
-You will see a warning screen. Release the down button, and press the volume up button to enter “download” mode.
-Plug your phone into the computer.
-Press start/ok button on Odin.

You should see a blue bar on your phone screen that fills up from left to right. Odin should say “pass” or “success”. Your phone should automatically reboot itself. If this did not happen, seek help. Seriously. 😀

-Plug your phone into the computer again, and copy the Gapps and Rom from post #1 to your external sdcard of your phone.
-Now, turn off the phone again.
-Hold the UP volume button, and the power button.
-When the phone vibrates, you can release the power button, but keep holding the UP volume button.
-You will enter TWRP. Now you can release the UP volume button.
-You should now MAKE A BACKUP TO YOUR EXTERNAL SDCARD. -With this, you can always go back!
-After making a backup, you should wipe your phone. Select wipe, slide the slider to wipe your phone. This will not wipe your external sdcard.
-Install Rom.
-Wipe Cache and Davlik.
-Install Gapps. – Optional
-Reboot to system and enjoy!
[/CODE]

If you use Linux instructions

[CODE]
If your phone is a JFLTEXX (i9505)
Go to: https://dl.twrp.me/jfltexx/
and download 3.0.2-0 tar

If your phone is a JFLTETMO (M919)
Go to: https://dl.twrp.me/jfltetmo/
and download 3.0.2-0 tar

If your phone is a JFLTEAIO (i337z)
Go to: https://dl.twrp.me/jflteatt/
and download 3.0.2-0 tar

Then,
$ sudo apt-get heimdall heimdall-frontend -y

$ sudo heimdall-frontend

-This will open up heimdall.
-Click on the tab called Utilities
-With your phone unplugged and off, press and hold the DOWN volume button and the power button.
-When the phone vibrates, you can release the power button, but keep holding the down button.
-You will see a warning screen. Release the down button, and press the volume up button to enter “download” mode.
-Plug your phone into the computer.
-Under Detect Device, click “detect” – the Output box will say something like, detected.
-Under Download PIT -> destination file -> click save as.
-Choose a name for your pit, like jfltexx.pit
-Click Download.
-Exit heimdall-frontend and power off your phone by holding the power button.
-Open heimdall again with the command: $ sudo heimdall-frontend
-Click the tab called “Flash”
-Under “pit” click browse.
-Choose the pit file you downloaded.
-Under partitions(files), click “add”
-Under Partition Details, click partition name, and click recovery.
-Under File (recovery.img), click browse.
-Choose the 3.0.2-0 img you downloaded.
-Click on the “Utilities” tab.
-With your phone unplugged and off, Now press and hold the DOWN volume button and the power button.
-When the phone vibrates, you can release the power button, but keep holding the down button.
-You will see a warning screen. Release the down button, and press the volume up button to enter “download” mode.
-Plug your phone into the computer.
-Under Detect Device, click “detect” – the Output box will say something like, detected.
-Click on the Flash tab.
-Under Session, click “start”

You should see a blue bar on your phone screen that fills up from left to right. Heimdall should say “pass” or “success”. Your phone should automatically reboot itself. If this did not happen, seek help. Seriously. 😀

-Plug your phone into the computer again, and copy the Gapps and Rom from post #1 to your external sdcard of your phone.
-Now, turn off the phone again.
-Hold the UP volume button, and the power button.
-When the phone vibrates, you can release the power button, but keep holding the UP volume button.
-You will enter TWRP. Now you can release the UP volume button.
-You should now MAKE A BACKUP TO YOUR EXTERNAL SDCARD. -With this, you can always go back!
-After making a backup, you should wipe your phone. Select wipe, slide the slider to wipe your phone. This will not wipe your external sdcard.
-Install Rom.
-Wipe Cache and Davlik.
-Install Gapps. – Optional
-Reboot to system and enjoy!
[/CODE]

I hope that clears things up a bit. Leave a comment if you have any trouble following this process, I would be glad to help out.

Linux – keep it simple.

 

12 Replies to “How to put TWRP and Custom Roms on the Samsung Galaxy S4”

  1. I keep getting “recovery is not seandroid enforcing” when I try to enter recovery mode.
    After doing this whole process through installed ODIN. I then try to flash the latest TWRP from their website : dl.twrp.me/jfltetmo/twrp-3.2.1-0-jfltetmo.img.tar.html
    Then after that finishes, I try to boot into recovery and it gives me the message: recovery is not seandroid enforcing and it gets stuck there. I have a tmobile s4.
    I rooted the phone with CF Auto Root and have SuperSU installed.
    I have scoured the internet and can’t seem to find a definite solution.
    Your help would be appreciated.

    1. Great question.
      Seandroid enforcing error messages will be normal and will not cause you any trouble.

      Since you have routed your phone already, you could instead just download the TWRP app, which will install everything for you, using your root permission. That is the new way to get this done easily.

      If you still have issues, then I would recommend an older version of twrp, such as the version I used in this post. That way you know that it should work, because it did for me. I no longer have my s4, so I cannot test the latest twrp.

  2. Thanks. I was able to sort it out. I used an older version of TWRP. I’m trying to install Nougat 7 on the phone, but all my efforts have been futile. Is there any stable ROM you can recommend, nothing fancy, something to get the job done with little very little to no bugs.

    Thank you very much.

  3. Thanks for taking your time to help, I really appreciate it. I was able to install the aokp rom and it’s been working smoothly. I have a few questions though:
    1. is there an app to sync files via usb on mac? Non seem to be detecting the phone even though I have USB debugging on.
    2. Is there a way to change the app menu from the horizontal layout to vertical? As seen in samsung phones.
    3. Is there anyway to access samsung cloud services on the phone? I have my contacts stored on samsung cloud instead of google and there’s no local backup. I didn’t realize this until now.
    4. In Notification drawer Edit, I can’t seem to drag some tiles especially Auto Shazam. Any work around?

    Thanks so much

    1. Great questions. I’ll try my best to answer them.
      1. When you plug in your phone to your Mac, in the pull down menu, it will say phone is in charging mode. Of you tap on that, you can change to file transfer, or photo transfer. Depending on your Mac, it may or may not recognize the file system type, so file transfer may or may not work. Photo transfer should always work. In photo transfer mode, you can transfer anything, but only to the DCIM and pictures folders. Did either of these two methods work?

      1. I installed Handshaker on mac at first and I was getting a “no installed apps work with this usb accessory” error at first, I installed the android version of the app, chose PTP option as MTP wasn’t working.

    2. 4. I’ve had trouble, because there are so many option tiles that you can’t drag some up high enough to get them on the menu. Here is the odd workaround: add all of the tiles, starting from the top. Then remove the unwanted tiles after you get the ones you want.

    3. 3. You can download the Samsung apps on apkmirror. A quick search of using them on custom ROMs will lead you to several great XDA articles on how to do that. I don’t use them myself, so I’m not sure.

Leave a Reply to AlaskaLinuxUser Cancel reply

Your email address will not be published. Required fields are marked *