It only took me about an hour to get ICS installed on my Nexus S. Although I am on the Bell network, my phone was actually originally from Rogers (They were the first to get the Nexus S in Kelowna) I *think* that all of the Nexus S from Bell/Rogers/Telus are the same (9020A). Getting ICS onto the phone was the easy part, it was getting the radio to work that took a while. I’m not sure exaclty what I did because it just started working about 2 minutes into one of the reboots. Maybe let it sit for a while after you get the radio installed..FYI, the first time ICS boots up it takes about 5 minutes to get past the startup animation. Its a bit stressful.
I roughly followed the guide below. It’s probably best to factory reset your gingerbread install before even beginning. After resetting, I unlocked the bootloader, then installed ClockworkMod. I used the Clockwork mod to flash the ICS ROm but used fastboot to install the radio. I found that after installing ICS, I was no longer abel to see the phone from fastboot so I had to actually boot the phone into ICS and turn USB Debugging on. I was then able to flash the radio.
Also if you can’t get access to the phone through fastboot/ADB, don’t even bother trying to install. It is sential that you can shell into the phone when something goes wrong.
The detailed guide:
The ROM I used:
The radio I used: