iPhone Dev-Team member David Wong (aka planetbeing) has successfully installed the Android operating system on a first-generation iPhone. In fact, when booting the iPhone you can choose between iPhone OS and Android. The frankenphone makes phone calls, receives messages, plays music, and connects to Wi-Fi networks among other things.
The camera doesn't work and it may be a little bit buggy, but the fact that it works is impressive. That is, if you're impressed by that sort of thing. Many users looking to run unauthorized software on their iPhones simply resort to jailbreaking the iPhone OS, not installing an entirely different operating system!
Word has it that planetbeing is close to an iPhone 3G port of Android OS. He continues to work on the project and is tackling the dual-boot process and multi-touch drivers currently. Android runs slowly on the iPhone processor, one day if the 3GS with its faster clock speed runs Android maybe performance will be enhanced.
The iPhone has only one button under the screen, so when Android is running the volume buttons on the side of the iPhone serve as "call" and "home" buttons. Android phones and earlier iPhones have similar architecture and are based on compatible ARM chip designs.The process to run Android on an original iPhone (2G) involves over 60 different steps and of course risks making the iPhone into a useless brick. If you're still interested, find complete instructions at Androidalot.com.