
Download the 2.0.1 restore firmware for 1st-gen 2.5G iPhones or 2nd-gen 3G iPhones depending on which iPhone you have.
Download winpwn 2.0.0.4 and install it onto your system. Winpwn requires .NET framework 2.0. Make sure you completely uninstall any existing winpwn installations prior to this step.
Connect your iPhone to your computer with the USB cable.
Launch winpwn (the silly Pineapple icon now sitting on your desktop).
Click on “Browse .ipsw”
Browse to the path where you saved the v2.0.1 restore firmware you just downloaded and select the ipsw file. Note: Make sure you downloaded and selected the proper file, the 2.5G and 3G ipsw files are different and will cause 1600 errors if mixed up.
Click on “IPSW Builder”
Check the “Cydia” checkbox under the Applications tab. You don’t want to use Installer just yet as it is currently not mature. If you’re not on AT&T, you will need to check the “YouTube activation fix” as well.
Click on the “Advanced” tab which is second from right. If you have AT&T, make sure none of the checkboxes are checked. Otherwise, check “Activate Phone”, “Enable Baseband Update”, “Neuter bootloader 3.9/4.6″, “Unlock Baseband”, and “Autodelete Bootneuter.app”.
Download the bootloader 3.9 binary and bootloader 4.6 binary.
Click on “Bootloader 3.9 file …” and browse to the BL-39.bin file you just downloaded
Click on “Bootloader 4.6 file …” and browse to the BL-46.bin file you just downloaded
Click on the “Partition resizer” tab on the very right. Change the partition size to 550MB.
Now you can finally build the ipsw by clicking the “Build .ipsw” button at the bottom. Remember where you saved the file (by default it goes under the C:\Documents and Settings\\Application Data\cmw\winpwn\2.0.0.4 directory if you can remember it). The process will take about 5 minutes.
Click on “iPwner” and browse to the custom 2.0.1 ipsw firmware you just created.
Click OK and you should get a message about pwning iTunes.
Put your iPhone into DFU (device firmware upgrade) mode by pressing and holding the Power and Home buttons, letting go of the Power button after 10 seconds (the point at which your iPhone turns off) but continuing to hold the Home button for 10 seconds more. The screen should be completely black at this point. If it’s not you are not in DFU mode so you’ll need to do it again.
Launch iTunes 7.7 and ignore any prompt from Apple to upgrade to 2.0.1 firmware.
At this point you should consider making a backup restore point of your iPhone with iTunes as the firmware upgrade always wipes your iPhone.
Holding down the shift key, click on the “Restore” after your iPhone connects to iTunes.
Browse to your custom 2.0.1 firmware that you made with winpwn and use it to restore your iPhone.
iTunes will install the 2.0.1 firmware on your iPhone for you. It will give you a series of dialogs like so. The whole process took about 15 minutes for me.
Restoring all the data back took another 15-20 minutes but it really depends on how much data you have on there.
Congratulations, you are now on 2.0.1 firmware!