[GUIDE] painiac's Essential Guide to Galaxy S5 Flashing, Rooting, Fixing, Customizing

Search This thread

painiac

Senior Member
Jan 20, 2011
222
138
Hey guys and gals, let's be honest. Forums suck. If you want to increase the number of aficionados in your crew who want to get involved and have a skill to offer - you've got to offer a better system of information exchange than these forums. These are a GREAT source of information but at GREAT cost to an individual user's time at finding it. I am a computer scientist, but I don't know what a "sticky" is, and these forums exist a world apart. I apologize in that I have no solution to offer, but I ask sincerely.... can there be a better way to get the information out in a searchable manner in a world where such a large disparity in digital knowledge exists? There is curiosity abound, people who want to know these things of all ages, but we need to work together to develop a better way to build, search, and distribute it... than these forums...

Just a thought for the wiser than I.....

That's exactly why I compiled this guide. You're right that there are definitely better ways: unfortunately, the limiting factors are interest and cost. The ideal solution would be for somebody with the passion to keep up on things to make a website where the needed information is easy to navigate. However, as I'm sure you know, maintaining a website takes time and costs hosting fees. Staying on top of all of the developments and curating an always up-to-date guide would be quite time-consuming, because all of the information is primarily first disseminated through these forums. The other factor - interest - is a killer. Most people use a given model of smartphone for, what, 1-3 years?... and then have zero interest in keeping up with developments on phones they no longer use. You can see the aftermath of this: there are several threads (some of them stickies) that claim to be THE guide (to rooting, or whatever), and this was true at the time they were written, but then the writer moved on to other things and their thread became obsolete. My guide is, currently, the most comprehensive, but I have not ventured into Android 6+, and I may not even do so. Sooner or later I, too, will drop off the radar of the Galaxy S5 forum...

By the way, the forum posts deemed most useful are made "sticky" by a moderator. This means they always stay at the top of the list of threads rather than being buried by newer posts (which are always sorted in descending order by date of the most recent post). Stickied threads have a thumb-tack icon next to them. When you go to a topical forum seeking information, you should always read the stickies because in many cases your question will already have been answered there. You incur the wrath of angry nerds by joining the long conga line of new users who join a forum daily and echo the same questions as hundreds of others before them.
 
Last edited:

painiac

Senior Member
Jan 20, 2011
222
138
Hey I've been away a while so I've been reading like crazy. Everything is much more confusing know. I'm hoping someome can finish this list from the OP for me..including any other LP firmwares and then all MM ones in order. Thanks!!

Sent from my SM-G900V using XDA-Developers mobile app

That list contained all firmwares available up to that point. Updated the OP with what I believe is the latest list:

Android Versions
First, a brief introduction of the Android versions available on this phone. You find your version number by opening "Settings" and scrolling down to "About Phone" The version numbers look like (for example) "G900VVRU1ANCG", and only the last three or four digits are what we refer to. In this example, we would abbreviate this as "ANCG" or "NCG". You'll note that the version numbers are roughly alphabetical.

KitKat 4.4.2 versions (root with TowelRoot, more on this later)
ANCG = 4.4.2
ANE9 = 4.4.2

KitKat 4.4.4 versions (downgrade kernel to root with TowelRoot, more on this later)
ANHA = 4.4.4
ANI2 = 4.4.4
ANK2 = 4.4.4
ANK7 = 4.4.4 (incremental update to prepare for 5.0; it is not available for download, nor is it necessary to do so)

Lollipop 5.0 versions (root with KingRoot, more on this later)
BOA8 = 5.0
BOC4 = 5.0
BOD5 = 5.0 (last version of the bootloader that can be downgraded)
BOE1 = 5.0 (prevents downgrading the bootloader)
BOG5 = 5.0 (prevents downgrading the bootloader)
BOK3 = 5.0 (prevents downgrading the bootloader)
BPB1 = 5.0 (latest security update. prevents downgrading the bootloader))

Marshmallow 6.0.1 versions (not rootable yet)
DPD1 = 6.0.1
DPF4 = 6.0.1 (minor bugfix)
 
Last edited:

uberpippi

Member
Feb 23, 2013
15
0
Dude, I've rooted every phone I've had for years now, but there's still a lot of terminology that I wasn't 100% on. this is by FAR the best guide I've ever read that consolidates the key concepts and key words for rooting and installing roms and all that. I'm fairly comfortable with breaking into my phone by now, but this was really helpful for locking down a lot of scattered knowledge. Super helpful. Thanks!
 

Hoopsters35

New member
Jul 27, 2016
2
0
Hilliard
Android 6.0.1

Fantastic guide! I'm new to the root process and this gave me a lot of information to start on. But just to confirm, does this mean that there is currently no way to root a SM-G900V if it has android 6.0.1? I updated before I got into the rooting process otherwise I definitely would have held off!
 

landshark68

Senior Member
Jan 13, 2011
1,265
710
Illinois
Fantastic guide! I'm new to the root process and this gave me a lot of information to start on. But just to confirm, does this mean that there is currently no way to root a SM-G900V if it has android 6.0.1? I updated before I got into the rooting process otherwise I definitely would have held off!
That is correct. No way to root 6.0.1, but you can downgrade to PB1 and root.

Sent from my SM-G930V using XDA-Developers mobile app
 

leif2

Senior Member
Jun 24, 2013
70
3
Is downgrading from marshmallow in order to root very hard to do? Im quasi nubi in all this stuff. Anyone have estimate how long it will be untill Verizon marshmallow becomes rootable or if this will ever be possible?
 

painiac

Senior Member
Jan 20, 2011
222
138
Is downgrading from marshmallow in order to root very hard to do? Im quasi nubi in all this stuff. Anyone have estimate how long it will be untill Verizon marshmallow becomes rootable or if this will ever be possible?

Downgrading is as simple as flashing the earlier version with Odin. You'll find instructions (and warnings!) for that process in this thread.
As for an estimate on obtaining root for marshmallow, that is unknowable. It's a pass/fail thing: somebody is probably working on it, but root access is not possible for them until the instant they succeed.
 

xips

Senior Member
Feb 29, 2012
78
14
Nexus 7
Moto G
:cowboy: Kudos for the horses painiac. Coming from the Moto line which makes life much simpler to take control of your device, I was sweating bullets on what to do to root a S5. I'm more confident now of not hard bricking. The fog has lifted.
 

jrhack

Member
Sep 25, 2014
18
0
I have the Verizon Samsung Galaxy S5. I presently am on T-Mobile. When I put my T-Mob SIM in, I can make calls and send regular SMS messages. MMS messages will not work. Apps using data only works on WiFi.
My CID is 1501005xxxxxxx. Presently running Android 6.0.1.
Can I root this phone and install a t-mob firmware on it? I want to use all of t-mobs features such as calls over LTE, Turning on Wifi Hotspot and such. Right now it is loaded with Verizon Bloatware.
 

al50

Senior Member
Apr 7, 2013
878
242
Down South
I have the Verizon Samsung Galaxy S5. I presently am on T-Mobile. When I put my T-Mob SIM in, I can make calls and send regular SMS messages. MMS messages will not work. Apps using data only works on WiFi.
My CID is 1501005xxxxxxx. Presently running Android 6.0.1.
Can I root this phone and install a t-mob firmware on it? I want to use all of t-mobs features such as calls over LTE, Turning on Wifi Hotspot and such. Right now it is loaded with Verizon Bloatware.
You can root your device. Then if you want, unlock your bootloader and install one of the NO BS ROM's or any other Custom ROM's that's over in the Android Development section of this forum. They're mostly all debloated of unnecessary apps,Verizon ones at that. Except ones that may be needed for some functions.....
HotSpot feature works in the ROM's.....
 

TuxRox

Member
Dec 27, 2016
6
0
I am trying to understand this as it is not clicking, I just got a cheap S5 for my wife to replace her dying phone, I am using Ting, essentially a T-mobile wholesale provider, and everything works except for the Verizon crap popping up, and the voicemail trying to go to Verizon, the rep on the phone said other users were successful running custom roms to fix this, I am not new to roms and fastboot / adb but am new to Samsung.

I checked my phone is g900v model and the CID according to eMMC brickbug check starts with 11 so I am screwed?

My goal is simply getting rid of the Verizon crap, and get the annoying messages to go away so she can play pokemon go again. Is there any way I temp root clean out that stuff or go to a rom without the crap and then get pokemon go working? I don't even want root after just a phone that works and plays pokemon go.
 

al50

Senior Member
Apr 7, 2013
878
242
Down South
I am trying to understand this as it is not clicking, I just got a cheap S5 for my wife to replace her dying phone, I am using Ting, essentially a T-mobile wholesale provider, and everything works except for the Verizon crap popping up, and the voicemail trying to go to Verizon, the rep on the phone said other users were successful running custom roms to fix this, I am not new to roms and fastboot / adb but am new to Samsung.

I checked my phone is g900v model and the CID according to eMMC brickbug check starts with 11 so I am screwed?

My goal is simply getting rid of the Verizon crap, and get the annoying messages to go away so she can play pokemon go again. Is there any way I temp root clean out that stuff or go to a rom without the crap and then get pokemon go working? I don't even want root after just a phone that works and plays pokemon go.
If I recall correctly, you will not able to use Pokémon on your rooted device. To get rid of the VZW items and notifications, you can do 2 things. Install a custom ROM, as the person suggested, or install Titanium Backup and purchase the Pro key and Freeze the VZW apps. I recommend selecting one app at a time and reboot to be sure nothing will effect or FC your device.....
 

painiac

Senior Member
Jan 20, 2011
222
138
I am trying to understand this as it is not clicking, I just got a cheap S5 for my wife to replace her dying phone, I am using Ting, essentially a T-mobile wholesale provider, and everything works except for the Verizon crap popping up, and the voicemail trying to go to Verizon, the rep on the phone said other users were successful running custom roms to fix this, I am not new to roms and fastboot / adb but am new to Samsung.

I checked my phone is g900v model and the CID according to eMMC brickbug check starts with 11 so I am screwed?

My goal is simply getting rid of the Verizon crap, and get the annoying messages to go away so she can play pokemon go again. Is there any way I temp root clean out that stuff or go to a rom without the crap and then get pokemon go working? I don't even want root after just a phone that works and plays pokemon go.

You can root unless you're on android 6.0.1.
You can install any TouchWiz-based ROM, or you can stay stock rooted and just freeze or uninstall the crapware. Like al50 said, freezing is preferable because it's easily reversed.
However, when rooted you will not be able to play pokemon go because the workaround to play it on a rooted device requires an unlocked bootloader, which you do not have.
However, you *may* be able to unroot the phone after you freeze the crapware.. I haven't tried this. I can't even imagine tolerating a phone without root, however...
 

TuxRox

Member
Dec 27, 2016
6
0
You can root unless you're on android 6.0.1.
You can install any TouchWiz-based ROM, or you can stay stock rooted and just freeze or uninstall the crapware. Like al50 said, freezing is preferable because it's easily reversed.
However, when rooted you will not be able to play pokemon go because the workaround to play it on a rooted device requires an unlocked bootloader, which you do not have.
However, you *may* be able to unroot the phone after you freeze the crapware.. I haven't tried this. I can't even imagine tolerating a phone without root, however...
well this is my wifes phone, all she wants to do is make calls, get on facebook and chrome and play pokemon I got the phone used for 60 with a broken case and I fixed it, now I have it successfully rooted and on PB1 with safestrap recovery, and am debating hwo much effort I want to put into getting it pokemon go friendly.

Do you happen to know if I put a debloated 6.0 rom on it that doesn't have root will pokemon go work?
 

al50

Senior Member
Apr 7, 2013
878
242
Down South
well this is my wifes phone, all she wants to do is make calls, get on facebook and chrome and play pokemon I got the phone used for 60 with a broken case and I fixed it, now I have it successfully rooted and on PB1 with safestrap recovery, and am debating hwo much effort I want to put into getting it pokemon go friendly.

Do you happen to know if I put a debloated 6.0 rom on it that doesn't have root will pokemon go work?
A debloated ROM(s) are for ROOTED devices and for a 6.0 MM ROM, you need to have an unlocked bootloader. Unless you're device is bootloader unlocked, you can only run LP custom ROM's....
 

TuxRox

Member
Dec 27, 2016
6
0
Why even bother rooting then? If she wants the headache of Facebook and pokemon, she can deal with the ads and bloat!

Because I am using a verizon galaxy S5 on Ting service, and it was complaining forcebely that it was not a verizon sim.

by flashing PB1 and rooting and uninstalling all the bloat and then unrooting, she is currently on a happy bloat free phone and playing Pokemon go as I write this.
 

painiac

Senior Member
Jan 20, 2011
222
138
Because I am using a verizon galaxy S5 on Ting service, and it was complaining forcebely that it was not a verizon sim.

by flashing PB1 and rooting and uninstalling all the bloat and then unrooting, she is currently on a happy bloat free phone and playing Pokemon go as I write this.

I'm glad you were able to work out an acceptable compromise. Still, no root... *shudder*
 

