DISCLAIMER First and foremost, the two warnings you’ll see in nearly every tutorial: 1. I am NOT responsible for anything that happens to your phone while following these steps. 2. I am ESPECIALLY not responsible for anything that happens to your phone if you do not fully read this tutorial. I’ve cut out all unimportant information, so it should not be too difficult. INTRODUCTION I’ve always hated the mood that those disclaimers set - they have always made me feel as if the instructor was against me...as if I was at fault for trying to learn and experiment with something new. That’s why I want to start off by saying that these steps worked near-perfectly for me on the first try. So just READ EVERYTHING and you’ll have CM10.1 in no time! WHAT YOU’LL START WITH This tutorial assumes that you are starting with: 1.* A Samsung Galaxy S3 (“GS3” with model number SPH-L710. 2.* The Virgin Mobile stock ROM with firmware MD7. 3. A working knowledge of tweaking Android phones. 4. A lack of knowledge about tweaking the GS3 specifically. (*Check these things in your “about phone” section in settings. To check your firmware, simply look at your build number - “MD7” refers to the last three characters.) WHAT YOU’LL END WITH 1. A custom recovery (ClockworkMod Recovery or “CWM” installed on your GS3. 2. CM10.1 installed on your GS3. 3. Root on your GS3. WHAT YOU WON’T END WITH/KNOWN BUGS This is the stuff most of you care about! 1. Your previous CWM backups, all in working order. I'm investigating this at the moment but evanrobinson has run into a problem where his previous backups were moved to a different directory after installing and running CM10.1. I didn't run into this problem, though, which confuses the investigation a bit. WHAT YOU’LL NEED Here’s the good stuff. You’ll need all of these files downloaded/programs installed. I suggest putting it all into a separate folder. In no particular order: 1. Odin: Samsung’s software used to flash files onto your device. Works much like flashing from recovery, however there are differences on a technical level. Files flashed from Odin must be in a certain format, and oftentimes are made specifically for Odin. (Odin-flashable files will usually be .tar.md5 - or, tarballs with md5 checksums.) LINK: http://forum.xda-developers.com/attachment.php?attachmentid=1168421&d=1341114315 2. koush’s ClockworkMod Recovery: The custom recovery we’ll be installing. LINK: http://download2.clockworkmod.com/recoveries/recovery-clockwork-22.214.171.124-d2spr.img 3. CM 10.1: Cyanogenmod 10.1 for the Sprint version (yes, the Sprint version) of the Galaxy S3. I suggest a Release Candidate (“RC” build - the second-most stable type of build. The link will take you to the list of RC builds - download the latest one. LINK: CyanogenMod Downloads 4. 7-zip: Needed to open .tar/.tar.md5 files. LINK: 7-Zip 5. MD4 Baseband/Firmware/Modem zip: We’ll talk more about this later, as this is really the key component of the whole operation. LINK: Goo.im Downloads - Downloading Galaxy-S-fre3-MD4FirmwareModemAIO.zip 6. punkmaxx’s Virgin Mobile modem file: Again, we’ll talk more about this later. LINK: https://docs.google.com/file/d/0B0nOJG6SOlkUQ3VfeE1RNy1zUjg/edit 7. Google Apps (“gapps”: Relatively straightforward...the easiest part of this process. All the nice Google system apps. LINK: Goo.im Downloads - Downloading gapps-jb-20130301-signed.zip 8. Team Epic's Root From Recovery zip: A zip used to get root. Super easy. LINK: http://www.epiccm.org/2012/06/team-epics-root-from-recovery.html OVERVIEW Virgin Mobile uses Sprint’s network to provide service to its customers. The two carriers are very closely intertwined - so closely, in fact, that our GS3 is exactly the same as Sprint’s GS3 hardware-wise. (Look at the model numbers - they are both SPH-L710.) Where these phones differ, then, is in the software on the phone. And the root of all this difference is the firmware. Though the differences in firmware are subtle, they are just enough to prevent us from installing CM10.1 on our phones without some minor alteration. In short, what this alteration will do is make our GS3s the same as Sprint’s GS3 both hardware AND software-wise, while making sure our phones still work on the Virgin Mobile Network. #5 on the downloads list is the Sprint firmware MD4 - the latest Sprint firmware. (Our firmware is MD7, remember.) It is simply a zip file filled with nine other files which are essential to the functioning of the phone. In this zip, there are only a few files we are interested in. First are the files named sbl1.mbn thru sbl3.mbn. These files are the phone’s bootloader - the primitive software which loads the kernel/ROM. The Sprint MD4 firmware uses a Jellybean bootloader, while Virgin Mobile’s firmware uses a bootloader for ICS. If you were eager to install CM10.1 and attempted to do so, the “assert failed” errors you saw were because all versions of CM after 10.1 require a Jellybean bootloader - and, like I said, our phones have an ICS bootloader. Thus, we need Sprint’s Jellybean bootloader to install CM10.1. Second, and equally important, is the file called NON-HLOS.bin. This is the phone’s modem - the piece of software which handles the radios and thus your connectivity to your carrier. You currently are looking at the MD4 firmware zip, and so, the NON-HLOS.bin file you see is the modem for Sprint Galaxy S3s. Now open up download #6, or punkmaxx’s Virgin Mobile modem file. (Use 7-zip to open tar files.) You will see another file named NON-HLOS.bin - that is the modem for our phones. So if we were to attempt to install CM10.1 as our phones are right now - on the stock ROM and MD7 firmware - we would see “assert failed” errors. We’ve done our research, though, and we know that this is because our phones have an ICS bootloader while CM10.1 is made for the Sprint firmware MD4’s Jellybean bootloader. It then becomes apparent that maybe we need to install Sprint’s MD4 firmware, however common sense would tell us that this would affect our connection to our carrier...but again, we’ve done our research, and know where to find the modem file. I’ve been trying to guide everyone to the same conclusion, which should be pretty obvious by now...perhaps even too obvious to realize. I say “too obvious” because in the end all we really need to do is copy our modem file into the Sprint firmware and then install it! So that is all of the background related to and logic behind what we’ll be doing in this tutorial. We’ll start by installing recovery - then we’ll do some editing using 7zip and create a modified MD4 firmware - and lastly we’ll flash the firmware, CM10.1, and gapps. Sounds easy, right? Let’s get to it.