OpeniBoot

OpeniBoot is an open source implementation of Apple's closed source bootloader iBoot. It allows the booting of unsigned code on supported iDevices (such as Linux kernels). It also allows to download and install the Android operating system on iPhone, iPad and iPod Touch. It can be controlled via OpeniBoot console (oibc) which can be connected to from a libusb enabled computer.

Supported devices
the following iDevices are fully supported by OpeniBoot:
 * iPhone - (iPhone1,1)
 * iPhone 3G - (iPhone1,2)
 * iPod Touch - 1st Generation (iPod1,1)

Porting status
these are the status of ports for various iDevices.
 * iPhone - Fully supported
 * iPhone 3G - Fully supported
 * iPhone 3GS - Partially Supported
 * iPhone 4 (GSM) - Partially Supported
 * iPhone 4 (CDMA) - Partially Supported
 * IPod Touch (original) - Fully Supported
 * iPod Touch 2G - Partially Supported
 * iPod Touch 3G - Not Supported, Waiting For Port
 * iPod Touch 4G - Partially Supported
 * iPad - Partially Supported