[Nexus S Android Development] steven676:
Managed to get the whole shebang booting. I think this is the list of everything I copied over from IMM76D to the SDK JRN83C /system image:

system/bin/brcm_patchram_plus
system/bin/dbus-daemon
system/bin/dnsmasq
system/bin/ip
system/bin/make_ext4fs
system/bin/mksh
system/bin/omx_tests
system/bin/pand
system/bin/sdptool
system/bin/setup_fs
system/bin/simg2img
system/bin/tc
system/bin/wpa_supplicant
system/etc/apns-conf.xml
system/etc/audio_policy.conf
system/etc/bluetooth/*
system/etc/dhcpcd/dhcpcd.conf
system/etc/gps.conf
system/etc/media_profiles.xml
system/etc/mkshrc
system/etc/nfcee_access.xml
system/etc/permissions/android.hardware.camera.flash-autofocus.xml
system/etc/permissions/android.hardware.camera.front.xml
system/etc/permissions/android.hardware.location.gps.xml
system/etc/permissions/android.hardware.nfc.xml
system/etc/permissions/android.hardware.sensor.gyroscope.xml
system/etc/permissions/android.hardware.sensor.light.xml
system/etc/permissions/android.hardware.sensor.proximity.xml
system/etc/permissions/android.hardware.telephony.gsm.xml
system/etc/permissions/android.hardware.usb.accessory.xml
system/etc/permissions/android.hardware.wifi.xml
system/etc/permissions/android.software.live_wallpaper.xml
system/etc/permissions/android.software.sip.voip.xml
system/etc/permissions/com.android.nfc_extras.xml
system/etc/permissions/com.google.android.maps.xml
system/etc/permissions/com.google.android.media.effects.xml
system/etc/permissions/com.google.widevine.software.drm.xml
system/etc/permissions/com.nxp.mifare.xml
system/etc/permissions/features.xml
system/etc/secomxregistry
system/etc/updatecmds/*
system/etc/wifi/wpa_supplicant.conf
system/framework/framework-res.apk
system/lib/bluez-plugin/audio.so
system/lib/bluez-plugin/bluetooth-health.so
system/lib/bluez-plugin/input.so
system/lib/bluez-plugin/network.so
system/lib/drm/libfwdlockengine.so
system/lib/egl/*
system/lib/hw/audio.a2dp.default.so
system/lib/hw/audio_policy.herring.so
system/lib/hw/audio.primary.default.so
system/lib/hw/audio.primary.herring.so
system/lib/hw/camera.herring.so
system/lib/hw/hwcomposer.s5pc110.so
system/lib/hw/lights.s5pc110.so
system/lib/hw/nfc.herring.so
system/lib/hw/sensors.herring.so
system/lib/libbluedroid.so
system/lib/libbluetoothd.so
system/lib/libbluetooth.so
system/lib/libbtio.so
system/lib/libdbus.so
system/lib/libglib.so
system/lib/libiprouteutil.so
system/lib/libnetlink.so
system/lib/libnfc_jni.so
system/lib/libnfc.so
system/lib/libOMX.SEC.AVC.Decoder.so
system/lib/libOMX.SEC.AVC.Encoder.so
system/lib/libOMX.SEC.M4V.Decoder.so
system/lib/libOMX.SEC.M4V.Encoder.so
system/lib/libs3cjpeg.so
system/lib/libSEC_OMX_Core.so
system/lib/libsecril-client.so
system/lib/libstagefrighthw.so
system/lib/libvideochat_jni.so
system/lib/libvideochat_stabilize.so
system/lib/libvideoeditor_jni.so
system/lib/libvideoeditorplayer.so
system/lib/libWVphoneAPI.so
system/modules/bcm4329.ko
system/usr/idc/mxt224_ts_input.idc
system/usr/keychars/cypress-touchkey.kcm
system/usr/keychars/herring-keypad.kcm
system/usr/keychars/mxt224_ts_input.kcm
system/usr/keychars/s3c-keypad.kcm
system/usr/keychars/sec_jack.kcm
system/usr/keylayout/cypress-touchkey.kl
system/usr/keylayout/herring-keypad.kl
system/usr/keylayout/mxt224_ts_input.kl
system/usr/keylayout/s3c-keypad.kl
system/usr/keylayout/sec_jack.kl
system/usr/srec/*
system/vendor/*

Then I removed

system/etc/permissions/android.hardware.camera.autofocus.xml
system/lib/hw/audio.primary.goldfish.so
system/lib/hw/camera.goldfish.so
system/lib/hw/gps.goldfish.so
system/lib/hw/gralloc.goldfish.so
system/lib/hw/lights.goldfish.so
system/lib/hw/sensors.goldfish.so

/system/build.prop looks like this:

# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=JRN83C
ro.build.display.id=sdk-eng 4.1 JRN83C 391408 test-keys
ro.build.version.incremental=391408
ro.build.version.sdk=16
ro.build.version.codename=REL
ro.build.version.release=4.1
ro.build.date=Sat Jun 23 01:40:53 UTC 2012
ro.build.date.utc=1340415653
ro.build.type=eng
ro.build.user=android-build
ro.build.host=vpak16.mtv.corp.google.com
ro.build.tags=test-keys
ro.product.model=Nexus S
ro.product.brand=google
ro.product.name=soju
ro.product.device=crespo
ro.product.board=herring
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=samsung
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=s5pc110
# ro.build.product is obsolete; use ro.product.device
ro.build.product=crespo
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=sdk-eng 4.1 JRN83C 391408 test-keys
ro.build.fingerprint=generic/sdk/generic:4.1/JRN83C/391408:eng/test-keys
ro.build.characteristics=nosdcard
# end build properties
#
# system.prop for generic sdk
#

rild.libpath=/vendor/lib/libsec-ril.so
rild.libargs=-d /dev/ttyS0
ro.sf.lcd_density=240

#
# ADDITIONAL_BUILD_PROPERTIES
#
ro.config.ringtone=Sceptrum.ogg
ro.config.notification_sound=OnTheHunt.ogg
ro.config.alarm_alert=Alarm_Classic.ogg
#ro.kernel.android.checkjni=1
xmpp.auto-presence=true
#ro.config.nocheckin=yes
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt

ro.opengles.version=131072
wifi.interface=wlan0
wifi.supplicant_scan_interval=15
dalvik.vm.heapstartsize=5m
dalvik.vm.heapgrowthlimit=48m
dalvik.vm.heapsize=128m
ro.com.android.dateformat=MM-dd-yyyy
ro.com.android.dataroaming=false
ro.url.legal=http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html
ro.url.legal.android_privacy=http://www.google.com/intl/%s/mobile/android/basic/privacy.html
ro.com.google.clientidbase=android-google
ro.com.android.wifi-watchlist=GoogleGuest
ro.error.receiver.system.apps=com.google.android.feedback
ro.setupwizard.enterprise_mode=1
keyguard.no_require_sim=true
drm.service.enabled=true
dalvik.vm.dexopt-flags=m=y

I added res/xml/power_profiles.xml and res/xml/storage_list.xml from the crespo framework-res.apk to the Jelly Bean one.

The initramfs is fairly simple -- just copy over init.herring.rc, init.herring.usb.rc, and ueventd.herring.rc from a crespo boot image. If you want working adbd, copy sbin/adbd as well. You may need to edit the top of init.rc to replace ${ro.hardware} with herring; I'm not sure whether this is necessary.

The resulting system boots to the UI, which is truly butter-smooth. Sound, wifi, and Bluetooth don't work. Cellular data works, as does receiving calls (though without sound, that's kind of pointless).

Trying to work on the problems, but (a) I screwed up my LVM setup and need to redo it and (b) I really should be doing something else entirely, so I'm not sure how much more time I have to put into this ...