Installing CyanogenMod 12 (Lollipop) on My Samsung Galaxy S5

This was surprisingly easy to do:

1. Root the Phone

This was made simple thanks to Towel Root. Please see https://towelroot.com/ for this easy to use utility. Afterwards you can confirm that your phone is properly rooted using Root Checker.

2. Install a Custom Recovery

Once rooted this was too easy. Install TWRP Manager making sure to install BusyBox if required. TWRP Manager will manage everything so just follow the instructions and you’ll be good to go. If you get any BusyBox errors fret not, install the supported Stericson BusyBox.

3. Backups!

There’s no tool like Titanium Backup. Install it, buy the Pro key, and back up your user apps and data. Later in Restore Apps & Data you will be able to quickly restore your apps and their config data saving you countless hours of tedious effort. It will also back up and restore your Hangouts/SMS messages.

But possibly more important than backing up your apps & data is making a nandroid backup of your original system. This will allow you to restore your phone to its pre-CyanogenMod state, Samsung’s infamous KNOX warranty bit notwithstanding. Simply reboot to recovery by powering down your phone then powering it up by holding down the power button, home screen button, AND volume up at the same time until the Samsung logo appears. Then select Backup and select what you want to back up. I recommend Boot, System, Data, EFS, and Modem. Once the backup is complete, make sure you copy the files off your phone onto a PC.

Important: both of these backups should go to the SD card so they can be restored later if need be.

I also recommend connecting your phone to your PC and manually backing up photos, videos, etc. These are NOT captured in the above backups. Note that your external SD card will not be affected by the upcoming erase and flash operations unless you do something really goofy.

4. Download the Files

The latest CyanogenMod 12 files are located here. Select the latest Nightly build but understand the risks in doing so. As of this writing there is nothing more stable than Nightly builds but eventually there should be something better.

You will also need the Google Apps package which will allow you to use the Play Store etc.

These two ZIP files should be saved to your external SD card. I use a folder called ROMs for anything I might want to flash.

Flash the Phone

Now that you’re all backed up and no longer afraid to lose anything on your phone, it’s time to leave TouchWiz. Boot into recovery. From here you should do a Wipe/Factory Reset, then select Install. Navigate to your ZIP files and first add the CM12 file followed by the Google Apps file, then flash them. This shouldn’t take very long and once it’s finished, clear the Dalvik cache when you get the chance. Then reboot into CyanogenMod and configure your new phone.

Warning: make sure you have a fully charged battery. The last thing you want is for the battery to exhaust itself in the middle of a flash…

Restore Apps & Data

If you choose to allow it when initially setting up your new phone OS, CM12 will start re-installing your apps. If Titanium Backup was not installed then install it. After launching it you can select Restore and select which apps and/or data to restore. If your apps were automatically re-installed for you then you only need to restore their data.

This restore process works very nicely and allows you to quickly restore your applications’ states without having to manually reconfigure them one by one.

iPhone 3G Voice Dialing Woes. Or, Why My Next Phone Will Be an Andriod.

Unbelievably, at least to me, the Apple iPhone 3G is incapable of voice dialing on its own. Manitoba recently implemented a handsfree policy on electronic devices while driving, so I went out and bought a Motorola T215 bluetooth visor in an attempt to be compliant. Was I in for a disappointment!

Not only would this visor not voice dial my iPhone, subsequent research revealed that there were people aplenty who were mightly disappointed in this oversight. iPhone OS 3.X apparently introduced this feature to the iPhone 3GS, but it was disabled on the 3G models. To me this illustrates another example of Apple’s closed modus operandi. Not sure what their rationale for this, perhaps they want to drive sales of the 3GS/4? Regardless, this is the final nail in the coffin for me: my next phone will definitely be an Android. Despite the fact that Android devices largely suffer from the same problem/missing feature, their open platform at least suggests that this could be fixed at some point.

What really irks me is that my iPhone works great in my wife’s Toyota RAV4. This vehicle has bluetooth voice control built in, using the car’s electronics so all the phone has to do is dial and handle voice communications. It stores its own phone book and has its own menus and speech recognition. When my Lexus RX 400h is off lease in April, my next vehicle will definitely have this built in; candidate vehicles are the Dodge RAM 2500, Ford F250 Super Duty, and maybe even the GMC Denali HD, all of which are diesel.

After what seems like dozens of searches, not to mention trying a couple new devices that the salesmen swore would work with the 3G, I found an obscure post suggesting that the Parrot MiniKit Slim will work with the iPhone 3G since it downloads the phone’s contacts and uses its built-in speech recognition to prompt you. Indeed, it seems to work very well, and at $129 isn’t a terrrible price for a nine-month stopgap solution.

UPDATE: the Parrot sometimes irritates me. It seems to be British in origin, and sometimes ASR only works if I speak with a British accent. Blimey!!!