The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Difference between revisions of "IDroid"
(→Installation: Grammar) |
(iPhonelinux --> iDroid, Planetbeing no longer works this and everything iPhonelinux is now iDroid) |
||
Line 1: | Line 1: | ||
− | {{DISPLAYTITLE: |
+ | {{DISPLAYTITLE:iDroid-Project}} |
[[Image:Openiboot.png|thumb|right|200px|Device running the OpeniBoot console.]] |
[[Image:Openiboot.png|thumb|right|200px|Device running the OpeniBoot console.]] |
||
− | + | iDroid is a project which goals are to port linux and Android to the iPhone/iPod/iPad and make a Free (free software) OS alternative to the Apple proprietary "{{wp|iOS (Apple)|iOS}}". |
|
− | + | iDroid is not actually a hack/exploit neither an unlock, but it is based on BootROM exploits which allowing the running of unsigned code at low level. |
|
− | |||
− | == Components == |
||
− | |||
− | There are three steps in the iPhonelinux roadmap : OpeniBoot, linux kernel and long term (GUI, phone...) |
||
=== OpeniBoot === |
=== OpeniBoot === |
||
Line 13: | Line 9: | ||
The goals of OpeniBoot are |
The goals of OpeniBoot are |
||
* to run low-level code, |
* to run low-level code, |
||
− | * to have low and critical drivers ( |
+ | * to have low and critical drivers (NAND and NOR driver, NVRAM...), and |
* to have a debugger and development environment (chainloading, upgrading itself and USB mass storage). |
* to have a debugger and development environment (chainloading, upgrading itself and USB mass storage). |
||
=== Linux === |
=== Linux === |
||
− | A linux Bootloader, a working linux kernel (just a question of cross-compiler), porting drivers, run wifi and command line |
+ | A linux Bootloader, a working linux kernel (just a question of cross-compiler), porting drivers, run wifi and command line through SSH. |
− | === |
+ | === Android === |
− | Multi-touch driver, Baseband driver, port X server and create an SDK. |
||
− | Then have a viable alternative of the iPhone OS. |
||
− | |||
− | == Android (iDroid) == |
||
On April 21, 2010, an Android distribution based on iPhoneLinux called iDroid was released. |
On April 21, 2010, an Android distribution based on iPhoneLinux called iDroid was released. |
||
Line 33: | Line 25: | ||
To see answers to frequently-asked questions about iPhoneLinux and iDroid, go to the [http://www.idroidproject.org/wiki/Frequently_Asked_Questions iPhoneLinux FAQ] page. |
To see answers to frequently-asked questions about iPhoneLinux and iDroid, go to the [http://www.idroidproject.org/wiki/Frequently_Asked_Questions iPhoneLinux FAQ] page. |
||
− | |||
− | == Binaries == |
||
− | |||
− | These are utility binaries precompiled on Ubuntu 8.10. They require: |
||
− | |||
− | - libpthread |
||
− | - libncurses |
||
− | - libusb |
||
− | - libreadline |
||
− | |||
− | You may elect to build them from source by pulling from |
||
− | iphonelinux/openiboot's git repository. |
||
− | |||
− | == Disclaimer == |
||
− | |||
− | BE WARNED THAT THESE STEPS ARE NOT INTENDED FOR NOVICES. YOU ATTEMPT THIS AT |
||
− | YOUR OWN RISK. AT THIS TIME, WE CANNOT AFFORD THE EFFORT REQUIRED TO GIVE |
||
− | SUPPORT TO NOVICES AND/OR RESCUE THEM FROM THEIR OWN ACTIONS. |
||
− | |||
− | Although unlikely, if the installation goes wrong, you may have to perform a |
||
− | DFU restore on your iPhone. If you do not know how to do that, you should not |
||
− | follow these steps. You should also know how to use iRecovery (or similar) and |
||
− | the fsboot command to "kick an iPhone out of recovery mode". If you do not |
||
− | know how to do that, you should not follow these steps. |
||
− | |||
− | The installation of openiboot itself is safe, but openiboot has the facility |
||
− | to erase device-specific information from your NOR flash. If you did not make |
||
− | a backup, and execute the commands necessary to make openiboot erase that |
||
− | information, it is gone forever and your device may never boot properly again. |
||
− | |||
− | The instructions below will show you how to make such a backup before any |
||
− | changes are made. |
||
− | |||
− | == Installing OpeniBoot == |
||
− | |||
− | === Prerequisites === |
||
− | * iPhone (first gen). |
||
− | * Firmware 2.x+ to have support IMG3 (the iPhonelinux-demo provides IMG3 files, not IMG2 files). |
||
− | * Being Pwned : Pwnage comes with jailbreak on 2.x+, so If you used Pwnage Tool, QuickPwn or xPwn, you are good. |
||
− | * Required libraries (install as a package for Uuntu).: |
||
− | ** libpthread |
||
− | ** libncurses |
||
− | ** libusb |
||
− | ** libreadline |
||
− | |||
− | === Installation === |
||
− | # Put your iPhone in [[Recovery Mode]]. |
||
− | # sudo ./loadibec openiboot-2g.img3, or -3g, -ipod, depending on your platform. |
||
− | # sudo ./oibc |
||
− | # nor_read 0x09000000 0x0 1048576 |
||
− | # ~norbackup.dump:1048576. This will create a file called norbackup.dump in your current directory. GUARD IT WITH YOUR LIFE. |
||
− | # install |
||
− | # After 'install' has finished, type in: reboot. |
||
− | # You should see the Open iBoot menu. |
||
− | |||
− | ===See=== |
||
− | * [[QuickOIB]] |
||
− | |||
− | == Booting Linux == |
||
− | |||
− | |||
− | Use the Hold button to navigate the menu. Push the Home button |
||
− | when openiboot client is selected. |
||
− | sudo ./oibc |
||
− | !zImage |
||
− | kernel |
||
− | !rootfs.arm.ext2.gz |
||
− | ramdisk 3588 |
||
− | boot "console=tty console=ttyUSB root=/dev/ram0 rw" |
||
− | sudo ./linux |
||
− | |||
− | You should now get a login prompt. Nothing that's happening will show up on |
||
− | the LCD automatically, but you can redirect it to the display with the |
||
− | following command: |
||
− | |||
− | sh 2>&1 > /dev/tty0 |
||
− | |||
− | Enjoy! |
||
− | |||
− | == iPhone Linux Resources == |
||
− | |||
− | - Framebuffer driver |
||
− | - Serial driver |
||
− | - Serial over USB driver |
||
− | - Interrupts, MMU, clock, etc. |
||
− | |||
− | |||
− | === OpeniBoot Resources === |
||
− | |||
− | - Read-only support for the NAND |
||
− | |||
− | |||
− | === OpeniBoot Missing Resources === |
||
− | |||
− | - Write support for the NAND |
||
− | - Wireless networking |
||
− | - Touchscreen |
||
− | - Sound |
||
− | - Accelerometer |
||
− | - Baseband support |
||
− | |||
− | ===QuickOIB=== |
||
− | |||
− | [[QuickOIB]] is a tool that allows the user to temporarily install OpeniBoot in a device. |
||
− | It was developed by pH and work perfectly with Mac OS X and Ubuntu 8.10 |
||
− | |||
− | === Support === |
||
− | |||
− | The current userland we're using, in the interest of expedience, is a Busybox installation created with buildroot, but glibc works fine as well, and we're going to build a more permanent userland solution. |
||
− | |||
− | A demonstration video can be seen here: http://www.vimeo.com/2373142 |
||
− | |||
− | Download here: http://localhostr.com/files/b00133/iphonelinux-demo.tar.gz |
||
− | |||
− | Project leader: '''planetbeing''' |
||
− | |||
− | Contributors: '''CPICH, cmw, poorlad, ius, saurik''' |
||
− | |||
− | If you're experienced with '''hacking/porting Linux''' and especially if you're experienced with porting '''Android''', I'd definitely like to hear from you. Come chill in the ''#iphonelinux'' channel on ''irc.osx86.hu'' . If you're not experienced, and still want to help, you can digg/slashdot this posting to heaven so our little project gets more visibility. Thanks. :) |
||
− | |||
− | [[category:iPhoneLinux]] |
||
− | [[category:Android on iPhone]] |
Revision as of 20:16, 11 October 2011
iDroid is a project which goals are to port linux and Android to the iPhone/iPod/iPad and make a Free (free software) OS alternative to the Apple proprietary "Template:Wp".
iDroid is not actually a hack/exploit neither an unlock, but it is based on BootROM exploits which allowing the running of unsigned code at low level.
OpeniBoot
The goals of OpeniBoot are
- to run low-level code,
- to have low and critical drivers (NAND and NOR driver, NVRAM...), and
- to have a debugger and development environment (chainloading, upgrading itself and USB mass storage).
Linux
A linux Bootloader, a working linux kernel (just a question of cross-compiler), porting drivers, run wifi and command line through SSH.
Android
On April 21, 2010, an Android distribution based on iPhoneLinux called iDroid was released.
- Announcement on the linuxoniphone blog: iDroid initial release
- Official iDroid Wiki: iDroid Project
Frequently Asked Questions
To see answers to frequently-asked questions about iPhoneLinux and iDroid, go to the iPhoneLinux FAQ page.