Jailbreak iOS 4 iPhone 3GS and Install Your First Cydia Apps [with Compatibility List]

iOS 4 came out yesterday, and right after iTunes finished to install it on our iPhones we all wondered whether jailbreak was still possible. Yes, it is. Using an unofficial build of Pwangetool by Criminal90 floating around on the internet (UPDATE: official PwnageTool for iOS 4 is out) and a couple of tricks, I managed to jailbreak my iPhone 3GS and install Cydia on it. Check out the full tutorial after the break.

What you need:

- iTunes 9.2

- iPhone 3GS original iOS 4 firmware (download here)

- Custom Pwnagetool build by Criminal90 (download here) - UPDATE: Official PwnageTool 4.01 release

- iPhone 3GS running iOS 4 GM or iPhone OS 3.1.2 (mine was running a jailbroken copy of iOS 4 GM) with old bootrom. 05.13.04 baseband.

--

First, download Pwangetool and the .ipsw firmware file to your desktop. Make sure to backup your iPhone data using iTunes, such as applications and email accounts. I tried to backup iPhone folders too, but it didn't work. Now fire up Pwnagetool.

Click Ok, you don't want to know about jailbreak copyrights. Now click on the Expert mode button on top and select your iPhone 3GS device. Click on the giant blue arrow to continue.

Pwnagetool will start looking for the original iOS 4 file you should have downloaded to your desktop. It should take a few seconds. Once it finds the correct iOS 4 firmware, select it and confirm.

Now you have some options to configure. First, remove the custom logos: they're ugly, and Apple's ones are just better.  As for "activate phone", like I said we're only trying to jailbreak an already activated iPhone 3GS running iOS 4. You don't have to activate anything. Once you've done setting up, double click on Build and save the custom restore file on your desktop, then wait. Pwangetool will ask for your administrator password, so authenticate.

Now, Pwnagetool will ask you if your iPhone has ever been jailbroken and will try to put it in DFU mode. I don't know why, but I couldn't manage to get my iPhone in DFU mode or make Pwnagetool recognize it via USB. I guess it should be my Macbook's fault.

Here's how I did it (again, I was running a jailbroken iOS 4 GM): I simply connected the iPhone via USB, opened iTunes and started a "normal restore" without DFU mode. To do so, alt-click on Restore in iTunes and select the custom firmware you previously saved on your desktop. iTunes will start the restore process which should take between 5 and 10 minutes.

--

Here are a few more tips you might need to follow to achieve a perfect jailbreak process.

If you changed your Mac OS X' hosts file to communicate with Saurik's servers instead of Apple's, change it again. Saurik's servers are down at the moment of writing this, and if you don't change the hosts file again iTunes will fail while trying to verify iOS 4.

To change the hosts file:

- right click on Finder icon in the dock and select "Go to Folder";

-  type /etc/ and click Go;

- find the hosts file and copy it to your desktop;

- double click the hosts file to open it with Text Edit;

- find the 74.208.10.249 gs.apple.com string and delete it. Save;

- copy the edited file to its original location, and authenticate with your administrator password to do so. iTunes will now communicate with Apple's servers but you'll be able to change the hosts file at any time.

About Cydia: it's very likely that you'll find it empty and without sources. To set it up correctly move to Manage tab, tap on edit then Add and insert the following repo:

http://apt.saurik.com/cydia-3.7

which will add to Cydia all the most important sources, including Saurik's and Big Boss's ones. Some are down at the moment, by the way. (like ModMyi)

I've already installed a couple of apps and tweaks, and before you ask - yes, MobileSubstrate and SBSettings work on iOS 4. I've installed themes and toggles for SBSettings and they all work, thanks to the update Saurik pushed yesterday. Respring is also most definitely faster on iOS 4. I've also installed iFile and MakeItMine and they both work.

Here are the apps / tweaks that don't work on iOS 4 though:

3G Unrestrictor

blacksn0w

CategoriesSB

Exchange Unlock

Five Column Springboard

flowchat

Infiniboard

Infinidock (being updated)

Battery Control

Cicuitous

Pkgbackup

iRealSMS

iSmart Dialer

Libhide

MobileLog

Mobile Terminal

Safari Download Manager

Snappy

StatusNotifier

ultrasn0w

Universal Search

WeatherIcon

--

UPDATE #1 Some users are reporting that BiteSMS, Cyntact and FiveIconDock are working on iOS 4.

UPDATE #2 Criminal90 has released a new version of his Pwnagetool mod which now includes a Cydia fix. Get it here.

UPDATE #3 PwnageTool 4.0 has been released.

UPDATE #4 Winterboard, Backgrounder and BTStack GPS are now iOS 4 compatible. Many users also reported to have successfully installed and run Categories.

UPDATE # 5 MyWi (4.0), OpenSSH and Netatalk work fine on iOS 4.

UPDATE #6: This is the official iOS 4 jailbreak compatibility list.

--

Thanks to this method I now have a jailbroken iPhone 3GS running iOS 4 and some must-have tweaks like SBSettings and Activator. If you have any further tips or suggestions, feel free to share in the comment section below.