[Nexus S Android Development] steven676:
I don't really have much more time to work on this, but here are some notes on what doesn't work even after SP1:

Automatic brightness setting. I've checked that the ambient light sensor works through another app, so presumably something in the Android framework is missing.

Video recording. Trying to start video recording turns up this set of errors:

V/videocamera( 2240): startVideoRecording
D/CameraStorage( 2240): External storage state=mounted
V/videocamera( 2240): initializeRecorder
W/StagefrightRecorder( 97): Max file duration is not positive: 0 us. Disabling duration limit.
W/StagefrightRecorder( 97): Target duration (0 us) too short to be respected
V/videocamera( 2240): New video filename: /mnt/sdcard/DCIM/Camera/VID_20120710_025327.mp4.tmp
D/CameraSource( 97): Camera does not support setVideoSize()
E/CameraHardwareSec( 97): Non-metadata buffer mode is not supported!
W/StagefrightRecorder( 97): Failed to create the encoder
D/CameraSource( 97): reset: E
W/CameraService( 97): attempt to use a locked camera from a different process (old pid 97, new pid 2240)
D/CameraSource( 97): reset: X
E/MediaRecorder( 2240): start failed: -2147483648
E/videocamera( 2240): Could not start media recorder.
E/videocamera( 2240): java.lang.RuntimeException: start failed.
E/videocamera( 2240):	at android.media.MediaRecorder.start(Native Method)
E/videocamera( 2240):	at com.android.camera.VideoCamera.startVideoRecording(VideoCamera.java:1484)
E/videocamera( 2240):	at com.android.camera.VideoCamera.onShutterButtonClick(VideoCamera.java:614)
E/videocamera( 2240):	at com.android.camera.ShutterButton.performClick(ShutterButton.java:108)
E/videocamera( 2240):	at android.view.View$PerformClick.run(View.java:16966)
E/videocamera( 2240):	at android.os.Handler.handleCallback(Handler.java:615)
E/videocamera( 2240):	at android.os.Handler.dispatchMessage(Handler.java:92)
E/videocamera( 2240):	at android.os.Looper.loop(Looper.java:137)
E/videocamera( 2240):	at android.app.ActivityThread.main(ActivityThread.java:4745)
E/videocamera( 2240):	at java.lang.reflect.Method.invokeNative(Native Method)
E/videocamera( 2240):	at java.lang.reflect.Method.invoke(Method.java:511)
E/videocamera( 2240):	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
E/videocamera( 2240):	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
E/videocamera( 2240):	at dalvik.system.NativeStart.main(Native Method)
V/videocamera( 2240): Releasing media recorder.
V/videocamera( 2240): Empty video file deleted: /mnt/sdcard/DCIM/Camera/VID_20120710_025327.mp4.tmp

This is suggestive of a problem with the video encoding or camera HAL, but replacing libstagefrighthw.so with one built from the Jelly Bean device/samsung/crespo tree doesn't make a difference, and building camera.herring.so from that tree completely breaks the camera app (segfault in a call to libc from camera.herring.so).

Lots of reports of Google Now and/or Google Search crashing. A logcat would be helpful for anyone trying to diagnose the problem.

Other notes:

Any ICS kernel should work with this Jelly Bean ROM.

That said, it appears that the official release will use a different wireless driver (the bcmdhd driver which Galaxy Nexus already uses), so ICS kernel releases may need some changing for Jelly Bean.

If you're having problems with Market or something else crashing, please provide a logcat -- otherwise problems are difficult to diagnose. Make sure you've wiped all data if you're flashing over an existing ICS installation.