Here you have it. Linux running on the iPhone. Yes, it's only the first port, but it's the iPhone running the Linux OS, controlled with a USB keyboard running off the iPhone multi-purpose port thanks to the reverser engineering of Apple's hardware drivers by iPhone Dev Team member planetbeing. And while it is still limited and doesn't have support for many things, this work opens the door to a much more interesting thing than just a character-based terminal: Google's Android running on the iPhone hardware.
Just imagine that. Google taking the smartphone war directly into Apple territory. Sure, most people would not care about this, but if Google does this—and most probably not even Google directly, but someone else using Android's codebase—it would really make things interesting. I, for one, would love to see this happening, even while I personally think that Android is half-baked and most people will ignore it. For now.
At this time, the Linux port has the framebuffer driver (for video), the serial driver, serial over USB driver, and drivers for the interrupts, the clock, and miscellaneous hardware components. They don't have most of the other things, like write support for the NAND memory, wireless networking, touchscreen drivers, sound, accelerometer, and, one big and, the baseband chip, which is what makes the iPhone communicate with the cellular networks.
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.