*NOTE* This tutorial is only for users that have a iPhone 3GS that jailbroke with spirit and has the old bootrom.
This tutorial was created for owners of the iPhone 3GS that can’t jailbreak iOS4. These instructions are for MAC users only. Instructions for windows users are coming soon. I am not liable for anything that happens to your phone and if these instructions are followed there should be no problems.
Requirments
- iTunes 9.2 (haven’t tested on iTunes 9.2.1)
- iPhone 3GS with old bootrom (if you have new bootrom try redsn0w)
- iPhone 3.1.2 or 3.1.3 firmware
- iPhone 4.0 or 4.0.1 firmware
Downgrade
If you had your 3GS jailbroken with 3.1.3 or 3.1.2 through the spirit jailbreak and tried jailbreaking by using pwnagetool then you ran into some problems upgrading. Unlike many who just waited i myself had upgraded to 4.0 then 4.0.1 to enjoy the new iOS experience. This is the first step we need to accomplish before continuing on to iOS4.
Step 1: Download the required firmwares. (iOS4, 3.1.3, 3.1.2)
Step 2: Put your device into DFU mode.
- Connect your iPhone to you computer
- Start iTunes
- Backup your iPhone (saves your contacts etc) *HIGHLY RECOMMENDED*
- Hold the POWER and HOME buttons together for exactly ten seconds. Let go of the POWER button while still holding on to the HOME button and wait for iTunes to recognize the iPhone. Your devices screen should remain blank.
Step 3: This step blocks iTunes from verifying the firmware with apple so restore can complete fully.
- Either by start typing Terminal on the Spotlight, or by going into Applications -> Utilities -> Terminal.
- Open the hosts by typing on the Terminal that you have just opened:
$ sudo nano /private/etc/hosts
- Type your user password when prompted.
- The hosts file contains some comments (lines starting with the # symbol), as well as some default hostname mappings (e.g. 127.0.0.1 – localhost).
- Add this line to the end of the file:
74.208.105.171 gs.apple.com
- When done editing the hosts file, press control-o to save the file.
- Press enter on the filename prompt, and control-x to exit the editor.
- On Leopard you can issue a simple Terminal command to flush the DNS cache, and have your host file changes to take immediate effect:
$ dscacheutil -flushcache
Step 4: You will now have to restore your iPhone or iPod touch to the firmware you downloaded in Step 1. Click on your phone icon from the sidebar in iTunes. Now press and hold left option button on the keyboard and then click on “Restore” (Not “Update” or “Check for Update”) button in the iTunes and then release this button.
Step 5: Now sit back and enjoy as iTunes does the rest for you. This will involve a series of automated steps. Be patient at this stage and don’t do anything silly. Just wait while iTunes installs firmware on your iPhone or iPod touch. Your iPhone screen at this point will be showing a progress bar indicating installation progress. Now at some point, iTunes will throw 1011, 1013 or 1015 error at you. This is normal, just ignore this error as the firmware has already been successfully installed on the device.
Step 6: Now you will need to exit your device from Recovery Mode. To do this, download a program called RecBoot (Windows / Mac). Run it and the click on “Exit Recovery Mode” button. Your device will now restart normally.
Jailbreaking 3.1.3/3.1.2
Next we need to jailbreak our newly downgraded 3GS. The easiest way to ensure that this will work for our upgrade to iOS4 is blackra1n.
Step 1: Download the latest release of Blackra1n. (Download Here)
Step 2: Start blackra1n app.
Step 3: Click on “make it ra1n”.
Step 4: Wait for your phone to reboot and blackra1n will be listed.
Step 5: Install cydia via the blackra1n app on your iPhone and let it update.
Upgrade to iOS4
Next its time create a custom IPSW for your phone. These final steps will result in your 3GS having the newest jailbroken iOS release.
Step 1: Download the latest release of PwnageTool. (Download Here)
Step 2: Launch PwnageTool and select your iPhone.
Step 3: PwnageTool will automatically detect your firmware. Click on the blue arrow to continue. (If not then browse to where you downloaded your 4.0/4.0.1 firmware)
Step 4: PwnageTool will now ask if you have an iPhone contract that you would normally activate with iTunes. Choose YES if you have a contract with an official carrier (ie. AT&T in the US) and you don’t care about unlocking your device. Click NO if you don’t have a contract with an official carrier and want to unlock your iPhone.
Step 5: PwnageTool will now create the custom IPSW.
Step 6: When done, you will see the “iHaz success” message.
Step 7: Make sure your phone is in DFU mode. Click on the phone tab and hold the option key down while pressing the restore button. Select the new custom iOS4 firmware and let iTunes upgrade the phone.
Step 8: Your DONE!
Your phone will now have the latest iOS4 firmware on your iPhone 3GS that was originally jailbroken with spirit with the old bootrom. This is also for people needing the phone in the state for a carrier unlock.
Things still to do
- Add screenshots
- Add windows user instructions
- Add video
Tutorial created by: ruffi with parts used from redmondpie.