[AT&T Samsung Galaxy S 4 General] sac02:
EASY... relatively speaking.

I read XDA forums for hours and hours... and hours. Seriously. I spent about 20 hours reading XDA just for this. All the info is out there, but it is spread out across a dozen different threads, and multiple posts within those threads.

When I actually went through the process, I had (no lie) eighteen windows open, each with a relevant thread/post.

Sheesh, and people think this is complicated... [/s] :eek:

But in the end - I have a custom Lollipop ROM on my phone (Goldeneye v53) and it is working beautifully. And I had NO issues with the process, it all went smoothly.

The phone (which previously was starting to run out of space, lag, and just all-around felt "old") is now like new. And, dare I say... better than a stock S6? It is certainly leaner and meaner than a stock system (that's a good thing - I despise all the bloat on stock systems)

So, to make it easier for all those who come behind me, here is how to do it. In 39 easy steps.

One post.

One list.

Bullet points.

Links.

EASY.

Do this EXACTLY - and you will have a custom ROM on your S4.

Do something "just a little" different... Or miss a step... I'm pretty sure your device will explode, or at least catch on fire.

Either way, there is no express or implied warranty on this process I have collected and posted here. Anything you choose to do to your device is on you, and if something goes wrong, I accept no liability.

For risk mitigation in my case (as I'm an overly anal type) - I made sure that I dug my previous phone out of the closet, charged the battery, installed my SIM, and confirmed that I could use the old phone to at least make calls/texts in the event that "something" happened to my S4 during the upgrade process and I had to go to work the next day without my S4. Everything went smoothly, but IMO you should definitely have a contingency plan just in case.

Note - this is only for those NOT on MDB or MDL bootloaders. You guys have it easy. Don't do all the crap below - you don't need to, and if you DO do it, you are locked into this "complicated" method FOREVER (mwa-ha-haaa!!!)

1. Preparation

1.1 READ THROUGH THIS POST 27 TIMES (NO LESS, NO MORE) AND MAKE SURE YOU "GET IT". IF NECESSARY, READ THE THREADS LINKED THROUGHOUT THIS POST. <<< THIS IS THE SINGLE MOST IMPORTANT PART OF THE PROCESS. IF YOU JUST READ THE FIRST FEW STEPS AND START FLASHING CRAP, YOU ARE GOING TO F SOMETHING UP. READ IT ALL, UNDERSTAND IT, THEN DO IT. I CAN'T EMPHASIZE THIS ENOUGH.

1.2 Backup. Back your stuff up. Back it all up - ALL of it. Understand that whatever you do not back up now, YOU WILL LOSE. This process is going to wipe your device clean. Anything you want to save, you need to back it up now.

1.2.1 Do not use Titanium Backup - for anything. It will F your stuff up. Which is unfortunate, because TB is a great app that is incredibly useful - just not this time. Apparently TB has issues when migrating form one version of Android to another (i.e. 4.x.x to 5.x.x). Sorry, but you gotta do it manually.

1.2.2 Copy your pics/vids to your PC

1.2.3 Use "SMS Backup& Restore" from the Play store

1.2.4 Let Google sync your contacts and calendar.

1.2.5 Any apps that store your data locally (not sync'd to their server) - manually find it (I like ES File Explorer) and copy it to your PC if you care about it.

All of that said - I found that wiping my device and migrating to Lollipop was a GREAT way to clean a bunch of useless crap I no longer needed off of my phone.

2. Rooting and Flashing STOCK KitKat (4.4.2) ROM (relevant thread - see post #2, under the "NB1 - KitKat 4.4.2 > Option 2" section.

Note: The reason you have to do this is because you must have rooted Lollipop on your device in order to flash custom Lollipop ROMS. If you just want stock, non-rooted Lollipop maybe you COULD just use Odin to flash Lollipop directly? But there is no way to get root on Lollipop directly - and you must be rooted if you want to wind up with a custom ROM. So you have to do this intermediate step of flashing and rooting a 4.4.x or higher OS. This version of NB1 is easiest because you can use Odin to flash a ROOTABLE ROM which makes the root process simple with Towelroot.

2.1 Download Odin v3.09 here. Place on PC.

2.2 Download ROOTABLE NB1 ROM here. Place on PC.

2.3 Download towelroot v3 here. Place on PC and copy to device (likely your SD card).

2.4 Use Odin to flash ROOTABLE NB1 ROM to your device. When the phone boots up, just speed through the "initial setup" screens, it doesn't matter since you're going to install a couple more ROMs before the finished product.

2.5 Go to settings>more>security and check "unknown apps", and uncheck "verify sources".

2.5 Navigate to towelroot v3, and install it.

2.6 Open towelroot and click the "make it rain" button.

Congrats, you are now rooted on KitKat NB1.

3. Upgrading to ROOTED

STOCK

OC3 (Lollipop) using "keep root" method (relevant thread)

As mentioned, this process takes you from ROOTED NB1 (KitKat, 4.4.x) to OC3 (Lollipop, 5.x.x). The only way to get rooted OC3 is to first get root in any 4.4.x version or higher and then upgrade to OC3 using the "keep root" method. There is (as of this writing) no way to root OC3 Lollipop directly. "keep root" reference thread - post #1

3.1 Download Flashfire app using below steps. (no direct link available).

3.1.1 Join the G+ community using the same Google account as you're using for Play on your phone/tablet Here.

3.1.2 Sign up to receive the BETA versions from Play Here.

3.1.3 Use the link provided after sign-up to download the app. Note - the link was not immediately available for me, and apparently that is normal. (There was a link, but it told me something like "link not found" when I tried to access it at first.) I had to sign up, and then 30 minutes later I went back and had access to the Flashfire file.

3.2 Download I337_OC3_Stock_Rooted_ROM here.

3.3 Place ROM on SD card.

3.4 Use Flashfire to flash ROM (see "keep root" reference thread from above for specific details of using Flashfire)

Congrats, you are now on rooted (stock) Lollipop.

4. Install your CUSTOM Lollipop ROM

4.1 Download ROM and prepare Safestrap recovery

4.1.1 Download your chosen ROM. I chose Goldeneye v53 here. (I chose Goldeneye because after brief reading, Goldeneye seemed to be one of the more stable options, and stability is what I wanted when going through this the first time.) Place it on your SD card. Here are other options for Lollipop custom ROMs on AT&T GS4. If you happen to wander into the development section and see all the shiny, new, intriguing ROMs floating around, keep in mind that most of them won't work for the AT&T GS4. Any custom ROM on this device must be based on Touchwiz and setup to be compatible with safestrap - only a handful meet those criteria.

4.1.2 Download Safestrap v3.75 here. Place it on your SD card. Do not install it at this point, Safestrap is currently not compatible with Lollipop - you are going to flash a different Kernel in Step 4.2 to work around this.

4.1.3 Download BusyBox from Play store

4.1.4 Install BusyBox on your device.

4.1.5 Install Safestap 3.75

4.1.6 Open Safestrap

4.1.7 I did not do this step because I did not start this process with any previous version of SS on my phone. But if you did have a previous SS recovery installed, use the Safestrap to "uninstall" the previous recovery version. It is my understanding that you can't install v3.75 on top of another version, you need to first remove the old version before installing the new version. The "uninstall" option is done from within the SS app, not the Android application manager - you are uninstalling the custom recovery, not the SS app.

4.1.8 "Install Recovery" (from within Safestrap). NOTE: this only INSTALLS safestrap, it does not boot you into safestrap recovery. There is no need to go into safestrap recovery yet. That's later.

4.2 Flash NC1 Kernel

As mentioned above, you need to flash the NC1 Kernel so that you can do your thing in Safestrap. But then you MUST remember to reflash the OC3 Kernel after using Safestrap to install the ROM, or else your phone will explode (probably).

4.2.1 Download NC1 flasher app from here. Place it on your SD card.

4.2.2 Download I337_stock_OC3_kernel_recovery_flashable from here. Place it on your SD card.

4.2.3 Download OC3 modules from here. Place it on your SD card.

4.2.4 Open NC1 flasher app and press "flash" (it's the only button)

4.2.5 Wait for completion and press reboot. NOW you will get automatically rebooted into safestrap recovery.

4.3 Install your custom ROM!!!

(note: all the below is done in safestrap recovery)

4.3.1 Go to "Wipe" and perform factory reset (will wipe system data, cache, and dalvik)

4.3.2 Flash your ROM. For Goldeneye ROM, it uses the AROMA installer. Choose the options that you like, but make sure to READ THEM ALL BEFORE SELECTING ANYTHING - IF ONE OF THE OPTIONS MENTIONS AT&T/SAFESTRAP, YOU MUST CHOOSE THAT OPTION. HELLFIRE, BRIMSTONE, AND ETERNAL DAMNATION WILL AWAIT YOU IF YOU CHOOSE ANOTHER OPTION.

4.3.3 At the end of the ROM installation, uncheck the "reboot now" option and continue - it will send you back to safestrap.

4.3.4 From within SS, install the OC3 modules from your SD card.

4.3.5 From within SS, install the I337_Stock_OC3_kernel_recovery_flashable from your SD card.

4.3.6 Reboot > system

4.3.7 Keep hitting "continue" when you get the safestrap recovery screen. This is a symptom of Lollipop not being compatible with Safestrap. Hit "continue" repeatedly (like 4 or 5 times) and eventually you will get into your ROM.

4.3.8 (Optional) Install safestrap.apk (that you d/l to your SD card) to your phone, and then use it to UNINSTALL recovery. This will avoid the above step 4.3.7 happening every time you reboot your phone.

Congrats, you now have a custom Lollipop ROM running on your device.

Note: SuperSU is finicky on Lollipop. See this thread for how to manipulate SuperSU to get your root apps working.

.

.

.

.

See? EASY.

:p