Several of my friends have a Samsung Galaxy S. It’s an Anrdoid based smartphone that is still pretty decent. But the phone keeps acting up. Calls stop working sporadically, strange glitches appear, and in general, your trust in the device erodes. One reason for this may be the additional software that Samsung has built into its phone. So when one of the phones was no longer usable, I took a risk and replaced the OS with something else, in the hope that the hardware is ok, and only the software is causing problems. It took quite a bit of work to get it all done, as no instructions online were complete. Here’s a walkthrough:
First, understand the basics: An Android phone is based on Linux. It has a Linux kernel, which includes core libraries and all the code that is needed to boot up the device. On top of that, it has a Linux distribution (an Android variant), which means all of the core applications and utilities that are needed to create a user interface and to actually do something with it. And on top of that, there are various applications that you can install from eg. Android Market.
I installed CyanogenMod, since that seemed like a decent distro. There’s an excellent Full Guide on the wiki, which contains most of the information you need. I’ll only go through things that I needed to do differently.
First, backup everything. I installed the three apps mentioned in the wiki and made backups using them. I then used Mac’s Disk Utility to just make compressed images of the internal memory and SD card. If you can’t see the cards as mounted drives on your computer, you need to unplug the USB, go into USB settings in the phone, and change from “Kies” to “USB memory” or something similar, so that the phone actually works like a memory stick.
OK, then I need to install a modified kernel, ClockworkMod. Install Heimdall on Mac, reboot, extract the kernel (it produces just a zImage file), then open console and do “heimdall flash –kernel /Users/foo/Downloads/zImage” (or wherever the file happens to be; ignore the part about putting the file into “Heimdall’s folder” since that just doesn’t make any sense). New kernel goes in without a hitch. I reboot the phone, and it boots nicely and looks the same as ever. So far so good.
While the internal memory is mounted, copy the CyanogenMod zip file (and the Google apps zip file) into the top folder of internal memory. Actually, at this point, it might be prudent to take out the external SD card, since the installation procedure seems to mix internal and external memory; I ended up with a situation where the phone would endlessly try to reboot, as it tries to find a new distro from the wrong memory. Removing the SD card fixed that. So you might do that beforehand to keep things simple.
Then I need to boot into ClockworkMod’s recovery mode to install the new distro. Instructions for Samsung Galaxy S say you should shutdown the phone, then hold volume up and down and power together, and release the buttons after the second Samsung logo has appeared. After several attempts with various timings I gave up, as the phone just booted up as usual.
To force a recovery boot, I first enabled the USB debugging feature in the phone’s Application settings. Then connect with USB to my Mac. I have the Android debugger installed as part of the Android SDK, in folder “platform-tools”. Running “platform-tools/adb devices” shows that the phone is detected, and running “adb reboot recovery” reboots the phone into recovery mode.
OK, using the recovery mode I then install the new distro, CyanogenMod, and then Gapps, according to the wiki instructions. However, apparently the Gapps were not installed on the same go. What ended up working was to first install CyanogenMod, then reboot, whereby it actually gets loaded and installed. I now have a working CyanogenMod Android phone with no connections to Google. Then do another “adb reboot recovery” to get back to the recovery mode, and select Google apps for installation. Reboot, wait, and your phone is ready to go.
After you enter your Google account, it’s going to sync all your old data back, so you have your contacts, your background images, calendars, etc. Reinsert the SD card, install the backup apps to restores SMS, call data, and applications, and your phone is as good as new.
Probably better.
Leave a Reply