[AT&T Samsung Galaxy S II Skyrocket SGH-I727] m4570d0n:
That commit was split up into 5 different commits, which are the ones I listed a few posts back. Tried to build with them but it killed the build with these errors:

In file included from hardware/qcom/display/libgralloc/ionalloc.h:33:0,
from hardware/qcom/display/libgralloc/alloc_controller.cpp:36:
bionic/libc/kernel/common/linux/msm_ion.h:24:47: error: conflicting declaration 'ION_HEAP_TYPE_IOMMU'
device/samsung/msm8660-common/include/linux/ion.h:43:2: error: 'ION_HEAP_TYPE_IOMMU' has a previous declaration as 'ion_heap_type ION_HEAP_TYPE_IOMMU'
bionic/libc/kernel/common/linux/msm_ion.h:25:44: error: conflicting declaration 'ION_HEAP_TYPE_CP'
device/samsung/msm8660-common/include/linux/ion.h:44:2: error: 'ION_HEAP_TYPE_CP' has a previous declaration as 'ion_heap_type ION_HEAP_TYPE_CP'
bionic/libc/kernel/common/linux/msm_ion.h:27:6: error: multiple definition of 'enum ion_heap_ids'
device/samsung/msm8660-common/include/linux/ion.h:65:6: error: previous definition here
bionic/libc/kernel/common/linux/msm_ion.h:45:6: error: multiple definition of 'enum ion_fixed_position'
device/samsung/msm8660-common/include/linux/ion.h:82:6: error: previous definition here
In file included from hardware/qcom/display/libgralloc/ionalloc.h:33:0,
from hardware/qcom/display/libgralloc/alloc_controller.cpp:36:
bionic/libc/kernel/common/linux/msm_ion.h:85:8: error: redefinition of 'struct ion_flush_data'
device/samsung/msm8660-common/include/linux/ion.h:736:8: error: previous definition of 'struct ion_flush_data'
bionic/libc/kernel/common/linux/msm_ion.h:94:8: error: redefinition of 'struct ion_flag_data'
device/samsung/msm8660-common/include/linux/ion.h:752:8: error: previous definition of 'struct ion_flag_data'
make: *** [/home/m4570d0n/cm10/out/target/product/skyrocket/obj/SHARED_LIBRARIES/libmemalloc_intermediates/alloc_controller.o] Error 1
make: *** Waiting for unfinished jobs....

Stripping out those cherry picks allowed me to finish the build but it didn't work. However, I just noticed a big reason why. It's not compiling copybit.msm8660.so, gralloc.msm8660.so, or hwcomposer.msm8660.so, which are supposed to be in out/target/product/skyrocket/system/lib/hw. (probably because without those cherry picks, hardware/qcom/display only supports msm8960). So basically, it's not building the display drivers during the build process, hence why we have no display. I also noticed while making this post that audio.primary.msm8660.so and audio_policy.msm8660.so are missing too.

There was a comment from one of the Evervolv guys in the first of those commits (this one) that said they basically took the /hardware/qcom/display repo from 4.1.2, renamed it /hardware/qcom/display-legacy and used that instead. Same with /hardware/qcom/audio.

https://github.com/Evervolv/android_hardware_qcom_display-legacy/commits/jellybean

https://github.com/Evervolv/android_hardware_qcom_audio-legacy/commits/jellybean

You would also need to change BoardConfigCommon.mk in /device/samsung/msm8660-common where it says

BOARD_USES_QCOM_HARDWARE := true

to

BOARD_USES_LEGACY_QCOM := true

as noted here.

Apparently that is also how another guy (DragunKorr) was able to get 4.2.1 working for the HTC pyramid in this thread in the Chef Central forums:

http://xdaforums.com/showthread.php?p=34953243#post34953243

I'm not sure if it's still going to cause issues that the BoardConfigCommon.mk still has

TARGET_USES_ION := true

---------- Post added at 01:51 PM ---------- Previous post was at 01:31 PM ----------

One other note. With 4.2, Android is not using the Bluez bluetooth stack and instead is now using the Broadcom bluetooth stack that is called bluedroid. When I first started the build, the very first line in my build log was:

external/bluetooth/bluedroid/Android.mk:8: NO BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR, using only generic configuration

To fix this, you would need to go to device/samsung/msm8660-common and create a new folder named "bluetooth". Then open a text editor, and create a new file with this:

/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

#ifndef _BDROID_BUILDCFG_H
#define _BDROID_BUILDCFG_H

#define BTM_DEF_LOCAL_NAME "SGH-I727"
#define BTA_DISABLE_DELAY 1000 /* in milliseconds */

#endif

I don't know what the LOCAL_NAME should be so I just went with "SGH-I727" but I guess you could make this whatever you want. Also don't know if this should be in device/samsung/skyrocket instead, but whatever. Save the file as "bdroid_buildcfg.h" and put it in that bluetooth folder you just created.

Then open up BoardConfigComon.mk in device/samsung/msm8660-common and add this line (I added a new line in the Bluetooth section on line #72):

BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/samsung/msm8660-common/bluetooth

Now, I doubt this alone is going to work, as it seems like no device running 4.2 has a fully/partially functioning bluetooth besides the Nexus 4. But, it's at least a start.