OpeniBoot is an open source implementation of iBoot for Apple iPhone and iPod Touch devices. It allows booting of unsigned code such as linux kernels on the device. There is also and OpeniBoot console (oibc) which can be connected to from a libusb enabled computer. Jaywalker's OpeniBoot is critical for the booting and usage of linux on the iPhone as it sets up and initializes many devices ready for the linux kernel to take over. Many iBoot functions are replicated here, however when booting iOS iBoot is chainloaded from the NOR to guarantee iOS will boot without problems even with OpeniBoot installed.

Latest Version of OpeniBoot : 0.2

Below is a guide on how to install Jaywalker's OpeniBoot on iPod Touch 2G. This program is still in Alpha mode so don't expect too much. We highly recommend that you back up your iPod Touch before continuing with the process. 

OpeniBoot Requirements:

A Jailbroken iPod Touch 2g ( With Blackra1n or Redsn0w)
Linux Ubuntu (preferably 10.04 LTS 32-bit)
An iPod USB Cable

Install Jaywalker's OpeniBoot On iPod Touch 2G [How To] :

1.We will mount the git repository.


   git clone git://

1. (a) Mount the directory.


   cd iphonelinux/

2. Build the toolchain.

2. (a) Then log in to root (sudo -s then your password) and enter this.


   toolchain/ make

2. (b) Wait for a while for the toolchain to compile


3. (a) Build OpeniBoot


  PLATFORM=IPOD2G make openiboot.img3

4. Compile all in client


  cd client && make all && cd ..

4. (a)

   sudo client/loadibec openiboot.img3

5. Run the client


  sudo client/oibc    

6. Done.

Updating an existing installation (We haven't tried this out yet so please post the results in comments below):

1. Pull the new code from Git: (“git pull” if you already downloaded the code using Git).

2. Compile openiboot, but this time you don’t have to make an img3 image:


3. Compile all in client/:


  cd client && make all && cd ..      

(requires libusb, libreadline and pthread)

4. Launch openiboot, using the menu on the device

5. Run the client:


  sudo client/oibc

6. Copy the openiboot binary in the device memory:



7. Jump to it:

[/code]go 0×09000000[/code]

8. Relaunch openiboot console using the menu on the device.

9. Relaunch the client:


  sudo client/oibc

10. Install the new version:



Updates :

via  @Jaywalker(9988)

And with that, I'm going to call it a night. Sorry It's not 100% done, but i'll finish that up first thing tomorr...zzzzz.....

via  @Jaywalker(9988)

Anyone interested on USB working for openiboot on ipt2g tonight? I'm about to pass out, but if i hear voices screaming out, i'll finish it

via @kleemajo   

"Added a few files that I forgot to in the last commit"

via @kleemajo  

"Updated power_setup for IPOD2G".

via @kleemajo 

I got interrupts to work for the 2g ipod touch openiboot. See for the source (reboots after 10s).

GUIDE UPDATE : Ok when switching to kleemajo's git repository since he is a few commits ahead of Jaywalker.

OpeniBoot New Builds : (Latest)

For iPod Touch 2G Users:

This software is currently in alpha mode and only makes the device reboot from C code ( this is not a bug)

Remaining features include :

 *  Port GPIO driver
 *  Verify SPI and NOR work ( same as the iPhone 2G )
 *  Port LCD Driver
 *  Verify the DMA driver works
 *  Port the rest

If you want to contribute to this guide Contact Us.

Please post your queries in comments section below.