Linux Has Arrived To iPhone
Advertisements
Linux 2.6 kernel has been ported to the iPhone and iPod touch. Dev Team member planetbeing is the Project lead in charge for bringing everyone’s favourite open-source OS to Apple’s handhelds.

The software primarily includes the main Linux 2.6 kernel as well as rudimentary graphics, serial, and other functional drivers that are just enough to get a command line running when input is sent over the USB interface; the accelerometer, audio, networking and even the touchscreen have yet to receive any kind of software support.
This is a rough first draft of the port, and many drivers are still missing, but it’s enough that a real alternative operating system is running on the iPhone.
A demonstration video can be seen here:
iPhone Linux Demonstration Video from planetbeing on Vimeo.
For instructions to installing OpeniBoot:
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.
REALLY SUPER IMPORTANT, PLEASE DON’T JUST JUMP OVER THIS SECTION
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
1. Put your iPhone in Recovery Mode
2. sudo ./loadibec openiboot-2g.img3
- Or -3g, -ipod, depending on your platform.
3. sudo ./oibc
4. nor_read 0×09000000 0×0 1048576
5. ~norbackup.dump:1048576
- This will create a file called norbackup.dump in your
current directory. GUARD IT WITH YOUR LIFE.
6. install
7. After ‘install’ has finished, type in: reboot.
8. You ought to see the openiboot menu.
BOOTING LINUX
1. Use the Hold button to navigate the menu. Push the Home button
when openiboot client is selected.
2. sudo ./oibc
3. !zImage
4. kernel
5. !rootfs.arm.ext2.gz
6. ramdisk 3588
7. boot “console=tty console=ttyUSB root=/dev/ram0 rw”
8. 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:
9. sh 2>&1 > /dev/tty0
Enjoy!


Advertisements