You have an old iPhone and you don’t know what to do with it? Perhaps reselling it would be a good idea…
No wait we are going to do something really cool with it: installing Android Froyo 2.2.

Why?

• Because it’s so cool
• to impress your friends
• to start learning building apps for Android without having to buy an Android Phone.

Is it really cool?

Somehow yes but don’t expect too much of it. It will be definitely slower than a normal Android Phone and some features like camera and Bluetooth are not working. The overall performance and speed is also very low but not better than some fake Chinese iPhone copy. Of course due to the fact that’s not a 100% genuine Android Phone you won’t have access to the Google Market. This is not really dramatic as a quick Google search will give you the URL APK-files. I would claim Android on IPhone is only for tests and developer who like to test small apps.

Disclaimer: Please be aware that the instructions here are for test purpose only. Don’t try this if you love your iPhone 😉 The instructions might change depending on your iPhone version. If you are not afraid about bricking your iPhone then you can go on…

Where to start ?

Make a backup of your iPhone over iTunes cause I’m pretty sure you will crash several time your phone. Take this advice seriously if you plan to reuse iOS after the OpenIBoot installation.
Ok let’s start with a jailbroken (Redsnow seems to work well with iDroid) iPhone. On Cydia you will find an application named Bootlace.

Install this app and start Bootlace. You will get an app with four tabs.

Click on the iDroid icon and press Install: the special Android image is going to be downloaded from the web and installed.

It sounds logic, but please make sure your iPhone is connected to the power plug or USB so that you won’t need to interrupt your download.
After a few minutes you will see following screen when pressing on the QuickBoot:

http://www.idroidproject.org/wiki/Main_Page
If you had no problems during the installation, you should now be able to boot to Android.

Oh wait there is a Zephyr stuff missing or can’t be uncompressed!

This is the most common problem. The Zephyr files (zephyr_main.bin and zephyr_aspeed.bin) contain the calibration data and driver for the multitouch touchscreen. You won’t find this file on the internet because it’s illegal to give them as download because the drivers are proprietary.

So the easiest way to get the working is to compile these drivers by yourselves.

It’s not really trivial to do this so I highly recommend reading the following webpage very careful:

http://www.idroidproject.org/wiki/Installing_iDroid_%28OS_X%29#Manual_Zephyr_Extraction

To check if everything is correct with the Zephyr multitouch firmware go on the iDroid Tab and press the little rounded Info Button. You should get the following screen with three options.

Press on Extract Multitouch Firmware. If you get the following message as depicted below, you have successfully installed the drivers.

Believe me or not, the driver’s installation is not a piece of cake and can be very frustrating because depending on the apps and libs you had previously installed, some will issue internal dependencies problems.
The more radical solution (I had this Zephyr problem because I’ve installed lots of libs such as gcc Darwin compiler) is to restore your iPhone with a pre-jailbreak backup with iTunes and then to re-jailbreak it and install Bootlace and iDroid. Do you remember the backup ?
Now you have a fresh Froyo (Android 2.2.) on your iPhone. Isn’t it cool?

Where is the Google Market ?

Do you miss the Google Market? So do I, but it isn’t as desperate as it looks. As the version of the Android you have installed is not an official one, you won’t find the Google Market on it.

The only solution is too check these websites

http://www.androidlib.com

http://www.android.com/market/free.html

http://www.freeandroidware.com/

and to download the APK files of your application onto your computer.
Then you can use the adb command (see Installing Android (2.2.) Part 2 ) to install it manually.