Rooting Android 1.6 Donut To CyanogenMod
Here's my experience installing CyanogenMod on my UK T-Mobile G1. It had Android 1.6 Donut on and gaining root access I installed the latest CyanogenMod ROM (4.2.14) which is also based on the 1.6 Donut version of Android. These are not instructions of how to do it, but instead shows you what all the fuss is about and what you'll find if you decide to root your Android phone and maybe install CyanogenMod yourself.
What is CyanogenMod?
CyanogenMod is a third party firmware ROM that runs on Android phones such as the T-Mobile G1, HTC Dream and other Android devices. It includes many new and improved features not seen in the standard Android firmware versions.
How Do I Get CyanogenMod?
First you need to "root" your phone, which means gain administrator, or superuser, access and are then able to have full control over it, which means you are able to install what you like on it. (This is akin to as logging in as root on a linux operating system, Android is based on linux). By default, the standard Android firmware versions don't give your apps full access to your phone's hardware, to save you messing it up/bricking it or from making it do things Google/T-Mobile don't want you to. :-) This is quite risky, and can brick your phone and will void your warranty.
Once you have root access, you will then be able to install a modified ROM, such as CyanogenMod.
OK, I'm prepared to ruin my phone, tell me how to do it
I followed the excellent instructions in this page: G1/Dream Firmware To CyanogenMod.
What will I notice when I've installed CyanogenMod?
OK, here's the fun stuff. There are many, many new features, some you won't notice but here are some of the big improvements you will...
The user interface of the default Cyanogen theme has been given many new modern touches.
The apps drawer has been given a smaller transparent handle, and has a more compact view of your apps allowing 5 by 4 icons in portrait and 6 by 3 icons in landscape mode.
The Desktop now has 5 screens instead of 3, and auto-rotates when you rotate the phone.
There are loads of lovely new wallpapers in the wallpaper gallery.
The notification bar is semi-transparent when you slide it down, and the top of the screen has been given Apple-like rounded corners. :-D
On top of all this new user interface stuff, you also have the ability to flash other themes onto CyanogenMod to make it look more like the Hero or whatever you prefer!
CyanogenMod includes a new, improved version of the Android web browser. The bookmarks page contains thumbnails of each of your bookmarked pages instead of the standard list. By default, pages load up in overview mode giving a view of the whole page. Sometimes this is good enough for browsing, but if not, you can double tap to zoom in and again to zoom out. Another neat touch is the pinch and zoom as seen on another unmentionable phone, and there are many more settings in the settings menu than before. When pages are loading, you have a progress bar and a visible Stop button, which are both nice additions. And usefully, those annoying zoom in/out buttons that obscure the bottom of the screen are now less intrusive and can be turned off altogether.
We now have voice dialling! For some bizarre reason the UK version of the T-Mobile G1, and some others were missing the voice dialling feature, but Cyanogen does provide this feature. Superb!
Pinch and Zoom
In addition to the web browser, pinch and zoom works in the gallery for zooming in and out on pictures.
There are various reboot apps for Android, but they all require root access, but CyanogenMod includes a Reboot option when holding the End button.
When you run an app that requires root privileges to continue, you get prompted for permission like you do in Windows Vista. You can tick "remember" to this prompt and an exception will be added to the Superuser Permissions app.
The Android media player now supports FLAC audio which, if you didn't know, is a lossless audio format which gives superior sound quality to MP3.
There is a nice new "Spare Parts" app in the apps menu, which provides many, many settings to play with. :-D I like settings. In here are battery usage info and statistics, some tweaks you can make to the user interface and animations, and user feedback options.
There is a new messaging app that includes yet more settings including the LED colour and blink rate of the new message notification and other stuff.
A major plus point for rooting your Android phone is that you will now be able to run all the Apps that require root access. One essential one for me is the "Backlight Off" app that disables the backlight of the keyboard on the T-Mobile G1. Hooray! If you don't have a white G1, you won't know how infuriating it is when you can't read the keys in certain light conditions. Why on earth they made the G1 in the first place with invisible keys I'll never understand. Another nice type of app you can run with root access are screenshot apps. This is impossible to do unless you have a rooted phone. I used the "ShootMe" to take the screenshots on this page.
You have the ability to run various backup apps that only work with root access, but also included with CyanogenMod is nandroid, which you run from the bootup screen by holding down the Home key when booting up. It writes a complete backup of the OS and your apps to a folder on the SD card and can restore from it if you mess up your phone, which I have done a few times, and can confirm, it works!
CyanogenMod allows you to store and run your apps from your SD card, so no more running out of space after installing a few too many apps!
Extra 10Mb Hack
Not actually a feature (yet?) of CyanogenMod, if you do install the Cyanogen ROM, you will then have the option to install the extra 10Mb hack. It's a hack that re-allocates 10Mb if the phone's memory normally allocated to 3D graphics and makes it available for the operating system to use. It doesn't sound like much, but it's make a HUGE improvement to the speed of my G1.
The drawback to this is that the 3D performance is hopelessly slow if you're into gaming.
You can find more information on the 10Mb hack here: 10MB RAM Increase kernels/boot.img for Dream and Magic 32B.
The Call Settings menu contains a Black List to which you add numbers that are to be automatically rejected. Very useful for blocking those annoying automated sales calls. You can also easily press "Add To Black List" when an incoming sales call comes in. I can't wait for Kitchens Direct to call me to I can add them. :-)
What are the drawbacks of rooting and installing CyanogenMod on my Android phone?
Obviously the main drawback of rooting your Android phone and installing a third party ROM like CyanogenMod is the risk of "bricking" your phone. All the tutorial pages you find on the net warn of the dangers of ruining your phone, but generally people seem to do fine. From my experience, the process worked flawlessly in a short evening's fiddling. You will lose all your apps and settings though, and will have to re-install them one-by-one.
I had an awful lot of Force Close issues when reinstalling and restoring my apps, but eventually have them all working fine after uninstalling and reinstalling them, and running the fix_permissions script. You won't get the official OTA Android updates any more (if there will be any more after 1.6 remains to be seen). No doubt you'll be installing the latest CyanogenMod ROMs as soon as they are released anyway, so this isn't really a problem. (Note: There is a CyanogenMod updater app in the Android Market that takes care of updates to CyanogenMod and automatically notifies you on new versions and downloads them for you).
One thing that annoys me immensely is that I now have to put up with the Amazon MP3 store, which you cannot uninstall, and which starts up automatically at bootup. If I wanted it, I'd install it myself.
The reason I finally took the plunge and rooted my G1 is that I will soon be due an upgrade so I didn't mind taking the risk. But now I'm glad I did, and the G1 has become a pleasure to use again, and will provide many more hours of on-the-toilet entertainment. I would thoroughly recommend rooting your Android phone and installing Cyanogen's ROM, but as ever, "don't blame me if..."