[General Topics] ttlking:
im added iphone 2g & 3g multitouch and wifi drivers & OpeniBoot(new version)

Purpose

This guide is intended for Windows users who want to install iDroid manually. For an automated installation, use Bootlace(Which is not working now).

This guide is aimed to help you get iDroid running on your iPhone 2G, 3G or iPod Touch 1G.

Disclaimer

PLEASE READ EVERYTHING FIRST BEFORE ATTEMPTING TO DO ANYTHING.

This is also an alpha release, there is no guarantee that the OS is 100% stable, if you are not familiar with messing with the iPhone and at least a basic understanding of Linux, it is not recommended that you install iDroid on your device for the time being.

Requirements

Device and iOS Software

Currently OpeniBoot are compatible with the following devices:

iPhone 2G

iPhone 3G

iPod Touch 1G (1st Generation)

OpeniBoot is compatible with iOS (also known as iPhone OS) up to to 4.1. iOS 4.2.1 is not yet compatible.

Jailbreak

iDroid is NOT compatible with the Spirit Jailbreak (www.spiritjb.com) nor is it compatible with the jailbreakme.com Jailbreak.

Recommended jailbreaks are redsn0w or any of the pwn varieties (QuickPWN, PwnageTool, sn0wbreeze) - these are known to work well.

Windows Preparation

You need to have the Microsoft .NET Framework installed. Download it via Windows Update or from Microsoft

Download the Files

Navigate to Download with your browser.

Choose the folder that relates to your preferred release version.

Download the file related to your device and gunzip it.

Navigate to the idroid folder and check if you have the following files:

android.img.gz

cache.img

system.img

userdata.img

zImage

Navigate to Download and choose the folder that corresponds to your device:

iPhone1,1 corresponds to iPhone 2G.

iPhone1,2 corresponds to iPhone 3G

iPod1,1 corresponds to iPod Touch 1G.

Download the file (openiboot.img3) to a convenient location such as your Desktop

Depending on your Operating System, download the tools to install OpeniBoot from here:

These tools have been improved and updated from the original ones created by planetbeing. For best results and optimum installation, it is advised to use the tools from the download link.

Extract/unzip the archive. Run the executable installer.

Run the Add Hardware Wizard (Start -> Run -> "hdwwiz")

Add Hardware Wizard

Read the warnings, then click "Next"

Choose "Install the hardware that I manually select from a list (Advanced)" this is the 2nd option, then click "Next"

Select "Show All Devices", then click "Next"

You are going to see a grayed-out text box with "(Retrieving a list of all devices)", click the "Have Disk..." button

"Browse" to the where you installed OpeniBoot Tools (default is C:/Program Files/OpeniBoot Tools/) and then to your OS version. It will be looking of a .inf file so select "oibdev.inf" and click "Open" then "OK". It's the only file there so you shouldn't go wrong.

Select "Apple Mobile Device (OpeniBoot Mode)" then click the "Next" button

Install the driver. When a warning comes up about trusting Richard Ian Taylor (ricky26) click "Install" and "Always trust software from "Richard Ian Taylor""

Wait for the confirmation. It should warn about "Device cannot start", click the "Finish" button.

Now open Device Manager (Start -> Run -> "devmgmt.msc").

Expand the Portable Devices tab to see that "Apple Mobile Device (OpeniBoot Mode)" is listed but has a yellow exclamation mark.

Uninstall the driver with the yellow exclamation mark but do not delete the software for the driver. This is too stop Windows from popping up with new Hardware found on every start-up.

Preparing the device

Beginning with openiBoot 0.1.2, the idroid files (from idroid folder) must be placed on the iDevice in the directory /private/var/idroid.

There are many ways in which this can be achieved. The best and most recommended way for Windows is to transfer files via USB cable. DiskAid, iPhone Folders, iPhone Explorer, Phone Disk or i-FunBox can be used on Windows (although afc2add must be installed with Cydia in order for it to connect to the device).

SSH into the device (this should be fairly clear to any beginner iPhone user by now) and navigate to /private/var/.

Make 3 new directories named idroid (/private/var/idroid/), sdcard (/private/var/sdcard/) and firmware (/private/var/firmware). These directories are case-sensitive and are all in lowercase/small letters; firmware is not the same as Firmware or FIRMWARE. The firmware folder will be required in the next section.

Copy the 5 android related files into the /private/var/idroid directory. The 5 android files are android.img.gz, cache.img, system.img, userdata.img and zImage. If you are using OpeniBoot version 0.1.1 and below, the directory is /private/var instead of /private/var/idroid.

Make sure that the filesizes of the 5 android files from your computer match or are equal to the filesizes of the 5 android files in /private/var/idroid.

Extraction of firmware

For legal reasons, the iDroid Project cannot distribute these copyrighted binaries, so you will need to extract them from the device itself.

Auto-extractors are recommended as these are supported by the main devs but there are also manual extraction methods. The preferred method is to use Neonkoala's Bootlace app from Cydia (but if you use that, you might as well install iDroid using Bootlace). Windows users do not have software to extract the zephyr firmware.

Automated Extraction

Bootlace extracts the files and installs OpeniBoot and iDroid for you.

Manual Zephyr Extraction

Install iokittools from Cydia

For iPhone 2G Multitouch:

