Step 1: Download PwnageTool 4.2 here. Also Download the appropriate 4.2.1 firmware bundle (available from Apple). For the walkthrough I used an AT&T iPhone 4.
Step 2: Open PwnageTool and click 'Expert Mode' at the top, then click the device you'd like to jailbreak.
Step 3: Click "Browse for IPSW and browse for the firmware bundle you downloaded (should be firmware 4.2.1)
Step 4: Click 'General' and select functions as needed.
- 'Activate the phone' - Hacktivates the phone if previously unlocked
- 'Enable baseband update' - Performs the baseband update (DO NOT CHECK THIS IF YOU RELY ON A ULTRASNOW UNLOCK)
- There are options to re-enable functionality, which are specifically for the iPhone 3G. If you need them, check them off.
Step 5: Click the arrow to apply the changes.
Step 6: Install custom packages and cydia sources as needed, then click build to save your custom IPSW file, you may be asked to enter your Mac OS user password.
Step 7: When prompted, connect your device via USB and follow the instructions for entering DFU mode.
Step 8: Open iTunes. iTunes will tell you it has detected a device in recovery mode. IMPORTANT: PRESS OPTION AND CLICK RESTORE. Do not simply press restore, this will upgrade your device to stock 4.2.1, and WILL upgrade your baseband (which is irreversible). A dialog box will open and allow you to choose the firmware bundle to restore with. Choose the custom created bundle.
Step 9: Wait for the restore to complete, and enjoy your untethered jailbreak! Unlockers on an unlockable baseband can simply install ultrasn0w and unlock. Enjoy!