Monday, September 20, 2010

Installing Froyo on the G1


If you want to install the latest version of Android 2.2 Froyo on a G1, you have to use a cooked ROM. I'm using Cyanogen Mod 6, and it works pretty good.

The Cyanogen team did some incredible work squeezing Froyo onto the G1. Their documentation of how to do it for the new user is fairly complete but very scattered and out of order. The old adage that great programmers don't necessarily make great documenters is true here. 

Since the G1 is an older device, and the specific steps are very complete at the linked websites in this document, I'm only going to give a more sane order of events here for how to put Froyo on your G1. This assumes you are good with computers, and reading documents, but have little previous experience with Android.

If you have data on your phone (besides mail and contacts) that you want to save, then you need to use Nandroid backup to store that data on your SD card and return it to your phone after the update. Despite what I have read, registering your phone on the network after installing CM 6 did not work without data services on my cell account. You can borrow someone else's SIM with data, or sign up yourself for just one day, then cancel and use WiFi only if you don't want an expensive data plan. There may be a way around it by not installing Google Apps until after you first boot your phone and set up WiFi. I didn't think to try that.


Format your SD card. Download the following files on your computer, and put them on your SD card by connecting to the phone by USB, or just putting the card into your computer and copying them over. I don't see why you couldn't download them direct over the phone data connection. Don't put the files in any folders, or put folders on the card.
  • DREAIMG.nbh
  • Amon_RA's recovery image
  • 2.22.23.02 radio image (if you are on T-Mobile USA)
  • DangerSPL
  • Cyanogen Mod 6 ROM
  • Google Apps Tiny ROM
Get into bootloader by turning on your phone while holding the camera button. Write down the Hboot and Radio version numbers, then follow the onscreen directions to downgrade the firmware to DREAIMG.nbh

Reboot the phone, sign into your Google Account, and follow the directions to install telnetd. Then use telnet to install Amon_RA's recovery image. The instructions suggest you call it recovery.img, which is fine, but if you choose another file name when  you put the file on your SD card, use the name you chose instead when typing it into telnet.

Boot into Recovery by turning on your phone while holding the home key. If the radio number didn't start with a 2.xx, do not continue until you update the radio and verify it took. If you continue with a 1, 3, or 4 radio, you will permanently ruin your phone. Follow the onscreen directions in Recovery mode to update the radio to 2.22.23.02 if necessary, and reboot.

After rebooting, it will return to Recovery mode to finish formatting the cache. There will be no indication it is done, it will just take a few seconds then start responding to keypresses. Follow the onscreen directions to turn the phone off and this time reboot into Bootloader mode. Verify the radio update took by looking at the Radio version number.  Turn the phone back off, and return to Recovery mode.


In Recovery mode,  chose "flash zip from SD card" and flash the DangerSPL.zip file. You can remain in Recovery mode and wipe the "data/factory reset," "cache," and "Davlik-cache." 


Still in Recovery mode, you can load the Cyanogen Mod 6 ROM, and even Google Apps Tiny if you have a cellular data plan and don't want to try to register the phone and set up WiFi, before you are forced to sign into your Google Account.

Don't use the full Google Apps package, the install will crash before it finishes because of too little memory in the G1. You can install the few missing apps one at a time by copying installed apps onto your SD card before adding the next one. You must have a class 6 SD card or better for this to work acceptably. Lower class cards are too slow.

Some people feel like CM6 can be slow on the G1, but it seems like as many feel like it is almost as fast as the stock T-Mobile HTC 1.6 and some of the other cooked Android versions out there. Here is a thread with people debating how to speed it up.


Let me know if I messed something up. This was all from my relatively fresh memory of doing it, while being frustrating paging through the docs figuring out what should happen next. Happy Androiding.