Archive

Archive for June 23, 2010

Jailbreaking a 3GS with iOS4

June 23, 2010 Leave a comment

With the iPhone Dev Team’s release of PwnageTool 4 yesterday (and the 4.01 update today) I was ready to jailbreak my iPhone 3GS. It’s been running the iOS4 beta 4/Gold Master since that was leaked, but being on iOS4 already had prevented the use of the beta jailbreaks available before the public release of iOS4. There were still several steps involved to achieve the jailbreak, as stipulated in this condition from the Dev Team’s blog:

If you have a Jailbroken iPhone 3GS with the OLD BOOTROM and you DID NOT use Spirit to jailbreak then you can create the ipsw with PwnageTool 4.0 and restore with your jailbroken recovery mode

My 3GS uses the old bootrom, so OK there. The requirement for a jailbroken 3GS NOT using Spirit meant the first step was to downgrade the firmware to 3.1.2. That’s an easy step if Cydia has your SHSH stored for the previous firmware, as mine are.

The next step was to jailbreak the 3.1.2 install using redsn0w 0.9.2. Once this was confirmed to be working correctly (just look for Cydia to be installed) PwnageTool 4.01 was used to produce a custom iOS4 ipsw. The iPhone was then put into DFU mode, and iTunes used to pick the custom ipsw to restore.

Both times I restored a firmware during this process a 1015 error was given after the restore. By that time the restore had successfully completed but the iPhone was stuck in recovery mode. The freeware RecBoot utility was used to get out of recovery mode and back to normal startup.

A backup had been made by iTunes before starting the jailbreak, so this was restored once the jailbreak was completed. I now have SBsettings back on my iPhone, giving fast access to 3G and WiFi on/off to help conserve batter power. There’s a few other useful jailbroken apps that haven’t been updated for iOS4 compatibility yet, but hopefully that will be done soon.

Once again thanks to the iPhone Dev Team for redsn0w and PwnageTool, and to Saurik for Cydia and enabling the downgrade to earlier firmware.