Top Liked Posts

  • There are no posts matching your filters.
  • 27
    painiac's Essential Guide to Samsung Galaxy S5 (SM-G900V) Flashing, Rooting, Fixing, and Customizing

    This is a distillation of everything I've learned about rooting, installing custom recovery, installing custom ROMs, and customizing the Verizon Galaxy S5 SM-G900V. I am NOT the creator of any of the hard work that has made all of this possible, I simply compiled it all in one place. I have done this for the convenience of newer people, and to hopefully decrease the need for the same questions coming up every time somebody discovers they can improve their phone but doesn't yet know how. The Galaxy S5 has a steeper learning curve because of its locked bootloader, hence the need for a guide. I know I had a LOT of questions and more than a little worry about accidentally screwing up my phone, so I did a lot of research and accumulated a lot of information in a short amount of time.
    CAUTION: Some of the more general information here might apply equally to all variants of the Galaxy S5, but much of it is specific to the Verizon SM-G900V (and attempts to flash any G900V-specific files to a non-G900V variant will in all likelihood brick your phone. You have been warned.)

    This is meant to be a general repository of information, but for projects in active development (such as the 5.0 root method, SafeStrap, custom ROMs, etc) I encourage you to ask questions in their respective threads where their developers (who are most knowledgable about their projects) are best able to see and answer your questions.

    If a piece of information originated from you and I have failed to credit you properly, please say so and I will do so immediately.

    I encourage you to share this information freely, and I encourage you to submit even minor corrections.


    Table of Contents
    Android Versions
    Updates and Flashable Stock Files
    Restoring, Upgrading, and Downgrading
    Recovery Mode and Download Mode
    Flashing Files with Odin
    Custom Recovery Environment
    Fixing a Bricked Phone
    Rooting 4.4.x and 5.x
    Custom ROMs
    Debloating
    Disabling Knox
    Xposed Framework and Modules
    27
    Custom Recovery Environment
    Due to the locked bootloader, the custom recovery environments such as TWRP (TeamWin Recovery Project) and ClockworkMod Recovery (CWM) cannot be used. However, hashcode created SafeStrap Recovery (a heavily modified TWRP recovery environment) that is safe to use on the S5.

    A custom recovery is optional, but it's a powerful tool and safety net, allowing you to flash files (except Odin files), install ROMs, selectively wipe partitions, and create/restore full system backups (known as NANDroid Backups), among other things.

    SafeStrap was originally conceived to allow ROMs to be installed in different "ROM Slots", allowing the stock OS to be untouched and easily swapped between. Unfortunately, hashcode abandoned SafeStrap development before the slots were ever made to work reliably. If you are still using the KitKat 4.4x version of SafeStrap, only flash ROMs to the "Stock" slot and pretend the other slots do not even exist.
    hashcode's original SafeStrap thread - Use this if you are still on 4.4.x

    If you are on Lollipop 5.x, hashcode's version of SafeStrap is functional, but requires a workaround so it is a bit of a hassle. SafeStrap will not function with a 5.0 kernel, so you most first either use Odin or the NI2Flasher.apk to flash an older 4.4.x kernel, then boot into SafeStrap. You must then flash your appropriate 5.0 kernel with Odin or from within SafeStrap BEFORE rebooting, or your phone will not be able to boot. Fortunately, jrkruse has modified SafeStrap Recovery to work smoothly on 5.0: it automates the process of the necessary kernel flashes ( and has several other small improvements, such as removing the non-functioning ROM slots).
    jrkruse's updated SafeStrap for Lollipop - Use this if you are on 5.x


    FlashFire: If you don't want to use SafeStrap for some reason, an alternative is Chainfire's "FlashFire" app. It is fully capable of doing most anything SafeStrap can do, without you having to boot into a custom recovery environment. The only real downside is that Flashfire is an app, so if your phone won't start up then you can't use it to restore a backup. You can selectively use both FlashFire and SafeStrap depending on the circumcstances.


    Fixing a Bricked Phone
    "Bricked" means a phone will not start and can no longer be used; in other words, it's as good as a brick. Fortunately, in almost every case the phone is not totally ("hard") bricked, but is only "soft" bricked and can be repaired fairly easily. If you are unable to load your operating system but you are seeing any kind of logo or splash screen, relax: you are only soft bricked, and the phone can be fixed bexcause you can still boot the phone into Download Mode and Recovery Mode.

    If you've just flashed a file (such as a custom ROM) and the phone won't start, don't panic.
    1) The first thing to try is to wait: if you've just flashed a deodexed ROM, it can take up to ten minutes to load and boot, and all you'll see is the splash screen. Let the phone sit for 10-15 minutes to see if it's just busy.
    2) If the phone still won't boot, unplug the phone and pull out the battery, then re-insert it and try again.
    3) If the phone STILL won't boot, pull the battery again, then reinsert it. Enter Recovery Mode by holding the Home + Volume UP + Power buttons at the same time until the phone says "Recovery Booting" at the top of the screen. From there, select "clear cache" and then reboot.
    4) If the phone STILL won't boot, repeat step 3, but select "factory reset", then reboot. CAUTION: In case you're not clear on what "factory reset" means, you will lose all apps you have installed and all settings you have configured.

    If you've flashed a kernel and the phone won't boot, you may have used a non-compatible kernel version. Flashing the same kernel version as your phone's firmware version will allow the phone to boot. After you boot into Recovery mode, you will see the firmware version listed at the top of the screen.

    If all else fails, you can always boot into Download Mode by holding the Home + Volume DOWN + Power buttons, then use Odin to flash a Stock Restore image file. This will restore the phone to its factory state. CAUTION: To be clear: all of your apps and settings, and everything on the phone's internal storage will be deleted (but anything on your external SD card will not be affected).


    Unbrick Image: If you are unable to get into Download Mode, there is one thing you can try. There was a method developed (I believe) for the Galaxy S3 that also works on the S5.
    1) First, you must obtain an Unbrick Image that has been created with the Unbrick Image Creator on a phone with the same version of firmware and bootloader as the one you're trying to restore. Use the forum search function to find the image you'll need (unless someone is willing to provide a permanent repository of unbrick images).
    2) Rename that file to "unbrick_IMG.img", and use Win32DiskImager to flash that image file to a "16gb Class 10" MicroSD card.
    3) Insert the Unbrick MicroSD card into the phone, and power it off by unplugging it and removing the battery.
    4) Re-insert the battery, then boot into download mode by holding the Home + Volume DOWN + Power buttons.
    5) Now connect with Odin and flash a factory restore image.

    JTAG: If your phone is truly bricked, you have one last possible recourse. There is a hardware tool called a JTAG that may be able to help you. It's a fairly expensive piece of hardware, but some repair places offer a one-time JTAG repair for a modest fee.


    ROOTING 4.4.x and 5.x
    As of mid-January 2016, root has now been achieved on every firmware version from NCG all the way to PB1.

    Root access is simply a configuration within the operating system that allows one write access to protected system files. This is HUGELY powerful, allowing one to modify or delete system apps or alter how they function. If you are not very computer literate, you may want to pass on rooting until you've learned more. If you don't know what you are doing, it's possible to do some damage to your phone's configuration (possibly rendering it unusable to you, at least until you learn how to repair it). It can be dangerous to play outside the boundaries of User Space. Here there be monsters...

    Note that although we have root access, the Bootloader is still locked and is extremely likely to remain so indefinitely. The bootloader is booby-trapped with a hardware "qfuse": attempts to alter the bootloader result in a hard-bricked phone, which effectively dissuades developers from messing with it. Fewer and fewer developers care about this phone, anyway, and have moved on to brands that are less hostile to power users.

    Root Kitkat 4.4.2 or 4.4.4 (uses TowelRoot after temporarily downgrading kernel to NCG)
    Update from rooted 4.4.x to 5.0 and Keep Root
    Root Lollipop 5.0 (uses KingRoot)

    Busybox: Android is a gutted variant of the Linux operating system, stripped down to only those functions needed to run a smartphone. Busybox adds back in a lot of the linux/unix functions and commands that were removed. You'll need this once you root if you want to be able to do anything really useful.


    Custom ROMs
    With a rooted phone, it is possible to install a customized version of the operating system, which is known as a "ROM". These range from rooted Stock ROM, mildly to heavily debloated versions of the Stock ROM, to more heavily customized and themed ROMs.

    Unfortunately, because the bootloader on the Verizon S5 is locked, it is only possible to choose from a small selection of TouchWiz-based ROMS. Cyanogenmod (and all the various AOSP-based ROMs) require a different kernel: if you try to use a non-TouchWiz based kernel, the locked bootloader will not allow it to boot.

    Only install ROMS found in the Verizon Galaxy S5 Android Development section of the forum.

    The Verizon "Developer Edition" S5 comes with an unlocked bootloader, so on that device you CAN run non-TouchWiz ROMs.

    As of March 2016 an unlock method for one of the two possible bootloaders has been discovered and exploited, essentially allowing you to turn your phone into a Dev Edition. To determine if your model is unlockable, you need to check the eMMC version. Do this by using a file explorer to browse to /sys/block/mmcblk0/device/cid. The CID file will contain a string of characters: if the first two digits are 15, your phone has the Samsung chip that is unlockable. If the first two digits are 11, your phone has the Toshiba chip and is NOT unlockable.

    Odexed vs De-Odexed: You will also see in a ROM's description if it is "odexed" or "de-odexed". This is referring to how all of the applications on the phone are packaged.
    An ODEXED application is one where parts of it have been "optimized" in a separate file (with the file extension .odex). This makes the application take up a little less storage apace and also load a little more quickly. However, because the parts of the app are packaged separately, it makes it harder to alter that application on-the-fly (such as theming or modifying the way it behaves).
    A DEODEXED application is one where this optimization has been undone. This is necessary for theming or other modifications, and the space and speed difference is probably not really noticeable. If you plan to do any theming or on running Xposed framework, you should install the DEODEXED version of your chosen ROM.


    The basic procedure for installing a custom ROM:
    1) Boot into SafeStrap Recovery
    2) Make a NANDroid backup of your current system, saved to the MicroSD card. If something goes wrong, you can easily restore to where you are now.
    3) Wipe cache, dalvik cache, and system partitions.
    4) Install your chosen ROM (which will be a .zip file)
    5) Install any optional modification zips included and compatible with that particular ROM
    6) Wipe cache
    7) Reboot

    jrkruse goes into much more detail for installing Lollipop ROMS here

    Always do a full system wipe from SafeStrap before installing a ROM, or you will have many problems with conflicting settings and system files. Wiping first is known as a "clean flash". The only exception is if you are updating to a newer version of the same ROM, in which case it may be successful to do a "dirty flash", where settings files are unlikely to have changed enough to cause conflicts.

    Likewise, never restore "system" apps with Titanium Backup or anything else unless you're on exactly the same version of the OS, because this is almost certain to try to configure those system apps in ways they can no longer function. Doing so will introduce strange problems that can be very difficult to troubleshoot.

    If something goes catastrophically wrong, you can always get back to a factory state with Odin, root, install SafeStrap, and restore your NANDroid backup (provided you saved it to the external SDcard like I instructed you, rather than wiping it into oblivion with a ROM flash).


    Debloating
    Once rooted, you can remove a lot of the bloatware from your phone. It is possible to just uninstall or delete unwanted bloatware, but this can cause problems if you unknowingly remove something that was required for something else to work.

    The safest option is to use Titanium Backup to "freeze" the undesirable apps. Then run your phone normally for a few days to make sure everything is functional. Once you're sure an app is safe to delete, you can then do so, or you can just leave it frozen. If it turns out you need to re-enable a frozen app, just "defrost" it in Titanium Backup.


    Disabling KNOX
    If you choose to use a Stock ROM after rooting, you will want to disable a few things: Knox, security update notifications, and the Verizon Over-the-Air updater.

    Use Titanium Backup to freeze the following system apps:
    com.sec.enterprise.knox.attestation
    com.sec.knox.eventsmanager
    KLMS Agent
    KNOX
    Knox Notification Manager
    KNOX Store
    Security policy updates SPD_v2_1402_4_1 (Security update notification)
    SDM 1.0 (Verizon OTA update)


    Xposed Framework and Modules
    I won't go into a lot of detail here at this point. Just a few notes. I'll probably flesh this out more later and list my favorite modules.
    In order for Xposed to function, you must be using a DEODEXED version of your ROM.
    Xposed is awesome, and you should look into using it. I've been using the GravityBox module, and it allows me to get most of the little features I've previously enjoyed in custom ROMs.

    Xposed installer for Lollipop
    The specific Xposed framework you need to use for S5 Lollipop

    Xposed bootloop: If you install an incompatible Xposed module, the worst case is a bootloop. You fix that by getting into Safestrap, choosing file explorer, and creating a file called "disabled" in /data/data/de.robv.android.xposed.installer/conf/
    Alternately, there's a flashable zip file somewhere that puts the "disabled" file where it needs to be.
    Then you reboot, get into Xposed and turn off the offending module. Then use a file explorer to go delete that "disabled" file and reboot.
    17
    Android Versions
    First, a brief introduction of the Android versions available on this phone. You find your version number by opening "Settings" and scrolling down to "About Phone" The version numbers look like (for example) "G900VVRU1ANCG", and only the last three or four digits are what we refer to. In this example, we would abbreviate this as "ANCG" or "NCG". You'll note that the version numbers are roughly alphabetical.

    KitKat 4.4.2 versions (root with TowelRoot, more on this later)
    ANCG = 4.4.2
    ANE9 = 4.4.2

    KitKat 4.4.4 versions (downgrade kernel to root with TowelRoot, more on this later)
    ANHA = 4.4.4
    ANI2 = 4.4.4
    ANK2 = 4.4.4
    ANK7 = 4.4.4 (incremental update to prepare for 5.0; it is not available for download, nor is it necessary to do so)

    Lollipop 5.0 versions (root with KingRoot, more on this later)
    BOA8 = 5.0
    BOC4 = 5.0
    BOD5 = 5.0 (last version of the bootloader that can be downgraded)
    BOE1 = 5.0 (prevents downgrading the bootloader)
    BOG5 = 5.0 (prevents downgrading the bootloader)
    BOK3 = 5.0 (prevents downgrading the bootloader)
    BPB1 = 5.0 (security update. prevents downgrading the bootloader))

    Marshmallow 6.0.1 versions (not rootable yet)
    DPD1 = 6.0.1
    DPF4 = 6.0.1 (minor bugfix)


    Updates and Flashable Stock Files
    If you accept an OTA (Over-the-Air) update from Verizon, it updates everything. The same thing happens when you manually flash a "firmware" or "factory restore image" file. Note: If you are still on BOD5 or earlier, do not accept an OTA update.

    You can also selectively update certain components by flashing only those files. Most files are flashed with Odin, but some can be flashed in a custom Recovery if they were so prepared.
    CAUTION: If you are on BOE1, BOG5, BOK3, or PB1, do not under any circumstances attempt to flash any older versions, or you will brick.

    Firmware: Collectively refers to the Operating System and Applications that allow the phone to function. A "Retail" firmware file also contains all the components listed below, so be sure you know what you intend to accomplish by flashing one. You should stick with the latest safe firmwares provided by jrkruse.
    CAUTION: If you have BOE1, BOG5, BOK3, or PB1, do not under any circumstances flash an older firmware file unless it specifically says it it is either "for BOE1 or later" or that it does not include a bootloader.

    Bootloader: Performs basic checks and then instructs the kernel and the other essential software to boot. On this phone, the bootloader is locked: if it doesn't find the correct (TouchWiz-based) kernel, it will not allow the phone to boot. As of the BOE1 update, a hardware "qfuse" is tripped permanently, which prevents downgrading. In order for a 5.0 ROM to boot, you need a 5.0 bootloader: If you have not previously accepted an update to BOE1, BOG5, BOK3, or PB1, then the best thing to do is update the bootloader to BOD5, which is the last bootloader that can be downgraded later.
    CAUTION: If you have BOE1, BOG5, BOK3, or PB1, do not under any circumstances flash an older firmware file unless it specifically says it it is either for BOE1 or later or that it does not include a bootloader.
    Note that on the special "Developer Edition" S5, the bootloader is not locked, but the price is unreasonably high.
    CAUTION: If you do have a "Developer Edition" phone, do not under any circumstances flash any file that has a retail bootloader, or your phone will have a permanently locked bootloader and will, practically speaking, no longer be a "Dev Edition" phone.

    Kernel: Basically the layer that allows the operating system (Android) and the hardware to communicate with each other. You can flash a different kernel version independently, but the operating system will not actually be able to start with an incompatible version of the kernel and it will hang forever on the splash screen. Downgrading the kernel temporarily is necessary for obtaining root on later builds, because the root exploits always get patched in later versions. Simply flashing the compatible kernel will allow the phone to again boot normally. You should stick with the latest safe kernels provided by jrkruse.
    CAUTION: Do not attempt to flash a custom (non TouchWiz-based) kernel, or you will brick.

    Baseband: This is the Modem, sometimes called a Radio. This is what allows the phone to communicate with the cellular network. Modems can be flashed independently and without regard to the firmware version you're running. You can experiment with which modem gives your particular phone the best reception in your area (which may or may not be the most recent one). You can find flashable modems here.

    Non-HLOS: This contains other radios such as Wifi and Bluetooth.

    PIT file: Re-partitions the internal storage. You do not normally need to do this, but it can correct specific problems.
    11
    Restoring, Upgrading, and Downgrading
    If you are on 4.4.x, you can update to 5.0 and keep root.
    CAUTION: If you want to preserve your ability to downgrade to 4.4.x, never upgrade via an OTA or other official update; Only upgrade with flashable ROMS or modified Odin files that do not upgrade the bootloader past BOD5.

    If you are on 5.0 BOD5 or earlier, you can freely downgrade to 4.4.x, but do not upgrade your bootloader to BOE1 or later if you want to be able to downgrade later

    If you are on BOE1 or later, you can freely upgrade but you CANNOT downgrade.


    If you need any restore files for NCG through OC4, Misterxtc has provided them here.
    I advise you to download these files now if you need them, because I have noticed with previous phones that as people lose interest in particular models, files that are hosted in only one place tend to disappear.

    If you need BOG5 and BOK3 restore files, jrkruse has provided them here
    Note that he has provided a version that will update (lock) the bootloader, and a BOD5 bootloader version that will not lock the bootloader if it has not previously been locked. If you are on Lollipop there is no good reason to not update to the latest BOK3 firmware, but if you're still on a BOD5 or earlier bootloader then use the "BOK3 firmware with BOD5 bootloader" it in order to preserve your option to downgrade to KitKat.


    Recovery Mode and Download Mode
    Recovery Mode: This phone has a built-in recovery environment (typically referred to as "stock recovery"), which you access by first powering off the phone (and making sure it's not plugged in), then holding the Home + Volume UP + Power buttons at the same time. After a couple seconds, blue text will appear at the top of the screen which says "Recovery Booting..."
    CAUTION: Never attempt to install a custom ROM or unofficial update file from the stock recovery mode: the phone will flip out and brick.

    The stock recovery mode contains the following options:
    1) reboot system now
    2) apply update from ADB
    3) apply update from external storage
    4) wipe data/factory reset
    5) wipe cache partition
    6) apply update from cache

    Wiping the cache is an easy and painless fix to a lot of vague problems and even solves some boot failures after installing a custom ROM. Doing a factory reset can solve a lot of things too, but be aware that you'll have to reinstall and reconfigure all of your apps unless you keep good backups.


    Download Mode: The phone also has a mode where you connect to software on a computer and flash files to it, sometimes referred to as "Odin Mode". Access Download Mode by first powering off the phone (and making sure it's not plugged in), then holding the Home + Volume DOWN + Power buttons at the same time ("down" = "download"...get it?). After a few seconds, a screen will appear giving you a dire warning that installing a custom operating system is known to the Surgeon General of California to cause cancer, or...something....I don't know, I've never actually read the whole thing. Just press Vol-Up to acknowledge the warning. While in this mode, connect the phone via a microUSB cable to a Windows computer.


    Flashing Files With Odin
    The operations in Download Mode will be performed with a piece of Windows-based software called Odin. This tool is reported to be the actual software that Samsung uses to flash and repair phones, which has been leaked to the Android community. I caution you to only download this from XDA-provided sources. Odin is used to flash files to the various system partitions of the phone (firmware, kernels, modems, factory restore images, etc). Odin cannot be used to flash custom ROMs.

    Odin 3.09: can be downloaded here.

    Note that when you have the phone in Download mode, your computer won't show it as a device in "My Computer" because it's not connected as a media device., but Odin (or any other software that knows how to look for it) can see it. Odin will highlight blue in its first "ID:COM" box when it detects your phone.

    FAQ%20odin%20small_zps1hssg90g.jpg


    You'll see several boxes on the right side when you open Odin.
    BL = Bootloader
    AP = Your system, recovery, and boot.img (this was labelled "PDA" in older versions of Odin)
    CP = Modem
    CSC = Cache and Hidden CSC features

    Everything on this phone is flashed using "AP" box (highlighted in blue in this picture), and you'll want to leave every option at the default setting unless specifically told otherwise.
    When you click "AP", a file browser window will pop up, and you browse to and select the flashable file you've downloaded. The file needs to be one that ends with a file extension "tar.md5", or Odin can't see it. If what you've downloaded is a zip archive, the image is inside that and you need to extract it first.

    Only extract a flashable file if the contents of the archive are "FILENAME.tar.md5", because that itself is the Odin-flashable archive. But do not attempt to extract the contents of the tar.md5, just flash it with Odin. If the file is a .zip that contains "META-INF" and/or other files and folders, it is to be flashed with SafeStrap or FlashFire rather than Odin.

    MD5 Checksum: Before flashing ANY file, you need to verify that it downloaded fully and accurately. To do this, you use an md5 checksum tool (such as this one provided by Misterxtc), which generates a hash string based on the exact bit content of the file you've downloaded. You then compare that string of characters to the one provided along with the original. For example, AndroidFileHost.com will always list it here (as I've highlighted in red). You don't have to manually compare them, as most md5 tools have an input box where you can paste the string for comparison. If the file you've downloaded is even slightly corrupted or incomplete, the md5 checksum will not match and you'll know immediately that you need to re-download it. Obviously, attempting to flash a corrupted file will fail. You should check the md5 after you download a file, and again after moving it to your phone's storage. Here you see the md5 hash, which I have outlined in red.
    FAQ%20md5%20small_zpsaq6ldrdz.jpg


    After you select your file, Odin will verify its integrity. When that process is complete, click Odin's "Start" button. The file will flash to your phone, then when the flash is complete (unless you unchecked that option) the phone will be rebooted automatically. The text box on the bottom-left of the Odin window will report the results of the flash operation, including any errors.
    CAUTION: Do not unplug your phone or allow your battery to die while a flash is in progress!

    Odin troubleshooting (if your phone is not recognized by Odin, or a flash fails)
    1) Verify the md5 checksum of the file you're trying to flash
    2) Ensure the USB drivers for the phone are installed and up to date on the computer you're using. If you have problems, you may have to "uninstall" the phone from the computer's "Device Manager" and then reinstall it.
    3) Check that your microUSB cable is fully seated in both the phone and the USB port on the computer.
    4) Try a different microUSB cable and/or a different USB port on your computer (a bad cable or bad USB port are very common causes of a flash failure)
    5) Examine the microUSB port on your phone to ensure it's not damaged, or plugged with pocket lint which may be preventing a complete connection


    Samsung provides a free tool called "Kies", which allows you to do various things including installing drivers, transferring files to/from your phone, etc. You may find it useful if you are having difficulty connecting your phone to your computer. Just be aware that if you have Kies running, it will prevent Odin from functioning.

    If Windows is not an option for you, you might try the open-source alternative to Odin known as "Heimdall Suite". I have no experience with Heimdall so will not try to comment on it further, but if anybody has any important info about it I would be happy to edit it into this guide.
    3
    Very, extremely sadly new to all this.
    I rooted my Verizon S5, CID 15, so it's unlocked, but I was running MM 6.0.1
    Now I have the rooted MM FW on it.

    These custom roms, does it matter I am still on MM? Or can I continue as usual and use any Custom Rom of my choice as long as I do the proper procedure to do so?
    So say like FusionROM or AOKP?
    As I wanna try different stuff but do not wish for issues.
    Thank you very much.
    Dude you are in for a treat! I personally recommend you start on resurrection remix Nougat. The g900v your phone is unified now. Look for Klte builds make sure you read the directions and do just as they say, its simple. Don't be afraid to ask questions or give thanks when helped. Feel free to pm me with any small questions in the beginning. Good luck and start here if you like. Also I highly recommend Magisk over Super su these days. Standard disclaimer. Anything you do to your phone is your responsibility but don't worry its all pretty straight forward and the hardest part is way behind you.

    https://xdaforums.com/galaxy-s5/unified-development/rom-resurrection-remix-n-klte-t3510376

    Sent from my SM-G900V using XDA Labs