First steps for Linux on iPhone
The Linux on the iPhone project has released the first results of its work. The current port of Linux includes a bootloader, OpeniBoot, which allows the user to select booting either the iPhone OS or the Linux port. This first port is very limited though, as the demonstration video that has been released shows, there is no touchscreen support for interacting with the device; instead a USB console is used to type commands.
Also missing, currently, is the ability to write to the NAND flash memory, wireless networking, sound, support for the cell phone functionality and the accelerometer. What is there is a frame-buffer driver, serial and serial over USB drivers, interrupt support, and they hope to add read support for the NAND flash memory very soon. The system is built as a BusyBox based Linux, and the developers hope this will serve as a starting point for a more extensive Linux implementation on Apple's phone platform.
The developers' motivation for the project was explained earlier in the month in a blog posting from one of them. It explains that although it is slow and hard work to put together the reverse engineered drivers, iPhone Linux has the advantage that it doesn't rely on finding security holes in the iPhone's own OS to allow code to run freely on the hardware.