[KERNEL] vz-oc-linaro kernel v4: CM10.1 overclocking kernel - Linaro build
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.
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.
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.
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,
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.
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.
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,
Otherwise, if you want to use the Linaro toolchain, you can get it at
You will also need a working boot image to get the ramdisk from. You can build
mkbootimg using these instructions
Finally, you can get split_bootimg_pl from William Encks site
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
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,
./mkbootimg --base 0x80400000 --ramdiskaddr 0x81800000 \
--cmdline 'console=ttyHSL0,115200,n8' \
--kernel arch/arm/boot/zImage --ramdisk boot.img-ramdisk.gz \
cm10.1 will need the following cmdline
--cmdline 'console=ttyHSL0,115200,n8 androidboot.hardware=qcom'
You are ready to flash your new kernel!
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.