Run the following commands over ssh:

ioreg -l -w 0 | grep '"Firmware" =' | cut -d '<' -f2 | cut -d '>' -f1 | xxd -r -ps - zephyr_main.bin

And

ioreg -l -w 0 | grep '"A-Speed Firmware" =' | cut -d '<' -f2 | cut -d '>' -f1 | xxd -r -ps - zephyr_aspeed.bin

Transfer them (zephyr_main.bin and zephyr_aspeed.bin) to your PC

For iPhone 3G:

cat /usr/share/firmware/multitouch/iPhone.mtprops | grep -B2 0x0049 | grep data | sed 's/^\t\t<data>//' | sed 's/<\/data>$//' | base64 -d > zephyr2.bin

This command will automatically extract the zephyr2.bin for iPhone 3G and put it in the right folder.

For iPod Touch 1G (1st Generation):

cat /private/var/stash/share*/firmware/multitouch/iPod.mtprops | grep -B2 0x0033 | grep data | sed 's/^\t\t<data>//' | sed 's/<\/data>$//' | base64 -d > /var/firmware/zephyr2.bin

This command will automatically extract the zephyr2.bin for iPod Touch 1G and put it in the right folder.

Getting sd8686 and sd8686_helper

The Wi-Fi firmware files are already included in the latest release. They are in the firmware folder from the extracted archive. Don't forget to read the included LICENSE.txt.

They can be also found on Marvell's site, if you want to try different firmware.

Go to here

Under "Choose a platform", select "Linux 2.6 - Fedora".

Click the Search button under the drop down box.

Download and extract the SD-8686-* zip archive.

Rename helper_sd.bin to sd8686_helper.bin

Keep sd8686.bin and sd8686_helper.bin in a safe place for later.

Transferring the firmware files

Once all extraction has finished, you should end up with the following files:

zephyr_aspeed.bin and zephyr_main.bin (iPhone 2G)

zephyr2.bin (iPhone 3G and iPod Touch 1G)

sd8686.bin and sd8686_helper.bin (All Platforms)

All these files must be placed in the firmware folder created earlier (/private/var/firmware). Make sure that the filesizes match again. Wrong filesizes can mean an error or problem in transferring so please try transferring the files again until the filesizes match.

Loading and Installing OpeniBoot

Now to install the bootloader, OpeniBoot.

Open up a command prompt and navigate to the convenient location containing loadibec, oibc, and openiboot.img3. The following is only an example command: cd Desktop

Turn off your device and place it in Recovery mode:

When the device is turned off, hold down the Home button, then connect the USB cable (make sure that is connected to the PC), keep holding the Home button until a screen with the iTunes logo and and a cable pointing towards it. Don't forget to kill iTunesHelper or else iTunes will automatically open upon detecting an iDevice in Recovery Mode.

Go back to the command promptl window and type the following command:

loadibec openiboot.img3

The device's screen should flash for a brief second and the OpeniBoot menu will load.

If you would like to test Android before installing OpeniBoot, simply navigate with the volume buttons (or Power button if you are on iPod Touch 1G) to the Android logo and press the Home button. You will have to repeat the loading OpeniBoot process in order to install it later.

Using the volume buttons (or Power button if you are on iPod Touch 1G), navigate to the console selection (the cog icon) but don't press the Home button yet.

In the command prompt type the following command:

oibc

Do not press enter yet - this is where your quick reflexes will pay off.

Press the Home button on the device, wait 1 or 2 seconds and then press enter on your PC to send the command, this is necessary as there is a current problem with OpeniBoot where the computer often does not connect to the device if the console screen has been on for a long time. You will know if the computer has failed to connect to the device if you receive only this output:

!<filename>[@<address>] to send a file, ~<filename>[@<address>]:<len> to receive a file

---------------------------------------------------------------------------------------------------------

The command will succeed if you see the OpeniBoot ASCII art on the command prompt on your PC. Windows users may have to try entering oibc multiple times before the drivers are loaded and ready to go (depending on your USB port speed and PC processing power).

In the command prompy type this command:

install

Note: If you get a error like this:

**ABORTED** Writing total image size: 0xeb240, new ibot size: 0x3b180 at 0x20000 would overflow NOR!

Try to remove any custom bootlogo/recovery images by jailbreaking the device again without this option.

The install process should take around 30 seconds to 1 minute to complete. When completed, it will display this message on the iDevice: Openiboot installation complete. It may also display the message on the command prompt screen on your PC.

This command will have also copied a file to your PC: norbackup.dump (usually a 1MB file). Keep this file in a safe location as it is the backup of the original bootloader, if the bootloader corrupts and you do not have this dump file, your device may become a very expensive paperweight.

Type this command in the command prompt:

reboot

Your device should reboot and you shall be presented with the OpeniBoot menu again. Select the iOS option (press Power/volume buttons to select) and boot iOS by pressing the Home button.

Special Thanks

Our thanks go to (in no order of importance, everyone has worked hard):

Planetbeing

CPICH

Munnerz

Geohot

nickp666

ddominator

alex

NeonkoalaTerminal

Malgaur

fergy

ricky26

Bluerise

Ninn

Rekoil

konaya

Jaywalker

TheUnleet

nitestarzz

Noltari

Dario

apocolipse

James

Oranav