Step 1: Download iOS 4.2.1 for your respective iOS device from here (Direct links provided)
Step 2: Now restore your device to iOS 4.2.1 using that firmware file via iTunes.
Step 3: Once you have restored your device to iOS 4.2.1, start redsn0w 0.9.6b4 (download link is given below) and select the same iOS 4.2.1 firmware file you used to restore your device.
Step 4: When you get confirmation from redsn0w 0.9.6b4 “IPSW Successfully identified”, select ‘Install Cydia’ and then ‘Next’.
Step 5: On the next screen, before you click ‘Next’, make sure that your device is both OFF and PLUGGED IN to the computer. Once done, ‘Next’.
Step 6: Quickly follow the onscreen instructions i.e hold ‘Power’ button and while holding the ‘Power’ button, also hold the ‘Home’ button. Then after a few seconds let go of the ‘Power’ button but keep holding the ‘Home’ button until jailbreak installation begins.
Step 7: Redsn0w will do the rest automatically and once completed, your iPhone or iPod touch will restart on jailbroken iOS 4.2.1 firmware.
Thats it for iPhone 3G, iPhone 3GS with old bootrom and non-MC iPod touch 2G. But If you are jailbreaking on iPhone 4, iPhone 3GS (New Bootrom), iPad or iPod touch 4G, you will be required to put your device into the jailbroken state on each reboot by using “Just boot tethered right now” option in redsn0w 0.9.6b4.
Download Redsn0w 0.9.6b4 For Windows (Official Link)
Download Redsn0w 0.9.6b4 For Mac (Official Link)