Hello everyone! Decided to put together a thread which I hope will be helpful for those looking to flash custom ROM's on the Virgin Mobile Samsung Galaxy S3 (VM SGS3). I do not claim credit for "inventing" any of the methods and tips I will go over, this is more the result of reading all the threads in this forum, along with a lot of internet research. My goal is to make this thread more of a one-stop shop, as some of the info found here on this forum and elsewhere is outdated, for those looking to truly customize their VM SGS3 with the ROM of their choice. Definitely need to give credit to MopedRyder for all of his hard work, his info, especially in his thread on fixing the APN's for MMS and LTE, has been invaluable and I would say he is the reason I have been able to do what I have with my phone. Be sure to post a "like" or a "thanks" on that thread if you find this one helpful at all. The other forum member whose work got me pointed in the right direction is other gus and his thread on installing CM 10.1, give him a "like" or a "thanks" as well.
Update 12/16/2013:
So now that I have a bit of experience on this forum under my belt, extra special thanks to the following users of the combined VM and Boost SGS3 Experience:
First off, _inKredible_ for giving me the encouragement to even do this tutorial in the first place, and then following up with tons of positive reinforcement!
TheBritton, whose guidance, advice, leadership, and friendship has become indispensable not just to me but to every single user of these forums.
Wetbiker7, my brother from another mother, you are an inspiration to me and a constant source of awesome information and great humor.
jdsingle76, for really truly caring about moving development forward and always having great advice. Above all else, sir, I thank you for your service to this country, I would love to meet you in person sometime! Everyone please visit the sticky thread for his wonderful, Knox-free ROM; this is one of the few ROM files I keep on my phone at all times, along with two backups for a rainy day.
Stock/rooted 4.3 ROM by jdsingle76
All forum members who have helped catch my mistakes, bravely flashed zips on their phones to "see what happens," and in general have provided me with a "Like" or a "Thanks" to help make me feel like I'm contributing something positive, I consider you guys my new circle of friends. Standing invitation to all of you if you are ever in my part of the world, first round of beers is on me at any one of the fine craft breweries I enjoy here in northern Colorado!
A couple of tips and helpful advice:
First, when starting a new thread or making a post that is designed to get some help for an error or issue of any sort, the more info the better. Also, learn to communicate. It is an unfortunate sign of the times that massive grammar and spelling issues are widely tolerated, especially on internet forums. But guess what-spelling, punctuation, and grammar still matter. If a post has to be deciphered because it is unintelligible, and then we have to start the twenty questions game on top of that, frustration and confusion will ensue. While I will never call anyone out on their inability to use the English language like an adult, chances are I will just ignore something that looks like my six year old nephew wrote it (he's pretty damn smart actually, and I am pretty sure he is more advanced than some of the people who are allowed to use the internet in the first place, so I guess I shouldn't insult him!). Vague posts that abuse the English language cause the experienced users who are willing to give up their valuable free time (don't EVER forget that part, or take it for granted by posting snotty replies when that help is offered) to have to play twenty questions to get at the heart of your problem. PAY ATTENTION to what you have flashed, don't just post that "I flashed something and now you all need to fix it." That ain't happening. If you do expect help in that scenario, you will get linked HERE and HERE and will deserve it. READ READ READ, and then proceed carefully, as ultimately everything in the world of root is 100% the responsibility of the end user. Period. This just happens to be a very helpful forum, but there are limits to the generosity of the experienced users, and tolerating downright stupidity is definitely not a requirement of this unpaid job.
Second, you are more likely to get a timely response if you know how to get the attention of the experienced users. A lot of us use Tapatalk, or have various alerts set up for subscribed threads, post quotes, and mentions. If, for example, I have posted a response to a question or issue, quoting my response as part of your next reply will cause Tapatalk to notify on my phone that I have been quoted. Ditto for mentions; place an "@" sign (without quotes) in front of my username (EXACT spellings only, a misspelling won't work) and I will get an alert. That being said, patience is still a virtue. A lot of the users here are quite busy juggling school, work, family, etc., etc. If you don't receive an immediate response, don't worry. Don't "bump" a thread or make multiple posts referencing the lack of a response to your original question. Regardless, nothing is so urgent it can't wait in the first place. Luckily, there are enough users paying attention to this forum that responses are usually going to happen sooner rather than later. Same thing goes for PM's. My philosophy is that any user can PM me at any time, for any reason, especially if they don't want to post publicly about an issue that they fear will make them look dumb in front of everyone else. I always respond to PM's, but if I am at work or busy, it may take a while. Again, just be patient.
Finally, please avoid clutter. Redundant threads and posts don't do any favors for anybody. Search and read before deciding to start a new thread especially; if the topic is already available, just post (hopefully something meaningful) in that thread, and please refrain from posting new threads for every insignificant little thing. Also, any thread started here needs to be pertinent to the world of root; if it isn't, then there is a general forum available as well. Chances are it will get moved there sooner rather than later anyway, but save the guides and mods some trouble and post in the appropriate sections.
Since I first posted this tutorial, access to current rooting information has caused havoc for some members. The arrival of Knox has complicated that even further. If you don't know about Knox, stop right now and do some research, starting with the sticky thread from Britton found here:
Myths and Truths About Knox
Britton also has an excellent sticky thread on the subject of rooting, the material I have below is mainly a retread of his work in case you don't want to bounce from thread to thread. While his thread is titled to attract the attention of newer users, the methodology is universal for all users of the SGS3. Plus, it doesn't hurt to have something this important in more than one location!
WARNING! It has recently come to my attention that Virgin Mobile uses other carriers for their "umbrella" in Canada (Sprint for VM USA, AT&T for Canada); therefore, I am adding the disclaimer that all methods and files from here on down are intended only for SPH-L710; if you don't have that specific phone designation, then this info may or may not be useful, however that is where it ends! I am not responsible if something goes extremely sideways and you are using a phone designated anything other than SPH-L710! Additionally, bricked phones, from any carrier, are NOT my problem/responsibility, everything done while rooted, and especially any of the following methods/tips/customizations etc., etc., are done AT YOUR OWN RISK!! I am a firm believer in personal responsibility, as in nobody should really need a warning that their coffee is hot!!
First, a link to Britton's tutorial: Rooting MK5 for Newbies!
1. Download Philz Touch 6.19.3 .tar file to your computer (current version as of this update)
2. Download latest SuperSU update .zip file (version 1.93 as of this writing)
3. Download Samsung drivers to your computer so it will recognize your phone when you plug it in with USB; downloading Kies will install the drivers as well, and then Kies itself can be uninstalled afterward (I find it to be a pretty useless program in general, and 100% worthless if you are rooted)
4. Download Odin version 3.07 to your computer
5. Plug in phone with USB, and transfer SuperSU .zip file to the phone, internal or external memory doesn't matter, as long as you know where to look for it; you will then need to unplug your phone prior to doing the next step
6. Make sure your USB cable has been disconnected, then place phone into download mode (volume down, home key, power button all at same time, wait through the vibrate until message appears on screen); on your computer open Odin v. 3.07, uncheck "auto reboot" and then click button labelled "PDA" and then browse to the file location for the recovery .tar file you downloaded (I just put them on the desktop for ease of locating); select that file and it will show up in the dialog box next to the PDA button
7. Plug phone back in via USB, you should get a message in Odin indicating it recognizes the connection; press "Start" and about two minutes later Odin will give you a "Pass" message
8. Unplug USB (very important!), and then remove battery from your phone (holding down power button until phone shuts off generally does the same thing, but battery pull is recommended method); replace battery after about 5-10 seconds, then hold, at the same time, Volume Up, home key, and Power button, keep holding until after the phone vibrates and blue script appears in top left corner saying "Recovery booting"
9. Navigate to location of .zip file containing SuperSU and flash that file
10. Boot into system, go to the app drawer, and open the SuperSU app. Choose to update the binaries and disable Knox (if applicable), and you should now be rooted. There are several Root Checker apps available in Play Store that can be run after reboot to confirm root status. Alternatively, open Titanium Backup and it will let you know if you are rooted or not (Titanium is quick and easy, and avoids the need for a program like Root Checker which serves no other purpose)
Link for Philz is further down this page.
Link for SuperSU v. 1.93: SuperSU Download
Update 12/16/2013:
So it is now virtually unanimous here at the forums, Philz Touch Recovery is the ONLY way to go (sorry TWRP); it is the only recovery for which I have seen ZERO issues reported, and it has handled all my needs exceptionally well, especially now that Android 4.4.x KitKat is a going concern. TWRP was solid until version 2.6.3.1 was released, which was supposed to allow flashing of 4.4.x ROM's (version 2.6.3.0 failed to flash them due to changes in the KitKat builds) but that version was a disaster on my phone; as far as CWM, it just seems downright incompatible with this particular phone. If you haven't installed Philz yet, don't complain that something didn't flash or mount properly, which will happen at some point with the other two recoveries. Head over to my man JD's sticky thread and follow the links:
Philz Touch Recovery (Thread by jdsingle76)
Files in .tar format are available as well if you need to install Philz via Odin instead of flashing from current recovery (custom recovery that is, stock can't perform this function).
Update 1/3/2014:
Philz Touch is now being hosted on Goo.im, link is here Goo.im Downloads - Browsing CWM_Advanced_Edition
Here we go!
To reiterate, the standard disclaimer applies: I am not responsible for bricked phones. However, as long as you follow the steps, do your research, and choose a ROM intended for the Sprint variant of the SGS3, you should be fine. Also of high importance, be sure to always make a Nandroid backup of your current working ROM so you will have a fallback in case something goes south. There is plenty of storage available on this phone if you add a 32 gB SD card, so I keep backups of each ROM I like to use once I have them up and running and customized; basically, any time you flash something new or upgraded, make a backup first! Additionally, I will be referring to the programs/software I prefer throughout this guide, that does not mean that other programs/software of a similar nature will not work. Finally, I am assuming that you have already installed a custom recovery and are rooted; if you aren't, then what are you waiting for?!
One final disclaimer, and then on to the important stuff! With the advent of the unified d2lte builds that some ROM's are now using, the following method is only necessary if you want to flash a ROM that was built specifically for Sprint, or if it is an early version of the unified builds (which started on 2/17) that didn't yet include our device (d2vmu) as "approved."
What you will need:
Two programs on your computer, one to unzip/zip the ROM .zip file, and one to use as a text editor. For the zip access, I use WinRAR, found here: WinRAR. You can download a free trial version, but I use this program so much that the license key was worth the purchase. 7zip should also work, found here: 7-Zip. For text editing, you will want Notepad++, found here: Notepad++ Home. This is a free program. I have both WinRAR and Notepad++ set as defaults on my computer; your computer may need to be directed to which program to use when opening a .zip file or editing text if they are not set as defaults.
Choose a ROM you would like to use on your phone and download to your computer. XDA has a thread for the Sprint variant of the SGS3 (known as d2spr, make sure this designation is in the file name of whatever ROM you choose) which is a really good starting point. From this point on, it is assumed that you are going to choose a Jelly Bean 4.3.x (or higher, now that KitKat 4.4.x is available) ROM; that is what I use, I find no reason to use anything significantly lower than the current Android build. My favorite, hands down, is Carbon, but Hellfire, AoCP, JellyBAM, PACman, and Cyanogen are all awesome. 4.2.2 is quite nice as well, and is stable; I currently don't go lower than that build, as I like using DashClock widget on my home screen, among other features available for 4.2.x and up.
Open the .zip file using WinRAR. You will see several folders; the one we are interested in is META-INF. Double-click that folder and then the following ones: com, google, android, so that the file path is META-INF/com/google/android. You will now see two files, "updater-binary" and "updater-script". We need to modify "updater-script". Double-click to open; there will be two sets of commands called "asserts." What these do is prevent your phone from flashing incompatible software by specifying bootloaders. You will notice several allowed bootloaders listed, in the format "L710VPxxxx"; ours is "L710VPAMG2" and you will also notice that it is not listed. Therefore, we need to modify or remove these assert lines so that the .zip flash can proceed. This is fine to do because the Sprint version and ours are identical for the things that matter. Right-click on this file, choose "Rename" and then add ".txt" (quotes are mine, do not include in the actual file name), so that the file is now called "updater-script.txt". The file is now in text format and is therefore able to be edited.
There are now two possibilities for modifying this file. The first is to change one of the allowed bootloaders to ours (L710VPAMG2). The second is to remove the assert lines altogether, so that the first command in the script is "mount ["ext4"......" (external quotes are mine). I have tried and confirmed both of these methods, so either one is fine to use.
Update 11/28/2013:
After the release of the official 4.3 Touchwiz update, some users may have bootloader L710VPUBMK5, referred to as "MK5" on their phones. Same rules still apply when modifying a single line to match the bootloader if you don't want to delete all the asserts.
After modifying with either method, close that window, choose "yes" to save changes to script, then "yes" again to save changes to the .zip file. After doing so, the last step is to rename "updater-script.txt" back to "updater-script"; this is very important-if you do not, the .zip will not flash since recovery programs will ignore a text file (.txt). Additionally, but not necessary, I rename the .zip file to something more recognizable than the default file name (i.e. Carbon Nightly 20131106 if I am modifying the nightly file for Carbon ROM downloaded on 11/6/2013).
Update 12/16/2013:
So apparently the age and OS on your computer will play a role in which procedures and programs are best for modifying the updater-script. My desktop is ancient, in computer years, and the version of Windows on it is equally old. This has necessitated the use of renaming to "updater-script.txt" whereas on my laptop, which was new last year and has Windows 8 (which I despise, but that is another story for another forum!), no renaming is necessary, as I can open up the updater-script file directly with Notepad++. Use what works for you in your situation. Also, I am now aware that it is possible to modify one "master copy" of the updater-script, save it on your computer desktop, and just drag it into the window which shows "updater binary" and "updater-script" in order to replace the original updater-script file. This should work for any AOSP ROM.
----------------------------------------------------------------------------------------------
Update 1/2/2014
Easier method than changing to "updater-script.txt" and back: simply drag the updater-script to your desktop, open it with the file editor of your choice (again, recommend Notepad++), then delete/modify the asserts. Close that window, "yes" to save changes, drag updater-script back into the ROM archive window, choose "yes" to replace existing version with modified version, and done! The updater-script file that is still on your desktop can also now be used over and over if you desire, every AOSP ROM just uses the same updater-script for each nightly/version within an Android build series, with the exception that some developers add extra visuals that will show up on your screen while flashing, such as the name of the ROM. These will show up as "ui_print..." in the script, and can be deleted if you want, they do not affect the functionality of the actual script.
----------------------------------------------------------------------------------------------
VIDEO TUTORIAL HAS BEEN ADDED!! CHECK OUT THE YOUTUBE LINK TO GET A VISUAL REFERENCE TO GO ALONG WITH WHAT IS COVERED ABOVE IN THIS TUTORIAL!!
https://www.youtube.com/watch?v=IZnYSrUIXKM
----------------------------------------------------------------------------------------------
Connect your phone via USB, and place the ROM .zip onto either internal or external storage. I use external storage, with a folder called "ROM Folder" which is divided into subfolders for ease of use-a folder for Carbon, a folder for GApps, a folder for custom kernels, etc. Unplug USB, boot into recovery, and flash your modified .zip file. I would recommend flashing just this file to make sure everything works OK (remember, always backup before performing a major function or change), and then once your phone has booted and settled in, go back to recovery and flash GApps, custom kernel (if desired, not necessary but I do prefer to use one in order to tweak battery life), and definitely one of MopedRyder's APN fixes: APN Fixes by MopedRyder (the fix you choose needs to be flashed every time you upgrade or change ROM's, otherwise you will have potential issues with MMS and/or LTE).
Update 12/16/2013:
With the current versions of CM 11, I have not had to flash the APN fix with each dirty flash of a new nightly, rather, the APN settings have "stuck" through each flash. This was definitely not the case with 4.3.x builds of any ROM. Also on 4.4.x, if you need to access your APN settings, it is done through the Voice Dialer app, open the app and then say, slowly and clearly, "Open APN."
Update 4/9/2014:
The amazing @MopedRyder has started a new thread which contains APN fixes geared toward the d2lte "unified" builds which have become pretty much the norm. These builds, however, were presenting a lot of data issues for users on all carriers, not just Virgin. Therefore, he has presented us with a new round of fixes, which include the proper edits to make "Virgin Mobile" show as the carrier, not "Sprint." While the APN's should stick through dirty flashes of your ROM of choice, some of the edits to build.prop and the eri.xml file won't, so flash every time you change ROM's, whether it is a dirty flash or changing ROM's entirely. And be sure to post a "Thanks" and a "Like" in his OP before you download, none of us would be using our phones the way we currently do without his hard work!
http://androidforums.com/virgin-mobile-galaxy-s3-all-things-root/840298-mod-universal-lte-virgin-mobile-apn-fix-wip-cm-aosp-4-4-x.html
Happy flashing and enjoy your new ROM!
Update 12/16/2013:
So now that I have a bit of experience on this forum under my belt, extra special thanks to the following users of the combined VM and Boost SGS3 Experience:
First off, _inKredible_ for giving me the encouragement to even do this tutorial in the first place, and then following up with tons of positive reinforcement!
TheBritton, whose guidance, advice, leadership, and friendship has become indispensable not just to me but to every single user of these forums.
Wetbiker7, my brother from another mother, you are an inspiration to me and a constant source of awesome information and great humor.
jdsingle76, for really truly caring about moving development forward and always having great advice. Above all else, sir, I thank you for your service to this country, I would love to meet you in person sometime! Everyone please visit the sticky thread for his wonderful, Knox-free ROM; this is one of the few ROM files I keep on my phone at all times, along with two backups for a rainy day.
Stock/rooted 4.3 ROM by jdsingle76
All forum members who have helped catch my mistakes, bravely flashed zips on their phones to "see what happens," and in general have provided me with a "Like" or a "Thanks" to help make me feel like I'm contributing something positive, I consider you guys my new circle of friends. Standing invitation to all of you if you are ever in my part of the world, first round of beers is on me at any one of the fine craft breweries I enjoy here in northern Colorado!
A couple of tips and helpful advice:
First, when starting a new thread or making a post that is designed to get some help for an error or issue of any sort, the more info the better. Also, learn to communicate. It is an unfortunate sign of the times that massive grammar and spelling issues are widely tolerated, especially on internet forums. But guess what-spelling, punctuation, and grammar still matter. If a post has to be deciphered because it is unintelligible, and then we have to start the twenty questions game on top of that, frustration and confusion will ensue. While I will never call anyone out on their inability to use the English language like an adult, chances are I will just ignore something that looks like my six year old nephew wrote it (he's pretty damn smart actually, and I am pretty sure he is more advanced than some of the people who are allowed to use the internet in the first place, so I guess I shouldn't insult him!). Vague posts that abuse the English language cause the experienced users who are willing to give up their valuable free time (don't EVER forget that part, or take it for granted by posting snotty replies when that help is offered) to have to play twenty questions to get at the heart of your problem. PAY ATTENTION to what you have flashed, don't just post that "I flashed something and now you all need to fix it." That ain't happening. If you do expect help in that scenario, you will get linked HERE and HERE and will deserve it. READ READ READ, and then proceed carefully, as ultimately everything in the world of root is 100% the responsibility of the end user. Period. This just happens to be a very helpful forum, but there are limits to the generosity of the experienced users, and tolerating downright stupidity is definitely not a requirement of this unpaid job.
Second, you are more likely to get a timely response if you know how to get the attention of the experienced users. A lot of us use Tapatalk, or have various alerts set up for subscribed threads, post quotes, and mentions. If, for example, I have posted a response to a question or issue, quoting my response as part of your next reply will cause Tapatalk to notify on my phone that I have been quoted. Ditto for mentions; place an "@" sign (without quotes) in front of my username (EXACT spellings only, a misspelling won't work) and I will get an alert. That being said, patience is still a virtue. A lot of the users here are quite busy juggling school, work, family, etc., etc. If you don't receive an immediate response, don't worry. Don't "bump" a thread or make multiple posts referencing the lack of a response to your original question. Regardless, nothing is so urgent it can't wait in the first place. Luckily, there are enough users paying attention to this forum that responses are usually going to happen sooner rather than later. Same thing goes for PM's. My philosophy is that any user can PM me at any time, for any reason, especially if they don't want to post publicly about an issue that they fear will make them look dumb in front of everyone else. I always respond to PM's, but if I am at work or busy, it may take a while. Again, just be patient.
Finally, please avoid clutter. Redundant threads and posts don't do any favors for anybody. Search and read before deciding to start a new thread especially; if the topic is already available, just post (hopefully something meaningful) in that thread, and please refrain from posting new threads for every insignificant little thing. Also, any thread started here needs to be pertinent to the world of root; if it isn't, then there is a general forum available as well. Chances are it will get moved there sooner rather than later anyway, but save the guides and mods some trouble and post in the appropriate sections.
Since I first posted this tutorial, access to current rooting information has caused havoc for some members. The arrival of Knox has complicated that even further. If you don't know about Knox, stop right now and do some research, starting with the sticky thread from Britton found here:
Myths and Truths About Knox
Britton also has an excellent sticky thread on the subject of rooting, the material I have below is mainly a retread of his work in case you don't want to bounce from thread to thread. While his thread is titled to attract the attention of newer users, the methodology is universal for all users of the SGS3. Plus, it doesn't hurt to have something this important in more than one location!
WARNING! It has recently come to my attention that Virgin Mobile uses other carriers for their "umbrella" in Canada (Sprint for VM USA, AT&T for Canada); therefore, I am adding the disclaimer that all methods and files from here on down are intended only for SPH-L710; if you don't have that specific phone designation, then this info may or may not be useful, however that is where it ends! I am not responsible if something goes extremely sideways and you are using a phone designated anything other than SPH-L710! Additionally, bricked phones, from any carrier, are NOT my problem/responsibility, everything done while rooted, and especially any of the following methods/tips/customizations etc., etc., are done AT YOUR OWN RISK!! I am a firm believer in personal responsibility, as in nobody should really need a warning that their coffee is hot!!
First, a link to Britton's tutorial: Rooting MK5 for Newbies!
ROOTING THE SAMSUNG GALAXY S3
1. Download Philz Touch 6.19.3 .tar file to your computer (current version as of this update)
2. Download latest SuperSU update .zip file (version 1.93 as of this writing)
3. Download Samsung drivers to your computer so it will recognize your phone when you plug it in with USB; downloading Kies will install the drivers as well, and then Kies itself can be uninstalled afterward (I find it to be a pretty useless program in general, and 100% worthless if you are rooted)
4. Download Odin version 3.07 to your computer
5. Plug in phone with USB, and transfer SuperSU .zip file to the phone, internal or external memory doesn't matter, as long as you know where to look for it; you will then need to unplug your phone prior to doing the next step
6. Make sure your USB cable has been disconnected, then place phone into download mode (volume down, home key, power button all at same time, wait through the vibrate until message appears on screen); on your computer open Odin v. 3.07, uncheck "auto reboot" and then click button labelled "PDA" and then browse to the file location for the recovery .tar file you downloaded (I just put them on the desktop for ease of locating); select that file and it will show up in the dialog box next to the PDA button
7. Plug phone back in via USB, you should get a message in Odin indicating it recognizes the connection; press "Start" and about two minutes later Odin will give you a "Pass" message
8. Unplug USB (very important!), and then remove battery from your phone (holding down power button until phone shuts off generally does the same thing, but battery pull is recommended method); replace battery after about 5-10 seconds, then hold, at the same time, Volume Up, home key, and Power button, keep holding until after the phone vibrates and blue script appears in top left corner saying "Recovery booting"
9. Navigate to location of .zip file containing SuperSU and flash that file
10. Boot into system, go to the app drawer, and open the SuperSU app. Choose to update the binaries and disable Knox (if applicable), and you should now be rooted. There are several Root Checker apps available in Play Store that can be run after reboot to confirm root status. Alternatively, open Titanium Backup and it will let you know if you are rooted or not (Titanium is quick and easy, and avoids the need for a program like Root Checker which serves no other purpose)
Link for Philz is further down this page.
Link for SuperSU v. 1.93: SuperSU Download
Update 12/16/2013:
So it is now virtually unanimous here at the forums, Philz Touch Recovery is the ONLY way to go (sorry TWRP); it is the only recovery for which I have seen ZERO issues reported, and it has handled all my needs exceptionally well, especially now that Android 4.4.x KitKat is a going concern. TWRP was solid until version 2.6.3.1 was released, which was supposed to allow flashing of 4.4.x ROM's (version 2.6.3.0 failed to flash them due to changes in the KitKat builds) but that version was a disaster on my phone; as far as CWM, it just seems downright incompatible with this particular phone. If you haven't installed Philz yet, don't complain that something didn't flash or mount properly, which will happen at some point with the other two recoveries. Head over to my man JD's sticky thread and follow the links:
Philz Touch Recovery (Thread by jdsingle76)
Files in .tar format are available as well if you need to install Philz via Odin instead of flashing from current recovery (custom recovery that is, stock can't perform this function).
Update 1/3/2014:
Philz Touch is now being hosted on Goo.im, link is here Goo.im Downloads - Browsing CWM_Advanced_Edition
Here we go!
To reiterate, the standard disclaimer applies: I am not responsible for bricked phones. However, as long as you follow the steps, do your research, and choose a ROM intended for the Sprint variant of the SGS3, you should be fine. Also of high importance, be sure to always make a Nandroid backup of your current working ROM so you will have a fallback in case something goes south. There is plenty of storage available on this phone if you add a 32 gB SD card, so I keep backups of each ROM I like to use once I have them up and running and customized; basically, any time you flash something new or upgraded, make a backup first! Additionally, I will be referring to the programs/software I prefer throughout this guide, that does not mean that other programs/software of a similar nature will not work. Finally, I am assuming that you have already installed a custom recovery and are rooted; if you aren't, then what are you waiting for?!
One final disclaimer, and then on to the important stuff! With the advent of the unified d2lte builds that some ROM's are now using, the following method is only necessary if you want to flash a ROM that was built specifically for Sprint, or if it is an early version of the unified builds (which started on 2/17) that didn't yet include our device (d2vmu) as "approved."
What you will need:
Two programs on your computer, one to unzip/zip the ROM .zip file, and one to use as a text editor. For the zip access, I use WinRAR, found here: WinRAR. You can download a free trial version, but I use this program so much that the license key was worth the purchase. 7zip should also work, found here: 7-Zip. For text editing, you will want Notepad++, found here: Notepad++ Home. This is a free program. I have both WinRAR and Notepad++ set as defaults on my computer; your computer may need to be directed to which program to use when opening a .zip file or editing text if they are not set as defaults.
Choose a ROM you would like to use on your phone and download to your computer. XDA has a thread for the Sprint variant of the SGS3 (known as d2spr, make sure this designation is in the file name of whatever ROM you choose) which is a really good starting point. From this point on, it is assumed that you are going to choose a Jelly Bean 4.3.x (or higher, now that KitKat 4.4.x is available) ROM; that is what I use, I find no reason to use anything significantly lower than the current Android build. My favorite, hands down, is Carbon, but Hellfire, AoCP, JellyBAM, PACman, and Cyanogen are all awesome. 4.2.2 is quite nice as well, and is stable; I currently don't go lower than that build, as I like using DashClock widget on my home screen, among other features available for 4.2.x and up.
Open the .zip file using WinRAR. You will see several folders; the one we are interested in is META-INF. Double-click that folder and then the following ones: com, google, android, so that the file path is META-INF/com/google/android. You will now see two files, "updater-binary" and "updater-script". We need to modify "updater-script". Double-click to open; there will be two sets of commands called "asserts." What these do is prevent your phone from flashing incompatible software by specifying bootloaders. You will notice several allowed bootloaders listed, in the format "L710VPxxxx"; ours is "L710VPAMG2" and you will also notice that it is not listed. Therefore, we need to modify or remove these assert lines so that the .zip flash can proceed. This is fine to do because the Sprint version and ours are identical for the things that matter. Right-click on this file, choose "Rename" and then add ".txt" (quotes are mine, do not include in the actual file name), so that the file is now called "updater-script.txt". The file is now in text format and is therefore able to be edited.
There are now two possibilities for modifying this file. The first is to change one of the allowed bootloaders to ours (L710VPAMG2). The second is to remove the assert lines altogether, so that the first command in the script is "mount ["ext4"......" (external quotes are mine). I have tried and confirmed both of these methods, so either one is fine to use.
Update 11/28/2013:
After the release of the official 4.3 Touchwiz update, some users may have bootloader L710VPUBMK5, referred to as "MK5" on their phones. Same rules still apply when modifying a single line to match the bootloader if you don't want to delete all the asserts.
After modifying with either method, close that window, choose "yes" to save changes to script, then "yes" again to save changes to the .zip file. After doing so, the last step is to rename "updater-script.txt" back to "updater-script"; this is very important-if you do not, the .zip will not flash since recovery programs will ignore a text file (.txt). Additionally, but not necessary, I rename the .zip file to something more recognizable than the default file name (i.e. Carbon Nightly 20131106 if I am modifying the nightly file for Carbon ROM downloaded on 11/6/2013).
Update 12/16/2013:
So apparently the age and OS on your computer will play a role in which procedures and programs are best for modifying the updater-script. My desktop is ancient, in computer years, and the version of Windows on it is equally old. This has necessitated the use of renaming to "updater-script.txt" whereas on my laptop, which was new last year and has Windows 8 (which I despise, but that is another story for another forum!), no renaming is necessary, as I can open up the updater-script file directly with Notepad++. Use what works for you in your situation. Also, I am now aware that it is possible to modify one "master copy" of the updater-script, save it on your computer desktop, and just drag it into the window which shows "updater binary" and "updater-script" in order to replace the original updater-script file. This should work for any AOSP ROM.
----------------------------------------------------------------------------------------------
Update 1/2/2014
Easier method than changing to "updater-script.txt" and back: simply drag the updater-script to your desktop, open it with the file editor of your choice (again, recommend Notepad++), then delete/modify the asserts. Close that window, "yes" to save changes, drag updater-script back into the ROM archive window, choose "yes" to replace existing version with modified version, and done! The updater-script file that is still on your desktop can also now be used over and over if you desire, every AOSP ROM just uses the same updater-script for each nightly/version within an Android build series, with the exception that some developers add extra visuals that will show up on your screen while flashing, such as the name of the ROM. These will show up as "ui_print..." in the script, and can be deleted if you want, they do not affect the functionality of the actual script.
----------------------------------------------------------------------------------------------
VIDEO TUTORIAL HAS BEEN ADDED!! CHECK OUT THE YOUTUBE LINK TO GET A VISUAL REFERENCE TO GO ALONG WITH WHAT IS COVERED ABOVE IN THIS TUTORIAL!!
https://www.youtube.com/watch?v=IZnYSrUIXKM
----------------------------------------------------------------------------------------------
Connect your phone via USB, and place the ROM .zip onto either internal or external storage. I use external storage, with a folder called "ROM Folder" which is divided into subfolders for ease of use-a folder for Carbon, a folder for GApps, a folder for custom kernels, etc. Unplug USB, boot into recovery, and flash your modified .zip file. I would recommend flashing just this file to make sure everything works OK (remember, always backup before performing a major function or change), and then once your phone has booted and settled in, go back to recovery and flash GApps, custom kernel (if desired, not necessary but I do prefer to use one in order to tweak battery life), and definitely one of MopedRyder's APN fixes: APN Fixes by MopedRyder (the fix you choose needs to be flashed every time you upgrade or change ROM's, otherwise you will have potential issues with MMS and/or LTE).
Update 12/16/2013:
With the current versions of CM 11, I have not had to flash the APN fix with each dirty flash of a new nightly, rather, the APN settings have "stuck" through each flash. This was definitely not the case with 4.3.x builds of any ROM. Also on 4.4.x, if you need to access your APN settings, it is done through the Voice Dialer app, open the app and then say, slowly and clearly, "Open APN."
Update 4/9/2014:
The amazing @MopedRyder has started a new thread which contains APN fixes geared toward the d2lte "unified" builds which have become pretty much the norm. These builds, however, were presenting a lot of data issues for users on all carriers, not just Virgin. Therefore, he has presented us with a new round of fixes, which include the proper edits to make "Virgin Mobile" show as the carrier, not "Sprint." While the APN's should stick through dirty flashes of your ROM of choice, some of the edits to build.prop and the eri.xml file won't, so flash every time you change ROM's, whether it is a dirty flash or changing ROM's entirely. And be sure to post a "Thanks" and a "Like" in his OP before you download, none of us would be using our phones the way we currently do without his hard work!
http://androidforums.com/virgin-mobile-galaxy-s3-all-things-root/840298-mod-universal-lte-virgin-mobile-apn-fix-wip-cm-aosp-4-4-x.html
Happy flashing and enjoy your new ROM!