Developing for iphone under unix
The iPhone SDK requires Mac OS, and you need to install the SDK even if you plan to develop applications with, say, MonoTouch or Corona.
I don't know if Mac OS can be run as a virtual machine inside Linux. Anyway, you may consider buying a Mac Mini. It is not very expensive and powerful enough for software development.
The OSX86 project might solve your problem. It's not as convenient as buying a cheap Mac, but you can install it on a regular PC and it seems there are ways to install XCode on it.
If you end up buying a Mac, be sure to look at the specs for IPhone development first. If I remember correctly, you need a mac based on an x86 core (such as the Mac Mini) to develop IPhone software.