Thursday, 22 April 2010

Step by step tutorial on how to install Google's Android on the Apple iPhone 2G (aka iDroid) using Windows and Linux.

Tutorial up to date as of 09/05/2010.

IF YOUR IPHONE COMPLETELY STOPS RESPONDING AND WON'T TURN ON AT ANY POINT, DON'T WORRY.PLUG IT INTO THE USB PORT, HOLD POWER AND HOME FOR EXACTLY 10 SECONDS, THEN RELEASE THE POWER BUTTON AND CONTINUE HOLDING THE HOME BUTTON. THEN RESTORE!!

Thanks to http://linuxoniphone.blogspot.com for discovering this! Please donate to them if it works for you! I am currently writing this to make it as user friendly as possible.

THIS IS HIGHLY EXPERIMENTAL AND FOR THE 2G ONLY, PROCEED AT OWN RISK BLAH BLAH BLAH.

1) Download this package

http://www.mediafire.com/?gw5zojvnnhz

If anyone can host a mirror, please twitter me and I will add a link here! Thanks

Whilst you are downloading, Set an Ubuntu LIVE CD to download too:

http://www.ubuntu.com/getubuntu/download

Extract the iPhone.zip folder to the desktop.

2) Jailbreak your iPhone, I will write a tutorial for this another time, for now just Google it. If you have software version 3.1.3 then check out my other tutorial: http://masseymasseymassey.blogspot.com/2010/04/how-to-jailbreak-iphone-3g-313-firmware.html

3) From your iPhone, open Cydia and install OpenSHH and BossPrefs. Turn all the BossPrefs options on. OpenSHH won't add an icon, don't worry. After this go into the iPhone settings - General- Auto Lock. Set Auto Lock to Never. Connect to your home WiFi and note the IP address by clicking the small arrow next to the network name on the iPhone.

4) Download Filezilla on your PC. Open it and click on File - Site Manager. Create a new site and make sure you have sftp: selected. Type your iPhone IP address and the username "root", password is "alpine".

5) Transfer the contents of "Put on iPhone" to the /private/var directory on your iPhone using Filezilla. This will take ages so go and grab a beer or something.

6) Boot up an Ubuntu LIVE CD. Make sure you have libusb-1.0-0 installed - You will have a later version installed so you need to uninstall it and then reinstall version 1.0-0. To do this use the System - Admin - Package Manager tool. Whilst you are there install "libreadline5" too.

7) Put your iPhone into restore mode. To do this you first need to unplug it and turn it off. Hold the home button and plug it back into the USB port. Continue holding the home button until you see a picture of a USB cable and the iTunes symbol on screen.

8)copy "loadibec" "openiboot.img3" and "oibc" from the other folder in the zip to your "home folder" in linux. Open a command prompt.

-) Push Home button
-) Type "sudo ./oibc" into the terminal
-) Type "install"
-) Type "reboot" once the install has finished!
-) Once you see the bootloader, hold the home button for more than 2 seconds to boot Android.

Once booted, if you are using WiFi change your DNS settings to:
Primary: 8.8.8.8
Secondary: 8.8.4.4

If you just tap the home button then it will go back into the linux loader. To get out of this type ./oibc again and then type reboot.

Errors:

If you get "./loadibec: error while loading shared libraries: libusb-1.0.so.0:" then go into the linux package manager and install libusb 1.0

If you get "./oibc: error while loading shared libraries: libreadline.so.5" then again go into the limux package manager and install libreadline 5

I can confirm this works.http://i44.tinypic.com/o0z57p.jpgI only succeded when using a full instalation Ubuntu. Don't use virtual machine.Haven't tried live CD.And btw the libusb package is called libusb-1.0-0Great work and thanks for the tutorial :)

...dude, I'm RIGHT THERE!!! My phone is in restore mode, I've got all the files on the phone, all the shiz on my Ubuntu machine (Karmic) and damn if my libusb isn't too new! When I try to force a symbolic link from the older name to the newer library, I get a USB_INIT error. libusb-0.1-4 And of course, there's no source for loadibec anywhere that I could recompile it with with the newer libraries. :-( Well dude, I tried...

Check out the changes made to planetbeing's blog post. Geohot managed to fix the openiboot installation, and planet also told us how to do a tethered boot, which is a bit safer. And planetbeing says a DFU restore is possible if you brick. It's all good.

1. Works but buggy. Dialer sometimes crashes2. Work with WEP. Did not manage to get it working with WPA2 Personal + TKIP3. Not working. No drivers. From what I understand they have to reverse engenieer to get the drivers.

However if you still wan't to continue - turn your iTouch off, hold the home button and plug it into the USB port. Continue holding the home button until you get a picture of a USB cable and the iTunes symbol on the screen. Let me know if it works!

Yes the guide worked fine for me as well. As Timbo mentioned, I had to keep the Home button pressed for a while (30s) when booting Android - otherwise it would get stuck at the distorted "Welcome to OpeniBoot" text and sit there. I am running redsn0wed 3.1.3 and used ubuntu vm from a hackintosh to follow the steps. Calling, texting, browsing over wifi working as advertised.

@AdamYes, I used updated openiboot file. As I see modded files from this post have different md5 checksum then files from official wiki page (see "Verify images" section): http://www.idroidproject.org/wiki/Installing_iDroid but probably this is okay because it works for many users.

I'm using 3.1.2 OS but I think this is not a reason why it stuck on booting...

@Maged What is the problem with your wireless? The camera has no drivers to run on as of yet, need to wait for the iphonelinux people to create/rip them!. Digital storage is also a problem at the moment!

Thanks for the reply Adam as i was reading that it cant be posted. I am surely going to use your files now! Because if i use the original i'd need to patch it later on. (original ones from the android/iphone blog doesnt have it i assume)

@Maged, I believe that's all the drivers out so far, or ported.

Adam, is it possible to tell us how to add drivers later on? Is it an easy process? Just in case i need to help someone add wifi drivers later or add released drivers.

@MiBaksh, I will check out iFunBox, You know how to reset yet? If not you hold down power and home button together for about 10 seconds. I will add a note saying get libreadline5, Thanks for that.

To all others, Send this tutorial around! I want to make it the best one available - If anybody wants to contribute by making videos or adding to my post then it will be appreciated! Heres the Facebook group http://www.facebook.com/group.php?gid=111334035572247

Also, DO NOT UNINSTALL the newer libusb1.1.4. Just install libusb1.00 and libreadline-5. I uninstalled the newr one on my desktop version and shit hit the fan. My flash drive stopped working and my hard drive wasnt able to mount and had to redo ubuntu LOL.

thanks Adam for continuous help.

I will be writing a post on my experiences soon and if the site owner approves, i'll link you directly as a source for the tutorial. It makes no sense i writing over a post on how to do one when it's already here.

U can use any USB method, like iPhoneBrowser, iPhone Explorer, DiskAid, etc.

Also, to add, if users are on blackra1n, remember they must have afc2add if they are getting issues access the root. ;)

I'm on iPhone 2g, I've got iboot installed and used filezilla to trasfer files. At boot menu, I hold down home button for a solid 5 seconds, but my phone keeps getting stuck in linux command line jibber jabber....

open_device: unable to connect to device.your device must be in recovery mode.

Any idea i have stuck here 3 days now pls help.Im with dual boot system no virtual box.My device is on recovery mode.i have try all the slolutions that i have found on the internet but the same thing.When im type at terminal 'lsusb' is seems all ok but when im going to load the android nothin the same error anyidea????