Hackers have successfully installed a hacked version of Linux on an iPhone, that can boot a working Android OS. The first release is still buggy and may not work with every iPhone yet.
The video shown below was released by the hacker and clearly shows that Android can run on the iPhone as a dual-boot with the iPhone OS. When the iPhone is booted, the user is brought up with a screen allowing them to choose which OS they would like to boot into.
The video shows that Android can boot, make phone calls, receive messages, Wi-Fi and may others features are working too.
The service currently supports iPhone 2G and 3G, but 3GS support still needs a bit of work.

[...] same team that was able to successfully port Android OS to the first-generation iPhone was able to do the same for the iPhone 3G [...]
[...] earlier today, that doesn’t mean development has to stop on the iPhone 3GS. While we’ve seen this before, an iPhone running Android, it was never an iPhone 3GS and never Android [...]