You've probably known for a while that rooting and flashing your Optimus S with a custom ROM will give your Optimus S much better performance, more available RAM for applications, and great new functionality (while optionally removing unwanted Sprint software or nagware). Perhaps you looked into doing it before but you saw that the old rooting methods were difficult and that many of the guides were confusing, scary, time-consuming, and targeted at savvy techies using techie lingo. That's a shame because nowadays it's easy to root and flash while keeping your old apps, settings, & data. And the benefits are amazing. So... This is a step-by-step, spoon-fed guide to rooting & flashing for beginners who are still using Sprint's stock firmware. Table of Contents: * Background Information & FAQs: Includes definitions, explanations, and FAQs. * Step-By-Step Instructions to Root & Flash: Thirteen detailed spoon-fed steps to root & flash. * Appendix: Information for ZV8, ZV9, ZVC basebands, & restoring your phone to stock ZVD. ****** . . . BACKGROUND INFORMATION & FAQs . . .****** What is rooting & flashing? Rooting a phone gives you "root" administrative privileges to do things on your phone that normally aren't possible. If you're familiar with Microsoft Windows, "root" access would be like having an "administrator" account instead of havng a "guest" account. Without root access, you essentially only have a "guest" account on your own phone! With root access, you can install certain root-only programs (like Titanium Backup) and install (or "flash") custom ROMs. What are custom ROMs? A ROM is a nickname for the firmware that's stored on your phone's Flash ROM. (Read-Only Memory.) It contains the Android operating system and the user interface customizations that make your phone look and act a certain way. (Just like Windows 7 looks and acts differently than Windows XP.) What is a custom recovery? A "custom recovery" is a little program that you can invoke at power-on by simultaneously pressing the "Home" + "Volume Down" + "Power" buttons until the LG logo appears. (Several seconds later the "recovery" screen will appear. Custom recoveries can do things like backing-up, restoring, wiping data, or loading new ROMS/firmware. Your phone comes with a "stock recovery" (from Sprint) but it's not very powerful and it does not enable you to install custom ROMs or do system backups & restores. The stock recovery basically just allows you to wipe your data and install stock ROMs (not custom ROMs). The most widely used custom recoveries are "Xonia" (a.k.a. "Xonia CWMA") and Cannibal Open Touch (or "COT"). What are are the benefits of flashing a custom ROM? Independent software developers create ROMs that are better than stock ROMs in that they typically include performance improvements, built-in functionality (like WiFi tethering, customizable themes, and automatic switching between WiFi & 3G), and remove unwanted programs (like the nagging Sprint Zone), thereby making more internal memory available for your applications and data. Custom ROM developers may also release advanced versions of the Android operating system, whereas the phone maker may not. For example, as of now, there are alpha & beta versions of the Android 4.0 operating system (code named "Ice Cream Sandwich", or "ICS") for the Optimus S by some developers, but LG will never release ICS for the Optimus S-- even though ICS will yield a nice improvement in functionality. (Please consider donating money to these developers for their great work.) What's a baseband and why does the version matter? Basically, your phone's OS essentially has two parts: (1) the baseband, which controls the cellular/3G radio (sort of like a radio "driver"), and (2) the ROM/firmware, that works in conjunction with that baseband to make your phone look and act like it does. All of the basebands work fine so there is no real advantage to having a newer baseband. But custom-ROMs only work with certain basebands, so you have to be sure to make them match properly. (See below for how to determine your basebaned version.) As of May 2013, by far most of the custom ROM development for the Optimus is centered around putting ICS & Jellybean onto the Optimus S-- and mostly on the ZVD baseband (though there are now ZVJ-to-ZVD compatibility patches available. If you want ICS or Jellybean on your Optimus S, then I think it's best to use the ZVD baseband. However, as cool as ICS is, it's basically too big to properly fit onto the Optimus and for me there are too many showstopper bugs in ICS (which have persisted for over a year and seem to be unfixable), so I'm very happily on ZVJ/Gingerbread-based DanteROM. If you are on baseband version ZV8, ZV9, ZVC, or ZVH, you can follow the instructions in the APPENDIX section below to make your phone an unrooted, stock ZVD Sprint Optimus S, and then (if you like) follow the instructions from there to upgrade to Sprint's stock firmware or install a custom-ROM. How do I determine which baseband version I have? From the home screen, hit the "Settings" button, select "Settings" and then "About phone". Scroll down to "Baseband version". It'll be something like, "LS670ZVD..." or "LS670MVD..." or "LS670ZVH...", etc. There's no meaningful difference between a "Z" and an "M" so, for example, as far as this guide is concerned, consider "MVD" to be "ZVD" and "MVH" to be "ZVH", etc. (It's just become common to call them by their "Z" name so for example, I'll collectively refer to both "ZVD" and "MVD" as "ZVD". Make a note of which baseband you have. This is really important because certain ROMs only work on certain baseband software versions. Loading a mismatched ROM won't damage your phone but you probably couldn't use it for phone calls or 3G until you re-flashed it with an appropriate ROM (using steps #4, & 6-12 below). What if I have ZVJ? If you've accepted the new ZVJ update (released around April 2012), it's possible to root it by "downgrading" to stock ZVD (using the instructions in the Appendix below) and then rooting using the guide below. At that point you can install a custom ZVD ROM. Or you can use the instructions here to get a rooted ZVJ. As of late May 2013, there is one very good ZVJ-based custom ROM available called DanteROM. It's what I use and I recommend it over any of the ZVD ROMs if you need a rock-solid, bug-free ROM. There are some ZVJ-ZVD patches that enable you to run ZVD ROMs on a ZVJ phone-- including the very cool (though buggy) ICS ROMs. But the support for patched phones is weaker so if you're intent on installing ICS, then stick with ZVD. Will I have to re-install all of my apps & redo all of my settings on the custom ROM? Yes & no. This guide utilizes the "batch" backup & restore features of the free app, Titanium Backup, so that you can easily backup your apps, settings, and data to your SD card. Then after you've installed a custom ROM you'll again use Titanium Backup to "batch" restore your apps, settings, and data from your SD card. It's pretty painless. You'll still have to rearrange your desktop on the custom ROM, but basically, your apps, data, and settings will be there. Can I change custom ROMS? Yes... and it'll be even easier after the 1st time because you'll have already done half the work (rooting & backing up.) Instructions are below. Will I still get firmware updates from Sprint? Probably not. Chances are that your custom ROM will intentionally prevent Sprint's firmware updates. If Sprint notifies you of an update, you should refuse it because you may end up with a baseband mismatch (as described above). The Sprint firmware won't be as good as your custom ROM anyway. And you can always restore the phone to stock firmware if you like. Can I restore the phone to the stock Sprint firmware? Yes. Just follow the instructions in the Appendix (at the bottom) to restore your phone to stock Sprint "ZVD" software, unrooted, so nobody would even know that it's been rooted or customized. Will rooting and flashing void my warranty? Technically, yes. But you can restore your phone to stock Sprint firmware as mentioned above. Disclaimers: Standard disclaimers apply... This could ruin your phone, your life, the planet, etc, but if you follow these instructions, it's higly unlikely. Officially, rooting will void your warranty. I accept no liability for any problems that may occur from using this guide. ****** . . . Step-by-step instructions to root & flash your ZVD or ZVH Optimus S . . .****** Prerequisites. This guide assumes that: A) You're using a PC with a working USB driver. (If not, download it from LG's website HERE). B) That you know how to connect your phone to your PC via USB C) That you know how to copy files between your PC & your phone's SD card. D) That you know how to delete files. E) You have stock firmware & recovery with a baseband version ZVD or ZVH that you want to keep. (See above explanations.) Ready? Here we go... 1) Make room: Make sure that you have about 500MB of free space on your SD card. You'll only need this space temporarily, so if you don't have enough space, you might want to temporarily move some music or video files to your PC. If there are any Sprint apps (like SprintTV, NASCAR, Football, or Music Plus) that you think you might want to take with you, make sure that they're installed so that we can back them up. Make sure that your phone has at least a 50% battery charge since you don't want to run out of power in the middle of this process. 2) Root your phone and install the Xonia CWMA custom recovery. Here's how: --A) Download optiauto-sfx.exe to the C: drive of your PC. --B) Make sure your SD card is installed. --C) Make sure USB Debugging is enabled. Menu->Settings-> Applications-> Development-> USB debugging. --D) Make sure USB Storage Mode is off. (Drag down the notification bar. "USB Connected" should be green.) --E) Make sure that you have a working LG/USB driver installed. --F) Make sure that the phone is connected to USB port and recognized by the PC. --G) Make sure that the phone is turned on. --H) Make sure that the phone screen is unlocked. --I) Some (not all) antivirus programs may block optiauto-sfx.exe because it's an Android "exploit" (which is exactly why we use it), so you should probably temporarily turn-off your anti-virus software. --J) Launch optiauto-sfx.exe on your PC. Select option "A". The program will run and it will let you know whether or not it worked. If it works, it'll say, "It's a GG man!" and you'll have root access to your phone (thereby allowing you to run certain programs) with the Xonia CWMA Custom Recovery installed. --K) At the end, your phone will reboot and will look normal, but it will be rooted with the Xonia Custom Recovery installed. --L) Turn on your antivirus software if you turned it off in step I above. 3) Do a Titanium Backup so that once you install a new ROM, you can easily restore all of your current apps, settings, and data to the new ROM. Here's how: 3A- Install Titanium Backup (free app) from the Play Store. Give it root access and do whatever it tells you to do at startup. 3B- Back up your stuff... Restart Titanium backup and select "Backup/Restore". Hit the "Settings" button and select "Batch". Then select "RUN Backup all user apps + system data". 3C- Optional: If you download the Pro version of Titanium Backup you should be able to create a flashable zip file of the Titanium Backup app and your other apps. (I can't provide instructions because I have an old free version which has this functionality, and the new "Pro" version has a different menu layout. On my old free version you hit the "settings" button on your phone. Select "More", and then "Create update.zip". Select "Edify", "User application", and "TitaniumBackup-X.X.X.zip". (Note the name.) This will put a flashable zip file on the root level of your SD card. 4) Download a custom ROM to your PC and then move it to the top level of your SD card. For ZVH you probably want to choose gROM, OptiROM, or HydroROM if you can find it. (I didn't try OptiROM. I slightly prefered HydroROM over gROM.) For ZVD you probably want to choose Reborn ROM, sROM, or Kraven's CM7 ROM. (I've only tried Reborn ROM so far. The CM7 feature set looks amazing though so I'm gonna try that too. Note however that if you download Kraven's CM7, you'll also need to download the Google Apps "GAPPS" zip file and put that file into the top level of your SD card so that you can flash it onto your phone after installing the CM7 ROM. That will give you access to necessary Google Apps, like the Play Store, which are not built-into Kraven's CM7 ROM.) It's actually quite easy to try different ROMs once you're rooted and you've done a Titanium backup (by following steps #4 - #12). 5) Do a "Nandroid backup". A Nandroid backup creates an image of your current ROM for added safety. If you save your Nandroid backup, you can always return your phone to EXACTLY the way it was at the time of the Nandroid backup by doing a "retore" of that Nandroid backup. (See Appendix for restore instructions.) Make sure that you have ample space on your SD card to contain the backup. Make sure you have plenty of free space (at least 400MB) on your SD card for the backup. To do a Nandroid backup: --A) Turn off the phone. --B) Boot into recovery mode by simultaneously pressing the power button, ---- the home-button, and the volume-down button until you see the "LG" screen. ---- After several seconds you should be greeted by the Xonia Custom Recovery main menu. ---- (Note: You'll move the highlight up and down with the volume up/down keys. ---- "Settings" key selects. "Back" key goes back. "Home" key toggles the screen off & on.) --C) Select "backup and restore". --D) Select "backup". It'll take a a minute or two and give your some feedback. Don't worry. ---- Make sure that is says that it successfully completed the backup. 6) Go "back" to Xonia's main menu. Select "wipe data/factory reset" and confirm. Then select "wipe cache partition" and confirm. 7) Install the new ROM: From Xonia's main menu, select "install zip from sdcard", then "toggle signature verification" to "Disabled", then select "choose zip from sdcard" and select the custom ROM that you loaded onto your SD card. (It's probably way down at the bottom so scroll down to it. Scrolling up is usually a faster way to get to it.) Confirm. The ROM will load. Sit tight. This takes a minute or two. (Note: If you've installed Kraven's CM7 ROM, you'll also need to install the Google Apps (GAPPS) zip file mentioned in step #4 by selecting "choose zip from sdcard" and then installing the GAPPS zip file that you should have loaded onto your SD card.) 8) If you bought the "Pro" version of Titanium Backup and created a zip file in steop 3C above, then from Xionia's main menu, select "install zip from sdcard", toggle signature verification, then select "choose zip from sdcard" and select the zip file that you stored on the top level of your SD card in step 3C above. If you did not buy the "Pro" version, add your gmail account and login info to the phone and download Titanium Backup from the Play Store. Then launch Titanium Backup and restore the desired apps. (You can do this in batch mode but you probably want to be careful not to re-install apps that might now be built-into your new ROM, e.g. WiFi tethering.) 9) From Xonia's main menu, select "reboot" to use your new ROM. The first time (only) this takes a really long time. It seems even longer if you're new to flashing ROMs. Don't worry. Sit tight. 10) When the phone boots up, it may act like it has come alive for the first time at the store, so you may have to walk through the phone's initial setup procedure, adding your Gmail account. (Optionally, you may want to turn on WiFi if available to speed up any downloads if your 3G service is weak.) 11) Restore your apps, settings, & data: From the app drawer, launch Titanium Backup. Give it superuser access and do whatever it says. Select "Backup/Restore", hit the "Settings" button, select "Batch", and "Restore Missing Apps and All System Data". Confirm each app's install. (You don't have to confirm each install if you buy the full version of Titanium Backup.) Now all of your apps, settings, and data should be sitting on a new, faster, better ROM. (Of course you don't have to do a batch restore. Titanium lets you be more selective about which apps and data you want to restore.) Note: Some would say that it's not a good idea to do a batch restore of everything, because of possible incompatibilities, but in my experience loading a few different custom ROMs, I have not had any issues. You may not be able to install some system apps, like the stock Froyo clock. If you encounter issues wth a particular app, try deleting its data (or deleting & reinstalling the app). 12) You're done! Enjoy! Here are some extra goodies you may want to consider... If overclocking isn't built-into your ROM or an overclocking app isn't included, consider installing an overclocking app like "No Frills CPU Control" (free from the Market/Play-Store) so that you can speed up your phone. A stock Optimus S CPU runs at 600MHz but you should be able to overclock to at least 806MHz (a 34% speed increase), maybe faster or slower depending on your phone, but if it starts glitching or crashing, then back-down the maximum clock speed. Check the box that says "Apply on boot". It's probably best to leave the clock speed "on demand" to save battery life. And with all that extra speed and memory, you may want to consider downloading and installing Adobe Flash for ARMv6 from here (if you'd like to have Flash capability). Depending on your ROM's capability, you may also want to consider installing tethering app like PDANet+ (premium) or the free WiFi Tether (by Muller, Lemons, Buxton, et al) to gain free WiFi tethering/Hotspot capability. [FYI: The settings for "WiFi Tether" should be: Change Device Profile- "LG Optimus S", Change Set-up Method- "WEXT (ad-hoc)"]. I'd also strongly recommend that you implement a memory-expanding app like "Link2SD". Guide link follows. http://androidforums.com/optimus-s-...ry-using-link2sd-w-pros-cons-vs-data2ext.html 13) Clean up. From your PC (via USB) you may want to copy your Nandroid backup onto your PC for safekeeping, and then delete it from your SD card) to free up space on your SD card. You will find your Nandroid backup on your SD card under "clockworkmod/backup". It will be a folder named with a date. DON'T RENAME IT, or else the checksum won't work and you won't be able to use it to restore your phone. You should probably leave the empty "clockworkmod/backup" folders in place so that you can easily put a Nandroid backup in there if you want to do so later (because Xonia looks for the Nandroid backup in that location). You may also want delete the custom ROM's zip file from the top level of your SD card (since that ROM is now loaded into your phone). You may want to move your TitaniumBackup-X.X.X.zip file to your PC. And if you moved music (or something) off of your SD card to make room, you may want to move it back now. That wasn't so hard was it? If you want to try another ROM, just do steps #4 - #12. APPENDIX: If you have stock baseband versions ZV8, ZV9, ZVC, ZVH, or ZVJ, you can use the following instructions to convert your phone to an unrooted, stock Sprint ZVD (Android v2.2 "Froyo") Optimus S. From there you can either use Sprint's normal "over-the-air" (OTA) procedure to (optionally) upgrade your phone to Sprint's stock firmware, or you can use the guide above to install a custom ROM. How to make your phone a stock ZVD (Android v2.2 "Froyo") phone: A) Read the introductory part of the main guide (above), including the prerequisites, but don't follow the step-by-step instructions that start with step 1. Note. You should only do this with a stock Sprint recovery. B) Make sure that you have about 100MB of free space on your SD card. You'll only need this space temporarily, so if you don't have enough space, you might want to temporarily move some music or video files to your PC. C) Download Sprint's stock ZVD ROM called "update.zip" from this link on Sprint's website, and save it to your PC. D) Copy that ZVD "update.zip" onto the root directory (i.e. the highest level) of your SD card. E) Turn off the phone. F) Boot into recovery mode by simultaneously pressing the power button, ---- home-button, and volume-down button until you see the "LG" screen. ---- After several seconds you should be greeted by the recovery main menu. ---- (Note: You'll move the highlight up and down with the volume up/down keys. ---- "Settings" key selects. "Back" key goes back. "Home" key toggles the screen off & on.) G) Select “apply sdcard:update.zip”. It'll take 3-4 minutes to install. If it hangs for more than 5 minutes, pull the battery, reboot into recovery, select "factory reset/data wipe", and then redo this step F. Doing a factory reset/data wipe" will erase the data, apps, and settings in your phone's internal memory, but it won't delete anything (like music or photos) from your phone's SD card. H) If you're downgrading from ZVJ, reboot back into recovery mode and redo step "F" above. Otherwise skip to step "I" below. I) Select "Reboot”. (It will take a long time to boot up. Don’t worry.) Your phone is now an unrooted with stock Sprint ZVD firmware and with a stock recovery. J) Clean up by deleting the update.zip file from your SD card. Now what? If you want to fool somebody into believing that the phone has never been rooted, you should probably delete the entire "clockworkmod" folder, the "titanium" folder from your SD card, as well as any zip files that you loaded, onto your SD card. If you want to update the phone to stock Sprint ZVJ firmware, then follow the normal Sprint over-the-air (OTA) upgrade procedures. (From the home screen, hit the "Settings button", then select "Settings-> About phone. Then select "System Updates" and "Update Firmware". If you now want to load a custom ZVD-based ROM onto your stock ZVD phone, follow steps 1-13 above. How to do a Nandroid restore: If you ever want to restore your phone using your Nandroid backup, you'll have to make sure that the Nandroid backup folder is located in the "clockworkmod/backup" folder on your SD card and that you have a custom recovery installed. Then just boot into the custom recovery, select "backup and restore", select "restore", and then select your Nandroid backup folder. You can only do such a Nandroid restore if the bseband that's running on your phone is the same as the baseband of the Nandroid backup.