3 min read

(For more resources on Ubuntu, see here.)

What is jailbreaking?

Jailbreaking an iPhone or iPad allows you to run unsigned code by unlocking the root account on the device. Simply, this allows you to install any software you like – without the restriction of having to be in the main Apple app store. Remember, jailbreaking is not SIM unlocking. Jailbreaking voids the Apple-supplied warranty.

What does this mean for developers?

The mass availability of jailbreaking for these devices allows developers to write apps without having to shell out Apple’s developer fees. Previously a one-off payment of $300 US, an “official” developer must now pay $100 US each year to keep the right to develop applications.

What jailbreaks are available?

Arguably the most advanced jailbreak available now is called Spirit. Though unlike a few others, which can now hack iOS 4.0, Spirit differs in a few key features. Not only is Spirit the first to be able to jailbreak the iPad, but this jailbreak also allows an “untethered” jailbreak – you won’t have to plug it into a computer every boot to “keep” it jailbroken. Support for jailbreaking iOS 4.0 is coming soon for Spirit.


There are tutorials on jailbreaking using Spirit, like this one, but they generally skip over the fact that there’s a Linux version, and only talk about Windows and/or OS X.

Jailbreaking the iPad

A very simple process, you can now jailbreak the iPad very quickly thanks to excellent device support and drivers in Ubuntu. Please note that from now on, you should only plug in the device to iTunes 9 before 9.2, or better still, just use Rhythmbox or gtkpod to manage your library.

  1. Install git if you haven’t already got it:

    sudo apt-get install git

  2. Clone the Spirit repository:

    git clone http://github.com/posixninja/spirit-linux.git

  3. Install the dev package for libimobiledevice:

    sudo apt-get install libimobiledevice-dev

  4. Enter the Spirit directory and build the program:

    cd spirit-linux
    make

  5. I’ve noticed that though Ubuntu has excellent Apple device support, and you can mount these devices just fine, that the jailbreak program won’t detect the device without iFuse. Install this first:

    sudo apt-get install ifuse

  6. Now for the fun! Plug in your iPad (you’ll see it under the Places menu) and run the jailbreak:

    ./spirit

    You’ll see output similar to this:

    INFO: Retriving device list
    INFO: Opening device
    INFO: Creating lockdownd client
    INFO: Starting AFC service
    INFO: Sending files via AFC.INFO: Found version iPad1,1_3.2
    INFO: Read igor/map.plist
    INFO: Sending "install"
    INFO: Sending "one.dylib"
    INFO: Sending "freeze.tar.xz"
    INFO: Sending "bg.jpg"
    INFO: Sending files complete
    INFO: Creating lockdownd client
    INFO: Starting MobileBackup service
    INFO: Beginning restore process
    INFO: Read resources/overrides.plist
    DEBUG: add_file
    DEBUG: Data size 922:
    DEBUG: add_file
    DEBUG: Data size 0:
    DEBUG: start_restore
    DEBUG: Sending file
    DEBUG: Sending file
    INFO: Completed restore
    INFO: Completed successfully

    The device will reboot, and if all went well, you’ll see a new app called Cydia on the home screen. This is the app that allows you to install other apps.

  7. Open Cydia. Cydia will ask you to choose what kind of user you are. There’s no harm in choosing Developer; you’ll just see more information. Also, if you choose the bottom level (User) console packages like OpenSSH will be hidden from you. You’ll also receive some updates; install them. Interestingly, Cydia uses the deb package format, just like Ubuntu:

  8. That’s it! Wasn’t that quick?

LEAVE A REPLY

Please enter your comment!
Please enter your name here