UPDATE2: If you have 05.13 baseband or lower – do not update to 4.2.1, use PwnageTool to create custom firmware!

This is step-by-step instructions on how to jailbreak and unlock your iPhone 3G on iOS 4.2.1 firmware using RedSn0w 0.9.6b5 for Windows.

IMPORTANT FOR UNLOCKERS
During this process you can update your baseband to the 06.15 version. If you are on 05.14 or 05.15 or higher you will need to do this to unlock. You do not need to do this for jailbreak only. Please read the following very carefully before deciding whether to do this.

There is no way to come back down from baseband 06.15, and there’s no hiding the baseband version from Apple. You’ll be voiding your warranty in a very obvious way.

If some future baseband comes out with a critical fix, you won’t be able to update to it if it remains down in the 05.xx sequence (then again, you wouldn’t update to it if you wanted to keep your unlock anyway).

Starting with FW 4.2.1 if you have 06.15 on your iPhone you won’t ever be able to restore to stock firmware (it will fail). You’ll need to only restore to custom IPSWs (then again, if you’re unlocker you should already be doing that).

Don’t update to 06.15 if you don’t need to, you can just jailbreak without unlocking using this tutorial! Only update baseband if you need the unlock and you’re stuck on baseband version 05.14 or 05.15, and you’re willing to assume the above risks. You can find out your baseband version in Settings -> General -> About -> Modem Firmware.

Step One
Create a folder on your desktop called Pwnage

Download RedSn0w from here or here. Save it in the Pwnage folder. Likewise, download the latest 4.2.1 firmware from below and place it in the same folder.