Hi there,
I spent a couple hours trying different versions of the file and it kept failing left and right. I finally got it working so I wanted to post what I did and things I noticed with troubleshooting.
If after you've followed all these steps a dozen times like I did and its the RC29 for G1 is not being installed triple-check the following:
1. File Size and Naming
The correct RC29 file size is 91,564,352 bytes. As stated many times earlier, the file name but be DREAIMG.nbh (and not DREAMING.nbg, DREAMIMG.nbgh, DREAIMG.nbh.txt). The file must be placed in the root folder "/" of the SD card and you should try and use a clean card.
2. Installing
After installing the card back in you should not plug it in to the USB. You should have as full a charge as possible -- if it turns off during the process you could break your phone. With your phone off, hold the Camera button and hit Power. If after the tri-color screen the screen goes to gray and stays gray then you win. If not, then keep reading.
3. No image file!
If it quickly flashes "No image file" the phone simply cannot read the DREAIMG.nbh file. And if you're reading this most likely you've followed the instructions so now you want to bang your head into your desk. Here are the possibilities I've encountered:
A. File named wrong. The case-specific "DREAIMG.nbh" works for me, and I do not know and have not tested if other cases for the names work whether people claim them to work or not.
B. Zip file renamed to DREAIMG.nbh instead of extracting DREAIMG.nbh. You may have read that you can use update.zip to update your phone to RC29. This is only if you have less than RC29. The update system verifies you are upgrading and not downgrading.
C. Wrong formatting of Micro SD Card. I tried several times on my Micro SD card. Windows Vista said it was a FAT32 architecture. I downloaded Pocket Mechanic for my windows mobile device so I could run some tests on the card and, lo an behold, it called it FAT16. Make sure you format your card FAT32 and try again. If you're still this far and it doesn't work, reformat the card FAT32 and try again.
D. Bad Micro SD card. The Micro SD card that I had was a 2GB ******* Micro SD card. It worked fine in Windows Vista. It worked fine on my Windows Mobile Device. Apparently, the G1 was not properly reading it. I spent $14 at WalMart getting a 4GB ******* HC Micro SD card (it was preformatted FAT32), copied the file, stuck it in the phone and the update worked.
Now, if you're trying to root the phone, good luck, I haven't done that and can't be of any help on that.
If you are trying to develop for the G1 or check your mobile sites on G1 (which is what I'm doing), you need to activate it over T-Mobile. I obviously do not want to pay for T-Mobile service just to activate my phone so I needed to enable wifi.
To make sure your phone is RC29, insert the sim card and type in reboot. If your phone reboots, its good to go. When it comes back up, plug your phone into your computer. Type in setprop persist.service.adb.enable 1. If you have your speakers on your Windows computer you'll hear the USB disconnecting and reconnecting. ADB will work at this point.
The final error I got after enabling wifi:
There is a problem communicating with the Google servers.
This could be a temporary problem or your SIM card may not be provisioned for data services. If it continues, call Customer Care.
It doesn't seem to be using wifi. From ADB shell, launch the command: "am start -a android.intent.action.MAIN -n com.android.browser/.BrowserActivity" to load your browser. If google does not connect there is a problem with your wifi.
This problem seems to be too many wifi devices competing for your wifi bandwidth. Keep trying and eventually it will go through. If it does not, try forcing your phone to only use 2G connections in Settings > Wireless Controls > Mobile Networks > Use only 2G networks checked.
I'm now on the phone and wifi is working!
Good luck, and if its still not working for you you've had it rougher than me :/
Total time wasted by having a bad SD card: 3 hours.