I’m pleased to announce that the Linux 2.6 kernel has been ported to Apple’s iPhone platform, with support for the first and second generation iPhones as well as the first generation iPod touch. 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.
What we have:
– Framebuffer driver
– Serial driver
– Serial over USB driver
– Interrupts, MMU, clock, etc.
What we have in openiboot (but hasn’t been ported yet):
– Read-only support for the NAND
What we don’t have (yet!):
– Write support for the NAND
– Wireless networking
– Baseband 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
Instructions here: http://www.iphone-dev.org/planetbeing/LINUX-README.txt
Download here: http://18.104.22.168/iphone/files/iphonelinux-demo.tar.gz (look for mirrors in the comments)
Project lead: 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 iPhone DevTeam 🙂
But the fact is that it’s getting there and, knowing this, I’m sure several Google employees are scrambling to get the codebase for this port, and maybe help in the effort.