Copied from androidalot
I’ve written up a tutorial for anyone to install Android on their iPhone 2G. It’s quite long, but only because it’s so simple and each step has been broken down to almost every click just so it’s easy for a total beginner to try this out!
Disclaimer
I take no responsibility for any damage you might cause to your phone by following this guide. Whether it gets bricked, blocked or eventually thrown out of the window, I can’t be held responsible. Use this guide at your own risk. Thanks!
Introduction
Today’s hype has all been about Android on an iPhone. As soon as I heard I knew what I’d be doing after work. Anyway, I’ve finally managed to get Android working and thought I’d write up a clear tutorial for anyone who wants to do it. Remember, I did this all on a Mac, but it should be possible on Windows or Linux too. Windows users just get the Windows version of VirtualBox.
The end result is far from a fully working Android system. It’s Android 1.6 with basic features – calls, texts, WiFi but no camera and probably a few Force Closes. It’s easy to upgrade Android versions once you’ve managed to get to the end of this tutorial so there’s no harm in getting the hard part out of the way now!
Downloads
Here’s a bunch of stuff that you’ll need before you start:
- IMPORTANT! Jailbroken iPhone 2G
- VirtualBox (link). Get the right version Windows/Mac
- VirtualBox Ubuntu Image (link). Download number 10, Ubuntu Linux 9.10 codename Karmic Koala x86
- iPhone Explorer (link). If you’re on Linux you can use FTP such as FileZilla instead.
- Android images and sources (link)
- Patched images (link). Courtesy of Geekoid.
Preparation
Let’s get some of the basics out of the way:
- Open Task Manager
- Kill the iTunes Helper process
- Install iPhone Explorer
- Connect your iPhone to your Mac/PC
- Run iPhone Explorer
- Click the Change Root button
- Select “/” Real iPhone Root Directory
- Browse to private/var
- Copy ramdisk.img, userdata.img, cache.img and zImage from Downloads#5 (Android images and sources) to that var directory
- Copy system.img and android.img.gz from Downloads#6 (patched images) to the that var directory
- That’s all the Android files on your iPhone, now to make them run!
Setting Up Virtual Box
- Install VirtualBox
- Open VirtualBox
- Go on File > Virtual Media Manager
- Make sure Hard Disks is selected
- Click Add
- Locate the ubuntu-9.10.vdi file (download#3) and select it
- Close Virtual Media Manager
- Go on Machine > New
- Click Next
- Under Name enter “Ubuntu”
- Select Linux Operating System
- Select Ubuntu Version
- Click Next
- Set an amount of RAM, the default should be fine
- Click Next
- Select “Use existing hard disk”
- Select the ubuntu-9.10.vdi
- Click Next
- Click Finish
- Select that new machine to start up Ubuntu
- 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!
- Click System (top bar) > Administration > Synaptic Package Manager
- Enter the password: reverse
- In the quicksearch box, type libusb-1.0, click the Check Box next to libusb-1.0-0 and select Mark for installation
- In the quicksearch box, type libreadline, click the Check Box next to libreadline5 and select Mark for installtion
- Click Apply
- When it’s all installed close the Package Manager
- Open Firefox (in Ubuntu)
- Download openiboot installer from here
- Click Places (top bar) > Downloads
- Right-click openiboot.zip and click Extract Here
- Click Applications (top bar) > Accessories > Terminal
- Without the quotes, type ‘cd Downloads/openiboot’
- 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)
- In VirtualBox, the Ubuntu Window, go on Devices > USB Devices and select iPhone (Recovery Mode)
- In the terminal type (without quotes): ’sudo su’
- Enter the password: reverse
- In the terminal type ./loadibec openiboot.img3
- You’ll see the OpeniBoot screen appear on your iPhone
- Hold down the power button a couple of seconds (iPhone)
- The bottom option, openiboot console, will become selected
- Press Home (iPhone). You’ll see a bunch of text appear and stop at “Welcome to openiboot”
- In VirtualBox, the Ubuntu Window, go on Devices > USB Devices and select iPhone (OpeniBoot Mode)
- In terminal type su ./oibc
- Enter the password: reverse
- If this doesn’t work just type: ./oibc
- You’ll see the same text from the iPhone in the Terminal
- Type (without quotes) ‘nor_read 0×09000000 0×0 1048576? and press Enter
- Wait for it to say Done
- Type (without quotes) ‘~norbackup.dump:1048576?
- This creates a backup of your NOR memory – save a copy on USB stick, or email it to yourself or something
- 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:
- If you still have Terminal open with the oibc still running, just type ‘reboot’, press Enter and skip to step 3
- If you don’t have Terminal open, disconnect your phone, turn it off and back on
- When openiboot appears press Power button to switch to openiboot console (bottom option)
- Hold down the Home button
- Android will start to boot, but it might take a while
Good Night
I think this guide is plenty enough to help you get Android on your iPhone. As mentioned, it’s not the full OS yet, but hopefully we’ll see a lot more devs contributing and a lot of advancement of this project. It’s gotten quite late and I woke up really early so I’m heading off to bed. Feel free to mention any issues in the comments and I’ll try to help out tomorrow. I’ll also get some screenshots and videos up tomorrow too!
Credits
planetbeing – the man who did all the hard work!
WinXBlog – guide for getting openiboot running
Geekoid – for the full system images
marco79 for FAQs 3-6
The entire Android and iPhone dev communities, making all this stuff a reality!
Anyone I missed? Sorry if I have but feel free to tell me. I don’t want any credit for other peoples work.
FAQ
- My iPhone is bricked now, how do I fix it? Use the steps in the Bricked Phones section below to make your brick work
- It gets stuck at the baseband message? You’re probably using WinSCP for the file transfer. Use FileZilla instead and everything should work. Thanks Siddharth
- Problem: I cannot boot a second time into Android after succesful installation. It stops with “Welcome to iboot” console.
Solution: When selecting the os in the openiboot screen (Apple or Android), DON’T just single click the home button but keep it pushed for about 3 seconds! - Problem: I can’t add the downloaded ubuntu image to virtual media manager in VirtualBox
Solution: You have to unzip the archive. The extension “7z” means that it is a compressed (kind of) Zip file. Use any “7zip” capable unarchiver, i.e. Winrar, 7zip, BetterZip etc. - Problem: When i type ‘nor_read 0×09000000 0×0 1048576? and press Enter the iphone reboots
Solution: Don’t copy and paste the string, type it by yourself! - Problem: In terminal, when running command ’su ./oibc’, I cannot type the password
Solution: Yes you can, you just won’t see it (no cursor). Just type it blind (and welcome to Linux shell btw).
Thanks to marco79 for FAQs 3-6!
Bricked Phones!
- If your iPhone appears bricked do a DFU restore, using these instructions:
1. Connect your iPhone to your computer.
2. Turn iPhone off.
3. Hold power and home together for 10 seconds (exactly).
4. Release power but keep holding home until the computers beeps (observed on a PC) as a USB device is recognized.
5. A few seconds later iTunes should detect your iPhone.
6. If the Restore Logo is present on the screen, you are in Recovery Mode, not DFU. - My iPhone is still bricked! Don’t worry it’s still not fully bricked. Just retry the above DFU steps every 5 minutes or so. People have reported that it can take up to an hour or two before the iPhone enters DFU mode
- Still bricked, are you taking the mick? Nope, no mick taking. Connect your iPhone to the mains wall charger. Hold down the power key for at least 10 seconds. Nothing will happen. Take it off the charger and connect to PC using the steps in #1. You should now be in DFU mode.
- OMG. Still no luck! Try these steps:
This trick worked under the windows XP.You need install LibUsb-Win32 drives on your PC.
1) Connect your iphone to the PC.
2) Hold Sleep(Power) button and Home button for 10 sec(exactly).
3)Holding the home button and leave power.
4)After few seconds you PC will recognize the usb drivers and itunes will detect the you iphone in restore mode.
Thanks to Macin for that!
Updates
Update 1 (23/04/10 11:05GMT): Added extra step to download fixed openiboot.img3 file in Setting Up Ubuntu section. Thanks to planetbeing
Update 2 (23/04/10 15:26GMT): Merged updated openiboot.img3 with the openiboot.zip download. Should work on all 2G’s now, regardless of jailbreak method.
Update 3 (23/04/10 21:17GMT): Updated Getting Android Working, step to get correct superuser permissions before attempting to write openiboot. Thanks blazter2k
Update 4 (26/04/10 12:13GMT): Reuploaded files for step 5 to multiupload (link)