David Wong, who goes by the handle "planetbeing," demonstrated his hack on video this week. The dual-boot setup, using a program called "OpeniBoot," allows the iPhone to be restarted and then run Google Android.
While the hack was demonstrated on a first-generation iPhone, Wong said porting to the iPhone 3G would be "pretty simple." An iPhone 3GS compatible version, he said, would be more difficult.
"The iPhone can in fact dual boot both the iPhone OS and Android, he said. "So even if you install Android on your phone, your iPhone can still be used normally."
In the video, recorded with an iPhone 3GS, Wong shut down the iPhone running the iPhone OS to access the OpeniBoot software, which is only available on a "jailbroken" Apple handset. Jailbreaking is the term used to describe exploiting holes in the iPhone OS to allow the device to run unsigned and unauthorized code.
Holding down the home button when in OpeniBoot, the software loads the Linux-based Android operating system, created by Google. The video shows the entire boot process, which is particularly slow given the early state of the hack.
Wong created drivers to allow the features of the Android operating system to correspond with the hardware capabilities and inputs of the iPhone. Because the iPhone is lacking in physical buttons, Wong re-purposed the volume up and down controls to serve as the call and home buttons for the Android operating system.
"It's not really production quality yet," he said. "I'd say it's alpha quality. But pretty much everything works."
As shown in the video, Wong received signal through a prepaid Rogers SIM card, connected to a Wi-Fi network, opened the Android browser to surf the Web, received a text message and received a phone call. Using the onscreen virtual keyboard he was able to pull up a website and navigate through touch controls. He said the experience was "usable."
Wong also ran into a hardware issue when playing music, because Android searches for files on an SD card -- something not available on the iPhone. Still, he managed to create a workaround to play music on the handset.
Wong is a .Net and Android developer. He's asked for donations to help with the project, or programmers who can help him code.
In 2008, members of the iPhone hacking community managed to successfully boot Linux on the iPhone, iPhone 3G and original iPod touch. Wong noted in his video that earlier efforts didn't offer much functionality, as drivers were not available. The first port was based on the main Linux 2.6 kernel and had rudimentary graphics, serial and other functional drivers for basic tasks.