Linux ported to iPhone
Dec 1, 2008 — by Eric Brown — from the LinuxDevices Archive — 3 viewsiPhone-Dev.org has demonstrated a basic Linux 2.6 kernel and OpeniBoot bootloader for first- and second-generation Apple iPhones, as well as the first-generation Touch. The port lacks support for touchscreen, audio, WiFi, or cellular communications, but future plans call for an Android port.
(Click for larger view of OpeniBoot screen)
iPhone-Dev.org member “Planetbeing” led the development of the rudimentary port by reverse engineering Apple's hardware drivers, says the group. Other contributors include CPICH, Cmw, Poorlad, Ius, and Saurik. Planetbeing has posted a blurry video (below) showing the port in action.
iPhone Linux Demonstration Video from planetbeing on Vimeo.
The OpeniBoot bootloader is available as source, or pre-compiled on Ubuntu 8.10. Once installed, it lets iPhone users choose between booting into the iPhone's native OS, or into a rudimentary console. When the console is loaded, users can download a kernel and root filesystem to the phone over USB, then issue a command to boot the kernel.
The current iPhone Linux port provides drivers for framebuffer, serial, and serial-over-USB functions, as well as “interrupts, MMU, clock, etc.,” says the announcement. Read-only support for the NAND is coming soon, says the group, and future plans call for supporting NAND write, WiFi, touchscreen, sound, accelerometer, and baseband functions. At present, the port uses a Busybox installation developed with buildroot, but the group says that Glibc also “works fine,” and that it hopes to “build a more permanent userland solution.”
iPhone-Dev.org has invited experienced Linux hackers to join them, and says it is especially interested in those “experienced with porting Android.” The group is also looking for donations.
In a blog post published several weeks ago, Planetbeing defends his attempt to hack the iPhone against arguments that similar open smartphone platforms such as OpenMoko or Android are already available. First, he writes. “I don't choose which platform I hack on based on how hackable it is. I choose it based on how much I like it.” Neither OpenMoko or Android can currently compare with the iPhone, he argues, and he contends that by potentially offering a new hardware platform for open source Linux stacks, he can help extend their reach. His main defense, however, is that “iPhone Linux will actually be of tremendous value. There will be no more need to port applications over.” He adds that with a “familiar kernel,” it will be easier for iPhone hackers to accomplish their application goals.
Availability
The iPhone-Dev.org iPhone port announcement may be found here, and the demonstration video should be here. The README in the binary distribution of the OpeniBoot bootloader notes that installing the bootloader is safe, but can brick a device, so NOR backups and knowledge of “DFU restore,” “iRecovery (or similar),” and the “fsboot” command are encouraged.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.