[AT&T, Rogers HTC One X, Telstra One XL] vanja_z:
Introduction

This is a replacement kernel for CyanogenMod 10 and 10.1 evita builds. The kernel is designed to be as close as possible to the stock CyanogenMod kernel with a few improvements.

Linaro toolchain:

The kernel is compiled with the latest Linaro toolchain based on gcc 4.7 rather than the default Android toolchain. This may provide performance improvements in some situations. I have made a few patches applied to make it compatible with gcc 4.7.

Overclock:

The highest frequency now available under Settings -> Performance with these kernels is,

CPU: 1782 MHz 1.25 V
L2: 1350 MHz 1.15 V
BUS: 532 MHz

I've also included a modified thermald.conf in the flashable zip.

Refresh rate:

I've reverted the refresh rate to the original value from the sense source code (57 Hz). This works better when "Disable HW overlays" is selected.

Downloading and installing

Download the flashable zip,

cm10.1_vz-oc-linaro.4.zip MD5=7233ccffa17fa16a2dc6292ecf755fb4

mega.co.nz

ubuntuone.com

Older versions:

cm10.1_vz-oc-linaro.3.zip MD5=5e0efdfd0390f3f923090a574d142808

mega.co.nz

ubuntuone.com

cm10.1_vz-oc.2.zip MD5=cf2c4ee8ba09627e598b78dcea225d39

cm10.1_vz-oc-linaro.2.zip MD5=2931cc59515949fa461a89ea17c99328

vz-oc.1.zip MD5=2f1740d67cd1d5c02a7ac5489bafe7a0

vz-oc.2.zip MD5=4e4d444130e8eb71c27cc23fed65fc88

vz-oc-linaro.1.zip MD5=ca674641e05595e64698afda8aa02943

vz-oc-linaro.2.zip MD5=2b01472d00e069c53f934c30b49475d1

cm10.1_vz-oc.1.zip MD5=576db9e99b2289dae7fc5b548a0d61b4

cm10.1_vz-oc-linaro.1.zip MD5=1a5f3b50608e6b44da50829b2c04ec5c

If you have HBOOT earlier than 1.14 or have S-OFF, then you can just flash the zip from recovery. This will flash the kernel as well as all required modules and thermald.conf. Otherwise, HBOOT 1.14 users will need to extract the boot.img, enter bootloader mode and run

fastboot flash boot boot.img

Then you will also need to flash the zip to get modules and themald.conf.

Compatability

cm10.1_vz-oc-linaro.4 is compatible with CM10.1 UNOFFICIAL build from 16/04/2013 onwards.

cm10.1_vz-oc-linaro.3 is compatible with CM10.1 NIGHTLY build from 01/03/2013 onwards.

cm10.1_vz-oc.2 (and linaro) are compatible with CM10.1 NIGHTLY build from 19/02/2013 only.

cm10.1_vz-oc.1 (and linaro) are compatible with CM10.1 UNOFFICIAL build from 06/02/2013 only.

vz-oc.2 (and linaro) are compatible with CM10 NIGHTLY builds from 26/12/2012 to 13/01/2013.

vz-oc.1 (and linaro) are compatible with CM10 NIGHTLY builds from 28/11/2012 to 25/12/2012.

Future development

I hope to introduce GPU overclocking soon and there will be updated builds as

soon as changes come into the main CyanogenMod repo.

Building the kernel

For those who would like to build the kernel themselves, here are some basic

instructions. First you will need to acquire some tools. You can get the default

toolchain from the CM10 source code at,

system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/

Otherwise, if you want to use the Linaro toolchain, you can get it at

Linaro toolchain

You will also need a working boot image to get the ramdisk from. You can build

mkbootimg using these instructions

building mkbootimg

Finally, you can get split_bootimg_pl from William Encks site

download split_bootimg_pl

Clone the repo and change to your desired branch

git clone https://github.com/vanja-zecevic/android_kernel_htc_msm8960.git
git checkout jellybean-oc

Now export an environmental variable pointing to your desired toolchain

export CCOMPILER=$PATH_TO_TOOLCHAIN/bin/arm-eabi-

Copy the config file, run menuconfig once and start the build replacing -j12

with your desired number of threads

cp ./config-oc ./.config
make ARCH=arm SUBARCH=arm CROSS_COMPILE=$CCOMPILER menuconfig
make ARCH=arm SUBARCH=arm CROSS_COMPILE=$CCOMPILER -j12

Extract a ramdisk from a working boot image and repack with your freshly built

kernel using the following command for cm10,

./split_bootimg_pl ./boot.img
./mkbootimg --base 0x80400000 --ramdiskaddr 0x81800000 \
--cmdline 'console=ttyHSL0,115200,n8' \
--kernel arch/arm/boot/zImage --ramdisk boot.img-ramdisk.gz \
-o boot_vz-oc.img

cm10.1 will need the following cmdline

--cmdline 'console=ttyHSL0,115200,n8 androidboot.hardware=qcom'

You are ready to flash your new kernel!

Contact

I hope you enjoy using this kernel! Please also visit the github page for this project for alternative download links and for the source code.

GitHub

Cheers,

Vanja