To build source-based kernel: 1. Set CROSS_COMPILE to an appropriate path prefix, e.g., export CROSS_COMPILE=../cm/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi- 2. Build kernel, for d2spr: make m2_spr_defconfig && make -j 4 Or, for d2vzw: make m2_vzw_defconfig && make -j 4 And to merge the kernel into recovery: 3. Pull recovery partition from device: adb reboot recovery adb root adb shell 'dd if=/dev/block/mmcblk0p18 of=/tmp/recovery.img bs=256k' adb pull /tmp/recovery.img 4. Merge newly-built zImage into recovery.img: ../cm/out/host/linux-x86/bin/unpackbootimg -i recovery.img cp arch/arm/boot/zImage recovery.img-zImage ../cm/out/host/linux-x86/bin/mkbootimg --kernel recovery.img-zImage \ --ramdisk recovery.img-ramdisk.gz \ --cmdline "console=null androidboot.hardware=qcom user_debug=31" \ --base 0x80200000 --pagesize 2048 --ramdiskaddr 0x81500000 \ -o recovery.img