https://www.theiphonewiki.com/w/api.php?action=feedcontributions&user=Fatman06&feedformat=atomThe iPhone Wiki - User contributions [en]2024-03-28T12:49:50ZUser contributionsMediaWiki 1.31.14https://www.theiphonewiki.com/w/index.php?title=IDroid&diff=6123IDroid2010-04-23T04:31:07Z<p>Fatman06: </p>
<hr />
<div>{{DISPLAYTITLE:iPhoneLinux}}<br />
[[Image:Openiboot.png|thumb|right|200px|Device running the OpeniBoot console.]]<br />
[http://iphonelinux.org iPhonelinux] is a project which goals are to port linux on the iPhone and make a Free (free software) OS alternative to the Apple proprietary "[http://en.wikipedia.org/wiki/IPhone_OS iPhone OS]".<br />
<br />
iPhonelinux is not actually a hack/exploit neither an unlock, but it is based on the [[Pwnage]] exploit.<br />
<br />
There are three steps in the iPhonelinux roadmap : OpeniBoot, linux kernel and long term (GUI, phone...)<br />
<br />
== OpeniBoot ==<br />
The Goals of OpeniBoot is to run low-level code, to have low and critical drivers (nand and nor driver, NVRAM...), debugger and development environment (chainloading, upgrading itself and USB mass storage).<br />
<br />
== Linux ==<br />
A linux Bootloader, a working linux kernel (just a question of cross-compiler), porting drivers, run wifi and command line thru SSH.<br />
<br />
== Long-Term Plans ==<br />
Multi-touch driver, Baseband driver, port X server and create an SDK.<br />
Then have a viable alternative of the iPhone OS.<br />
<br />
== Binaries ==<br />
<br />
These are utility binaries precompiled on Ubuntu 8.10. They require:<br />
<br />
- libpthread<br />
- libncurses<br />
- libusb<br />
- libreadline<br />
<br />
You may elect to build them from source by pulling from<br />
iphonelinux/openiboot's git repository.<br />
<br />
== Disclaimer ==<br />
<br />
BE WARNED THAT THESE STEPS ARE NOT INTENDED FOR NOVICES. YOU ATTEMPT THIS AT<br />
YOUR OWN RISK. AT THIS TIME, WE CANNOT AFFORD THE EFFORT REQUIRED TO GIVE<br />
SUPPORT TO NOVICES AND/OR RESCUE THEM FROM THEIR OWN ACTIONS.<br />
<br />
Although unlikely, if the installation goes wrong, you may have to perform a<br />
DFU restore on your iPhone. If you do not know how to do that, you should not<br />
follow these steps. You should also know how to use iRecovery (or similar) and<br />
the fsboot command to "kick an iPhone out of recovery mode". If you do not<br />
know how to do that, you should not follow these steps.<br />
<br />
The installation of openiboot itself is safe, but openiboot has the facility<br />
to erase device-specific information from your NOR flash. If you did not make<br />
a backup, and execute the commands necessary to make openiboot erase that<br />
information, it is gone forever and your device may never boot properly again.<br />
<br />
The instructions below will show you how to make such a backup before any<br />
changes are made.<br />
<br />
== Installing OpeniBoot ==<br />
<br />
=== Prerequisites ===<br />
* Having an iPhone (first gen), iPhone 3G or an iPod 1G (the 2G iPod won't work).<br /><br />
* Being on 2.x+ to have support IMG3 (the iPhonelinux-demo provides IMG3 files, not IMG2 files).<br /><br />
* Being Pwned : Pwnage comes with jailbreak on 2.x+, so If you used Pwnage Tool, QuickPwn or xPwn, you are good.<br />
* Required libraries (install as a package for Uuntu).:<br />
** libpthread<br />
** libncurses<br />
** libusb<br />
** libreadline<br />
<br />
=== Installation ===<br />
<br />
1. Put your iPhone in [[Recovery Mode]].<br />
<br />
2. sudo ./loadibec openiboot-2g.img3, or -3g, -ipod, depending on your platform.<br />
<br />
3. sudo ./oibc<br />
<br />
4. nor_read 0x09000000 0x0 1048576<br />
<br />
5. ~norbackup.dump:1048576. This will create a file called norbackup.dump in your current directory. GUARD IT WITH YOUR LIFE.<br />
<br />
6. install<br />
<br />
7. After 'install' has finished, type in: reboot.<br />
<br />
8. You ought to see the openiboot menu.<br />
<br />
===See===<br />
* [[QuickOIB]]<br />
<br />
== Booting Linux ==<br />
<br />
<br />
Use the Hold button to navigate the menu. Push the Home button<br />
when openiboot client is selected.<br />
sudo ./oibc<br />
!zImage<br />
kernel<br />
!rootfs.arm.ext2.gz<br />
ramdisk 3588<br />
boot "console=tty console=ttyUSB root=/dev/ram0 rw"<br />
sudo ./linux<br />
<br />
You should now get a login prompt. Nothing that's happening will show up on<br />
the LCD automatically, but you can redirect it to the display with the<br />
following command:<br />
<br />
sh 2>&1 > /dev/tty0<br />
<br />
Enjoy!<br />
<br />
== iPhone Linux Resources ==<br />
<br />
- Framebuffer driver<br />
- Serial driver<br />
- Serial over USB driver<br />
- Interrupts, MMU, clock, etc.<br />
<br />
<br />
=== OpeniBoot Resources ===<br />
<br />
- Read-only support for the NAND<br />
<br />
<br />
=== OpeniBoot Missing Resources ===<br />
<br />
- Write support for the NAND<br />
- Wireless networking<br />
- Touchscreen<br />
- Sound<br />
- Accelerometer<br />
- Baseband support<br />
<br />
===QuickOIB===<br />
<br />
[[QuickOIB]] is a tool that allows the user to temporarily install OpeniBoot in a device.<br />
It was developed by pH and work perfectly with Mac OS X and Ubuntu 8.10<br />
<br />
=== Support ===<br />
<br />
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.<br />
<br />
A demonstration video can be seen here: http://www.vimeo.com/2373142<br />
<br />
Download here: http://localhostr.com/files/b00133/iphonelinux-demo.tar.gz<br />
<br />
Project leader: '''planetbeing'''<br />
<br />
Contributors: '''CPICH, cmw, poorlad, ius, saurik'''<br />
<br />
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. :)<br />
<br />
[[category:Android on iPhone]]</div>Fatman06https://www.theiphonewiki.com/w/index.php?title=IDroid&diff=6122IDroid2010-04-23T04:30:39Z<p>Fatman06: </p>
<hr />
<div>{{DISPLAYTITLE:iPhoneLinux}}<br />
[[Image:Openiboot.png|thumb|right|200px|Device running the OpeniBoot console.]]<br />
[http://iphonelinux.org iPhonelinux] is a project which goals are to port linux on the iPhone and make a Free (free software) OS alternative to the Apple proprietary "[http://en.wikipedia.org/wiki/IPhone_OS iPhone OS]".<br />
<br />
iPhonelinux is not actually a hack/exploit neither an unlock, but it is based on the [[Pwnage]] exploit.<br />
<br />
There are three steps in the iPhonelinux roadmap : OpeniBoot, linux kernel and long term (GUI, phone...)<br />
<br />
== OpeniBoot ==<br />
The Goals of OpeniBoot is to run low-level code, to have low and critical drivers (nand and nor driver, NVRAM...), debugger and development environment (chainloading, upgrading itself and USB mass storage).<br />
<br />
== Linux ==<br />
A linux Bootloader, a working linux kernel (just a question of cross-compiler), porting drivers, run wifi and command line thru SSH.<br />
<br />
== Long-Term Plans ==<br />
Multi-touch driver, Baseband driver, port X server and create an SDK.<br />
Then have a viable alternative of the iPhone OS.<br />
<br />
== Binaries ==<br />
<br />
These are utility binaries precompiled on Ubuntu 8.10. They require:<br />
<br />
- libpthread<br />
- libncurses<br />
- libusb<br />
- libreadline<br />
<br />
You may elect to build them from source by pulling from<br />
iphonelinux/openiboot's git repository.<br />
<br />
== Disclaimer ==<br />
<br />
BE WARNED THAT THESE STEPS ARE NOT INTENDED FOR NOVICES. YOU ATTEMPT THIS AT<br />
YOUR OWN RISK. AT THIS TIME, WE CANNOT AFFORD THE EFFORT REQUIRED TO GIVE<br />
SUPPORT TO NOVICES AND/OR RESCUE THEM FROM THEIR OWN ACTIONS.<br />
<br />
Although unlikely, if the installation goes wrong, you may have to perform a<br />
DFU restore on your iPhone. If you do not know how to do that, you should not<br />
follow these steps. You should also know how to use iRecovery (or similar) and<br />
the fsboot command to "kick an iPhone out of recovery mode". If you do not<br />
know how to do that, you should not follow these steps.<br />
<br />
The installation of openiboot itself is safe, but openiboot has the facility<br />
to erase device-specific information from your NOR flash. If you did not make<br />
a backup, and execute the commands necessary to make openiboot erase that<br />
information, it is gone forever and your device may never boot properly again.<br />
<br />
The instructions below will show you how to make such a backup before any<br />
changes are made.<br />
<br />
== Installing OpeniBoot ==<br />
<br />
=== Prerequisites ===<br />
* Having an iPhone (first gen), iPhone 3G or an iPod 1G (the 2G iPod won't work).<br /><br />
* Being on 2.x+ to have support IMG3 (the iPhonelinux-demo provides IMG3 files, not IMG2 files).<br /><br />
* Being Pwned : Pwnage comes with jailbreak on 2.x+, so If you used Pwnage Tool, QuickPwn or xPwn, you are good.<br />
* Required libraries (install as a package for Uuntu).:<br />
** libpthread<br />
** libncurses<br />
** libusb<br />
** libreadline<br />
<br />
=== Installation ===<br />
<br />
1. Put your iPhone in [[Recovery Mode]].<br />
<br />
2. sudo ./loadibec openiboot-2g.img3, or -3g, -ipod, depending on your platform.<br />
<br />
3. sudo ./oibc<br />
<br />
4. nor_read 0x09000000 0x0 1048576<br />
<br />
5. ~norbackup.dump:1048576. This will create a file called norbackup.dump in your current directory. GUARD IT WITH YOUR LIFE.<br />
<br />
6. install<br />
<br />
7. After 'install' has finished, type in: reboot.<br />
<br />
8. You ought to see the openiboot menu.<br />
<br />
===See===<br />
* [[QuickOIB]]<br />
<br />
== Booting Linux ==<br />
<br />
<br />
Use the Hold button to navigate the menu. Push the Home button<br />
when openiboot client is selected.<br />
sudo ./oibc<br />
!zImage<br />
kernel<br />
!rootfs.arm.ext2.gz<br />
ramdisk 3588<br />
boot "console=tty console=ttyUSB root=/dev/ram0 rw"<br />
sudo ./linux<br />
<br />
You should now get a login prompt. Nothing that's happening will show up on<br />
the LCD automatically, but you can redirect it to the display with the<br />
following command:<br />
<br />
sh 2>&1 > /dev/tty0<br />
<br />
Enjoy!<br />
<br />
== iPhone Linux Resources ==<br />
<br />
- Framebuffer driver<br />
- Serial driver<br />
- Serial over USB driver<br />
- Interrupts, MMU, clock, etc.<br />
<br />
<br />
=== OpeniBoot Resources ===<br />
<br />
- Read-only support for the NAND<br />
<br />
<br />
=== OpeniBoot Missing Resources ===<br />
<br />
- Write support for the NAND<br />
- Wireless networking<br />
- Touchscreen<br />
- Sound<br />
- Accelerometer<br />
- Baseband support<br />
<br />
===QuickOIB===<br />
<br />
[[QuickOIB]] is a tool that allows the user to temporarily install OpeniBoot in a device.<br />
It was developed by pH and work perfectly with Mac OS X and Ubuntu 8.10<br />
<br />
=== Support ===<br />
<br />
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.<br />
<br />
A demonstration video can be seen here: http://www.vimeo.com/2373142<br />
<br />
Download here: http://localhostr.com/files/b00133/iphonelinux-demo.tar.gz<br />
<br />
Project leader: '''planetbeing'''<br />
<br />
Contributors: '''CPICH, cmw, poorlad, ius, saurik'''<br />
<br />
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. :)<br />
<br />
[[category:Android on Iphone]]</div>Fatman06https://www.theiphonewiki.com/w/index.php?title=Category:Android_on_iPhone&diff=6121Category:Android on iPhone2010-04-23T04:29:47Z<p>Fatman06: New page: Categorization for Linux for iPhone progress</p>
<hr />
<div>Categorization for Linux for iPhone progress</div>Fatman06