Thursday, June 3, 2010

iPhone dualbooted with android (iphone 2g only)

some hackers managed to port Android on the Apple iPhone. For those of you who were a little hesitant on trying it out because of all the advanced instructions; here is a simple step by step guide for you (courtesy of Android A Alot) which will enable you to dual-boot Android with iPhone OS on iPhone 2G.

Android on iPhone

The process involves 5 stages: from downloading all the required stuff, to preparation, configuring Virtual Box with Ubuntu, to getting Android on iPhone and so on. Each stage then has lots of steps which you will need to follow. The reason why the guide is long is because everything has been detailed, and broken down so that even a newbie can get it to work on ajailbroken iPhone 2G.

Disclaimer: This guide is for testing & educational purposes only. Follow it on your own risk. We are not responsible for any loss of important data, malfunctioning or bricking of your iPhone.

And here are the instruction for installing Android on your iPhone. Note: This guide is for the original iPhone 2G (EDGE) only.

UPDATE: Video guide for all the instructions has been added at the bottom of this page.

Downloads

Here’s a bunch of stuff that you’ll need before you start:

  1. IMPORTANT! Jailbroken iPhone 2G. Jailbreaking guide can be found here.
  2. VirtualBox (link).  Get the right version Windows/Mac
  3. VirtualBox Ubuntu Image (link).  Download number 10, Ubuntu Linux 9.10 codename Karmic Koalax86
  4. iPhone Explorer (link).  If you’re on Linux you can use FTP such as FileZilla instead.
  5. Android images and sources (link)
  6. Patched images (link).  Courtesy of Geekoid.

Preparation

Let’s get some of the basics out of the way:

  1. Open Task Manager
  2. Kill the iTunes Helper process
  3. Install iPhone Explorer
  4. Connect your iPhone to your Mac/PC
  5. Run iPhone Explorer
  6. Click the Change Root button
  7. Select “/” Real iPhone Root Directory
  8. Browse to private/var
  9. Copy ramdisk.img, userdata.img, cache.img and zImage from Downloads#5 (Android images and sources) to that var directory
  10. Copy system.img and android.img.gz from Downloads#6 (patched images) to the that var directory
  11. That’s all the Android files on your iPhone, now to make them run!

Setting Up Virtual Box

  1. Install VirtualBox
  2. Open VirtualBox
  3. Go on File > Virtual Media Manager
  4. Make sure Hard Disks is selected
  5. Click Add
  6. Locate the ubuntu-9.10.vdi file (download#3) and select it
  7. Close Virtual Media Manager
  8. Go on Machine > New
  9. Click Next
  10. Under Name enter “Ubuntu”
  11. Select Linux Operating System
  12. Select Ubuntu Version
  13. Click Next
  14. Set an amount of RAM, the default should be fine
  15. Click Next
  16. Select “Use existing hard disk”
  17. Select the ubuntu-9.10.vdi
  18. Click Next
  19. Click Finish
  20. Select that new machine to start up Ubuntu
  21. The password to login is: reverse

Setting Up Ubuntu

Almost there – if this feels a bit long, just consider how short and simple each step is!

  1. Click System (top bar) > Administration > Synaptic Package Manager
  2. Enter the password: reverse
  3. In the quicksearch box, type libusb-1.0, click the Check Box next to libusb-1.0-0 and select Mark for installation
  4. In the quicksearch box, type libreadline, click the Check Box next to libreadline5 and select Mark for installtion
  5. Click Apply
  6. When it’s all installed close the Package Manager
  7. Open Firefox (in Ubuntu)
  8. Download openiboot installer from here
  9. Click Places (top bar) > Downloads
  10. Right-click openiboot.zip and click Extract Here
  11. Click Applications (top bar) > Accessories > Terminal
  12. Without the quotes, type ‘cd Downloads/openiboot’
  13. Restart your iPhone in Recovery Mode (power off, hold down Home button, connect to usb cable

Getting Android Working!

Well done on getting this far! This is where the fun beings (credits to WinX Blog for these instructions –link)

  1. In VirtualBox, the Ubuntu Window, go on Devices > USB Devices and select iPhone (Recovery Mode)
  2. In the terminal type (without quotes): ’sudo su’
  3. Enter the password: reverse
  4. In the terminal type ./loadibec openiboot.img3
  5. You’ll see the OpeniBoot screen appear on your iPhone
  6. Hold down the power button a couple of seconds (iPhone)
  7. The bottom option, openiboot console, will become selected
  8. Press Home (iPhone).  You’ll see a bunch of text appear and stop at “Welcome to openiboot”
  9. In VirtualBox, the Ubuntu Window, go on Devices > USB Devices and select iPhone (OpeniBoot Mode)
  10. In terminal type su ./oibc
  11. Enter the password: reverse
  12. If this doesn’t work just type: ./oibc
  13. You’ll see the same text from the iPhone in the Terminal
  14. Type (without quotes) ‘nor_read 0×09000000 0×0 1048576′ and press Enter
  15. Wait for it to say Done
  16. Type (without quotes) ‘~norbackup.dump:1048576′
  17. This creates a backup of your NOR memory – save a copy on USB stick, or email it to yourself or something
  18. Type install, press Enter.  When this is done you’ve got openiboot installed on your iPhone.  You’re done!

Finishing Off

What you’ve achieved up til now is Android files on your iPhone, and then installing openiboot so that you have an option to start iPhone OS or Android when you turn on your phone.  Openiboot was necessary because that’s the only way right now that you can boot into Android.  Here’s how to finish off and get into Android:

  1. If you still have Terminal open with the oibc still running, just type ‘reboot’, press Enter and skip to step 3
  2. If you don’t have Terminal open, disconnect your phone, turn it off and back on
  3. When openiboot appears press Power button to switch to openiboot console (bottom option)
  4. Hold down the Home button
  5. Android will start to boot, but it might take a while

And here is the video, with all the steps in visual detail.


Guide to Installing Android on iPhone 2G from AndroidALot on Vimeo.


Once you are done with all this, you should now have dual-boot configuration with Android 1.6 and iPhone OS on your iPhone with working calling, text messaging and WiFi. Camera wont work as of now, and there probably would be a few crashes here and there.