The following flowchart intends to simply the complex procedure of upgrading an iPhone 3GS (new bootrom) to iOS 6.1, while preserving the baseband (modem firmware), so that it can be SIM unlocked once it is jail-broken.
Please use at your own risk, and consult Vinod Yalburgi’s post for further details. It is also possible to use redsn0w 0.9.15b1 instead of sn0wbreeze 2.9.8, but sn0wbreeze 2.9.8 is highly recommended because it automates the creation of the custom firmware, the jailbreaking and the hacktivation. In addition, using redsn0w 0.9.15b1 resulted in the device being stuck in recovery mode.
Note that the flowchart below cannot be direct-linked from this website. For direct-linking, you will have to use this image url, which links to a higher quality flowchart.