The iPhone is a great mobile device, but non-jailbroken iPhones don’t have nearly the amount of functionality the jailbroken ones do (I really need that Mobile Terminal!).

My first-generation iPhone’s been jailbroken from day one, even though the process has been getting scarier with each firmware update as Apple tries to close the holes used to highjack the device. After downloading the latest version of PwnageTool (2.2.1, Macintosh only, sorry PC guys) and the latest iPhone firmware update (iPhone1,1_2.2_5G77_Restore.ipsw) last night, I’m braving a software upgrade.

Please note that these instructions are meant for the first-generation (non-3G) iPhone, details may differ with the second-generation 3G model or any of the iPod Touches.

The first step requires that you plug the iPhone in and launch iTunes. It’s a good idea to perform a backup of your iPhone so you won’t have to reinstall and reconfigure all of your applications after the upgrade. (For interest’s sake, iTunes stores iPhone backups in “~/Library/Application Support/MobileSync/Backup“).

iphone-firmware-21-to-22-01Next, quit iTunes and run PwnageTool. Let it find the new firmware file, then let it build a custom firmware bundle from that.

I’ve had PwnageTool flash the iPhone’s baseband previously, so there was no need to do so again. When the software asks if you have “a contract that would activate normally through iTunes“, click the “No” button, though. (This doesn’t affect the baseband but does activate the iPhone automatically after the jailbreak).

iphone-firmware-21-to-22-02Once PwnageTool has finished building the custom firmware file, quit the application and start up iTunes again, then put your iPhone into DFU mode:

Hold the Sleep / Wake and Home buttons for exactly 10 seconds, then let go of the Sleep / Wake button but keep holding down the Home button until iTunes picks up the device.

I was unable to install my custom firmware from DFU mode (the mode recommended by the iPhone Dev Team), and had to resort to Recovery mode:

Connect the iPhone to iTunes, then switch the device off. Hold down the Sleep / Wake and Home buttons until you see a logo appear, then release the Sleep / Wake button but keep holding down the Home button until iTunes picks up the device.

Next, hold down the option (alt) key and click the “Restore” button on the iPhone’s screen in iTunes, then choose the custom firmware bundle PwnageTool created.

The software will be extracted and will start installing. If you see a “1600″ error message at this point, follow these steps:

  • Quit iTunes
  • Open a new Terminal window and browse to “~/Library/iTunes
  • Check if a “Device Support” folder exists here. It it does not, create it. If it does, delete all contents from it.
  • Close the Terminal, start PwnageTool again and rebuild your custom firmware bundle, then try installing the custom firmware through iTunes again.

iphone-firmware-21-to-22-03You’ll see several progress bars in iTunes as the software installs, and the iPhone will display the Apple logo and a white progress bar.

iphone-firmware-21-to-22-04When the install finishes, the iPhone will reboot and appear in iTunes. If you backed up the device before installing the custom firmware, iTunes will ask whether you’d like to restore the settings from that backup.

iphone-firmware-21-to-22-05

After the restore completes, you’ll have a shiny new version 2.2 device!

Share this article: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Twitter
  • GatorPeeps
  • Digg
  • Reddit
  • muti.co.za
  • DZone
  • del.icio.us
  • StumbleUpon
  • Technorati
  • Ma.gnolia
  • Slashdot

Related posts:

  1. Jailbreaking, Activating and Unlocking my first-generation iPhone from firmware 2.2 to 3.0
  2. Force quitting iPhone applications on firmware 2.* or 3.*
  3. Putting an iPhone into DFU or Recovery Mode with iTunes 8.2
  4. Re-enable DFU mode detection in Mac OS X 10.5.6
  5. iPod Touch, iPhone, and iPod Firmware download locations