Remove All Ads from XDA

[KERNEL][GPL]Genocide EC05 Kernel 2.0|1.4GhzOC|RomManager|CustomUV|DUALBOOT! 7/5/2011

1,300 posts
Thanks Meter: 1,321
By Rodderik, Inactive Recognized Developer on 20th February 2011, 08:48 AM
Post Reply Email Thread
Genocide EC05 Kernel 2.0 |1.4GhzOC|UV|VoodooSound10|VoodooColor|DualBoot
(Compatible with DK28, EB13, and EC05)

I am NOT responsible for any damages, fires, race-wars, riots, temporary blindness, killer bee attacks, or anything else that could be remotely tied to downloading this file. You have been warned!

Dual Boot Support!
Overclockable (1400MHz, 1300MHz, 1200MHz, 1120MHZ)
Undervolt via sysfs
ROM MANAGER compatible!
Working redirector
Root and busybox built in
Voodoo Sound v10
Voodoo Color
Cifs and tun modules (not loaded by default)
MANY patches and tweaks
Much much more!!!

1. This kernel is capable of 1.3 & 1.4GHz however the voltage required slightly exceeds (roughly 50mV) the manufacturer's recommended voltage. Enable these AT YOUR OWN RISK.
2. Just because the kernel is capable of higher clock speeds DOES NOT mean every device will handle them.
3. DO NOT gripe or complain and trash my thread if you're device doesn't support anything past 1.2GHz. I WILL NOT increase the voltages anymore past recommended specifications.
4. DO NOT get mad or get your feelings hurt if I tell you to read the original post (OP) instead of answering your question. It means I have already answered it here OR I felt your question(s) needed to be answered in the OP and updated it accordingly.
5. DO a complete nandroid backup in ClockworkMod BEFORE flashing the kernel or messing with the undervolt settings. Setting values too low CAN cause data corruption. Simply restore your backup that I know you just made. YOU HAVE BEEN WARNED!
6. BY DEFAULT the ONLY active frequencies are 100MHz, 200MHz, 400MHz, 600MHz, 800MHz, and 1000MHz. In order for the device to use higher frequencies they must be specifically enabled. If you install the kernel you will NOT be automatically overclocked.
7. The kernel should work with any rom EXCEPT Stock EC05 that is converted to EXT4 AND is NOT deodexed. This is a known issue I am looking into.
8. PLEASE PLEASE PLEASE take time to read and search this thread before asking questions. I am not a baby sitter and I should not have to spend my time answering the same questions over and over and over again as it takes time away from me improving the kernel or working on my other projects. If you see some one ask a question that has already been answered please do not flame them. It would help me greatly if you could take 5 seconds to answer them or link them to the post with the appropriate answer.

NOTE: If you are going to overclock I personally recommend you UNINSTALL SetCPU and set your max with Voltage Control or by hand.


Download the kernel and flash with ClockworkMod.

How to Dual Boot:
Information on dual booting can be found here:

Easy Overclock/Undervolt Method:
Setting up your frequencies:

Required software: Voltage Control by xan
1. Backup your device in ClockworkMod and flash the kernel. If you get messed up or confused just reboot your device to undo the changes.
2. After flashing the kernel, uninstall SetCPU and install Voltage Control (VC).
3. Open VC and hit 'States' at the bottom to open the States drawer.
4. Enable your desired frequencies and hit the menu button and 'Apply for now' (DO NOT 'Save as boot settings')
5. Hit 'States' to retract the States drawer.
6. Leave the Scheduler as 'cfq' and change Limit clock to your desired max frequency.
7. Hit the menu button and 'Apply for now' (DO NOT 'Save as boot settings' unless you are 110% sure the settings are stable and you have adequately tested)

Setting up your personal undervolt settings: (Caution: When figuring out your maximum undervolt settings there is a good chance you will get some data corruption so make sure your backup in ClockworkMod is up to date)
1. Open VC and select the desired frequency you wish to undervolt.
2. The green slider goes in increments of -25mV so select that first and take note of the frequency and value. (It is important when testing that you reduce the voltage ONE step at a time)
3. Hit the menu button and 'Apply for now'
4. Test the device's stability THOROUGHLY before you move the slider down any further. See the FAQ below for tips on testing stability.
5. If you feel it is stable then repeat this process and move the slider down one step, write it down, and THOROUGHLY test.
6. When your device freezes or starts acting weird then you know that value is too much and you should use your previously stable value.

Repeat this process for each of the other frequencies you wish to undervolt. When you feel you have the stable values that you are comfortable with, open VC and apply your stable values and THOROUGHLY test your device again. After you do all of this, make sure you are 110% certain of the stability before you 'Save as boot settings' and remember you may need to restore your ClockworkMod backup before setting up your final values to ensure no data corruption.

Advanced Overclock/Undervolt Method:
Required software: Working 'adb shell' or terminal emulator
There is NO hand holding here. Make sure you read the Easy Method to familiarize yourself with the process! If you don't know what you are doing then DO NOT attempt this method. If you get messed up or confused just reboot your device to undo the changes.

Enable active states: echo "0 0 1 1 1 1 1 1 1 1" > /sys/devices/system/cpu/cpu0/cpufreq/states_enabled_table
Accepted values are 0 and 1. All ten values must be set and this example enables 1200000 to 100000.

Set maximum frequency: echo "1200000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
Accepted values are 1400000, 1300000, 1200000, 1120000, 1000000, 800000, 600000, 400000, 200000, and 100000.

Set minimum frequency: echo "200000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Accepted values are 1400000, 1300000, 1200000, 1120000, 1000000, 800000, 600000, 400000, 200000, and 100000.

Set undervolt values: echo "0 0 0 0 25 50 0 0 0 0" > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table
Values are in millivolts. Accepted values are 25, 50, 75, 100, 125, 150, 175, 200. DO NOT USE NEGATIVE NUMBERS. All ten values must be set.

This example applies a -25mV at 1000000 and -50mV undervolt at 800000.

To set your values on boot once you find what is stable creat a file name S_volt_scheduler with the following contents and change the values accordingly:
#set UV
echo "0 0 0 0 25 50 0 0 0 0 " > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table
echo 1200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
#select enabled states
echo "0 0 1 1 1 1 1 1 1 1 " > /sys/devices/system/cpu/cpu0/cpufreq/states_enabled_table
#set scheduler for stl, bml and mmc
for i in `ls /sys/block/stl*` /sys/block/bml* /sys/block/mmcblk*
echo "cfq" > $i/queue/scheduler
Put the file in /etc/init.d/ to apply the settings when the device boots.

FAQ (Frequently Asked Questions):
Q. Why isn't my device stable at higher clock speeds?
A. Many processors are cut at a time from one big wafer of silicon and other materials by the manufacturer. No two processors are exactly the same. From a cost stand point these chips are designed to yield a certain percentage of working chips at given specifications. These chips are made to withstand specific currents and voltages. When we exceed the currents and voltages the chips are designed to handle some will fail.

Q. What else can I try if I can't run the higher frequencies?
A. There is not a whole lot you can do. Some things I would suggest is make sure SetCPU is uninstalled. It has been reported SetCPU can cause some stability issues. Another option is to try different roms. Other than that there isn't much you can do. Sorry.

Q. Do you plan on pushing past 1.4GHz?
A. No. I do not plan to push any higher than 1.4GHz. Why? I am not going to push the higher voltages that would be required to go any higher. Please don't bother asking me to.

Q. What are some good ways to test stability while I am figuring out what undervolts my device can handle?
A. The best way to test stability is going to be setting your max frequency to the frequency you are testing and run benchmark programs like SmartBench that test multiple areas of your device. I recommend spending atleast 5-10 minutes running benchmarks and doing other tasks before you decide a given undervolt is stable.

Q. Help I was messing with the undervolts and now I get force closes (FC). What can I do?
A. This is why you made a backup in ClockworkMod. Setting voltage too low can corrupt your data and cause programs to FC. Typically you can reinstall the program or clear the applications data to fix it. As a last resort (and recommended to do anyway after you find your stable values) is to restore your backup from ClockworkMod.

Q. Why can't I use SetCPU?
A. You can use SetCPU, how ever I do not recommend it as it can cause conflicts. I am not going to support using it but if you get it working for you then by all means. I have no problems with the program or it's author and I think it is a great program but it just isn't needed and can make things tricky to get working correctly.

Q. How can I tell what frequencies I will benefit most undervolting or if they are even working?
A. There are two ways. The easy way is to install CPU Spy The advanced way is to 'cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state'

Q. What are the default voltages for the avialable frequencies?
A. 1400000 @ 1375 mV WARNING: above recommended voltage
1300000 @ 1325 mV WARNING: above recommended voltage
1200000 @ 1300 mV
1120000 @ 1300 mV
1000000 @ 1275 mV
800000 @ 1200 mV
600000 @ 1175 mV
400000 @ 1050 mV
200000 @ 950 mV
100000 @ 950 mV

Q. I have enabled 100MHz but I can not scale down to 100MHz. Why?
A. By default the kernel sets 200MHz minimum. In order to scale down to 100MHz you can flash this script to set 100MHz on boot or add this line to /system/etc/init.d/S_volt_scheduler:
echo "100000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Q. How do I change the governor with terminal emulator or adb shell?
A. See the answer here:

Q. This kernel has Voodoo Sound but I don't hear a difference. What gives?
A. There are indeed changes but to look at the settings and adjust the volume, download Voodoo Control App from the Market. I highly encourage people to donate to supercurio as he has done some awesome modification and more of his mods will find their way into this kernel soon!

Q. What is this flashing android on top of my boot animation now? How do I fix it?
A. On a stock rom, enabling boot animation support in the kernel plays the default boot animation (flashing android logo) over top of Samsung's own boot animation. Check out this thread to get rid of the flashing android or clear Samsung's animation for your custom animations.

Q. How do I enable CIFS support?
A. From 'adb shell' or a terminal emulator type 'insmod /lib/modules/cifs.ko'

Q. How do I enable TUN support?
A. From 'adb shell' or a terminal emulator type 'insmod /lib/modules/tun.ko'

Q. How come there is no frame rate increase?
A. The current method to increase the frame rate is by bumping up the LCD refresh rate. While I am told it should not break the LCD I decided it would be best to not mess with this setting for now until we find some proper documentation on the LCD in our devices. The documentation is kept under tight wraps and requires a signed non disclosure agreement for access.

Q. How do I set the timer delay for mkasick's keyboard patch?
A. Please refer to his post on more information about the keyboard patch
A2. theimpaler747 has suggested a lower default value for the keyboard patch and has provided flashable scripts to set it lower. Please refer to his post here: (If reports are good I will bump this down to the default value on my next release)

Q. I don't want to overclock or undervolt. Can I still use the kernel and will it automatically overclock/undervolt my device?
A. Yes you can absolutely still use the kernel. The default frequencies are 200MHz - 1000MHz at stock voltages. This will not change until you change it yourself.

Q. I flashed a different kernel and I lost root. What gives?
A. Root is now included in the kernel. If you flash a kernel that does not have root built-in then you will need to re-root.

Q. I didn't read or my settings became unstable after setting them on boot. Now my phone freezes when it boots up. What can I do?
A. You have two options. Option 1 is to restore your ClockworkMod backup that I KNOW you did before you started. Or option 2 flash this file with ClockworkMod to erase the boot settings:

Q. Where are your sources?
A. Kernel sources can be found here:

Q. Where can I find the link to download the kernel already?
A. After you have read everything, check the next post for links and changelogs.

If you like what I've done please consider a donation. I'm usually not one to ask for donations but it's pretty difficult finding a job for me right now so I'm doing what I can.
Please share your undervolt settings so I can compile and recommend a 'safe' starting point to help future flashers. Thanks.

Many thanks to DRockstar, nubecoder, gzub, supercurio, tanimn, mkasick, DevinXtreme, thomasskull666, nullghost, existz, rasdeep, and any other devs that I have forgotten. I apologize in advance. If you feel you deserve credit for something then please PM me and we will get the situation solved quickly.
The Following 119 Users Say Thank You to Rodderik For This Useful Post: [ View ] Gift Rodderik Ad-Free
20th February 2011, 08:49 AM |#2  
Rodderik's Avatar
OP Inactive Recognized Developer
Thanks Meter: 1,321
Donate to Me
Changelog: (Legend: "+" introduce addition/modification, "-" removed addition/modification, "*" changed addition/modification)

*updated su binary and Superuser.apk (if you still have the old Superuser installed either delete it from /system/app/ or simply update it via market)

+dual boot support
+new boot logo for v2.0
*fixed typo in cpu code
*Voodoo Sound updated to v10

*Tweaks to initramfs for root in adb
-Revert RNDIS patch due to breaking linux (wired tether still works)
+ClockworkMod Purple Edition & working redirector (DRockstar
*Busybox handled by recovery binary
*Moved superuser.apk location
*Swapped redbend_ua for bmlwrite
+Other scripts and tweaks from DRockstar into initramfs
+interactive governor + fixes
*ondemand governor fix to not scale below min frequency (nubecoder)
*Voodoo Sound updated to v9
+mountums & umountums added for USB Mass Storage in CWM (DRockstar)
+DroidDream malware prevention code in script
*Voodoo Sound updated to v8
-Revert lowmemorykiller.c patch (causes kswapd0 to be stuck awake and eat cpu time)
+Kernel splash image was disabled after DK28 - Re-enabled (Stored in Kernel/drivers/video/samsung/logo_rgb24_wvga_portrait_victory.h)
+keytimer script and mods from DRockstar
*initramfs changes (persistant Superuser.apk)

Voodoo Color by supercurio (
*New Overclocks and sysfs undervolting support (rasdeep, existz, tanimn, gzub, and thomasskull666...pulling my hair out over this one)
+Root, custom init scripts, misc tweaks (care of tanimn)
*Voodoo Sound updated to v7
+Conservative governor minimum frequency fix (You rock GZub
-Remove refresh rate change (We need proper LCD documentation before I can support changing this)
-Clean up github files and rename repo
-Removed video lag & camera force close fix (Samsung fixed the camera issues for EC05)
+Removed iqmsd service from initramfs (CIQ bad!)
+Keyboard delay runtime sysfs patch by mkasick
+TV compile fix (thanks tanimn and nullghost)
*Tweaked config flags and recompiled modules (thanks gzub for the help)
-Keyboard patch by mkasick in preparation for updated patch
+Refresh rate changed from 60 to 72 (slightly better framerates)
*Voodoo Sound updated to v6
+EC05 source merge
+scaling_available_frequencies sysfs patch from nullghost

+lowmemorykiller.c patch
+Voodoo Sound v4 by supercurio
+Added sched_autogroup v4 patch (Patch to smooth system under load) & NOTE: Enable/disable by echoing either 0 or 1 to /proc/sys/kernel/sched_autogroup_enabled
+Changed swappiness from 60 to 10 (dumps RAM to swap less often for those with a swap partition)
+Wireless Tether fixes by mkasick;postcount=88 (should fix 4G tethering issues)
+Keyboard patch by mkasick
+Battery Status Polling Interval changed from 2000 to 30000 (30 seconds)
+RDNIS Froyo Fix by mkasick (use wired tether from
+Added RNDIS support for Wired Tether
+Added CONFIG_ARM_THUMBEE=y (as suggested by gzub)
+Set 4k read ahead in mtd_blkdevs.c (faster boot?)
+existz-initramfs-i9000-suckerpunch ported to Epic - BROKEN RIGHT NOW DO NOT USE!!!
+Removed CONFIG_DEBUG_INFO=y (gives us smaller kernel image and all modules including new cifs.ko)
+CFLAGS_KERNEL = -O2 -pipe -mcpu=cortex-a8 -mtune=cortex-a8 -mfloat-abi=soft -mfpu=neon
-Removed About Phone information (Caused FC and weird bugs in apps)
*Fixed error that wouldn't let cpu drop below 200MHz

+Set defaults speeds to 200MHz min and 1000MHz max (NOW REQUIRES SETCPU TO OVERCLOCK)
+Compiled in video lag & camera force close fix by mkasick
*Fixed issue with Firmware version in About Phone (FIXES PANDORA)
+Set initramfs root UID/GID
+Compiled and added cifs.ko to initramfs
-Removed cifs from kernel (you can try the module if you want but it broke the initramfs with it in there plus it is a nasty 2.3MB) mirror

+New EB13 initramfs (no more DK28 stuff)
+Added EXT4 Support
+Added bootanimation support
+Updated kernel modules from EB13
+Added recovery (need to test redirector)
+Added Firmware version to About Phone
+Started on Voodoo mods mirror

+1.2GHz overclock
+1Ghz 25mV undervolt
+DK28 initramfs (for pre-EB13/OTA compatibility)

If for some reason you want to revert back to the kernel that came with your rom you have two options. Before reverting back, I would suggest that you use SetCPU to lock in 1GHz to take advantage of the slight undervolt at 1GHz to save a little more battery. But if you insist the first option is to download and flash one of the following kernels based off which rom you are running:
VIPERrom DK28 RFS/EXT4 Modded Kernel HERE
Bonsai4all DK28 EXT4 Modded Kernel HERE (this includes roms based off of Bonsai as well)
The second option is to be 100% sure you get the right kernel back is to download either zip above and place the zImage into the kernel folder with 7zip. Typically the zImage can be found in your rom of choice's zip under /kernel or /kernel_update.
The Following 13 Users Say Thank You to Rodderik For This Useful Post: [ View ] Gift Rodderik Ad-Free
20th February 2011, 08:53 AM |#3  
BopChie's Avatar
Senior Member
Thanks Meter: 34
backing up now lol w00t
The Following User Says Thank You to BopChie For This Useful Post: [ View ] Gift BopChie Ad-Free
20th February 2011, 09:21 AM |#4  
Effsi's Avatar
Senior Member
Thanks Meter: 891
Donate to Me
Nicely done! +400 to my quandrant scores and almost a full 4.0 increase with linpack. Cannot wait to see what else is to come!
The Following User Says Thank You to Effsi For This Useful Post: [ View ] Gift Effsi Ad-Free
20th February 2011, 09:30 AM |#5  
BopChie's Avatar
Senior Member
Thanks Meter: 34
Originally Posted by darkjje

Nicely done! +400 to my quandrant scores and almost a full 4.0 increase with linpack. Cannot wait to see what else is to come!

+1 i was avg around 1100/2300 in smartbench!1ghz, pulling 1300/2900 @1.2ghz

so far so good here THANKS
20th February 2011, 09:32 AM |#6  
BThomas22x's Avatar
Retired Recognized Developer
Flag Scottdale
Thanks Meter: 474
Donate to Me
I love lamp!

Great job brother
20th February 2011, 09:34 AM |#7  
jjjjayd13's Avatar
Senior Member
Thanks Meter: 37
Wink WOW!
Team Viper 'STAY STRONG' with these Great ROMS!!!

YOur testers say Thank You!!!
20th February 2011, 09:39 AM |#8  
ecooce's Avatar
Senior Member
Thanks Meter: 825
Donate to Me
Nice job man,I knew you guys would have somthing from EB13 flashable before the weekend was over.

Sent from my MyFrankenstein ROM using XDA App...
20th February 2011, 09:43 AM |#9  
BThomas22x's Avatar
Retired Recognized Developer
Flag Scottdale
Thanks Meter: 474
Donate to Me
Originally Posted by ecooce

Nice job man,I knew you guys would have somthing from EB13 flashable before the weekend was over.

Sent from my MyFrankenstein ROM using XDA App...

What are your scores for Frankenstein? ...cuz i know you're ROM comes stock like 98MB or something like that it's already quick as Puff-N-Stuff lol
The Following User Says Thank You to BThomas22x For This Useful Post: [ View ] Gift BThomas22x Ad-Free
20th February 2011, 09:55 AM |#10  
jjjjayd13's Avatar
Senior Member
Thanks Meter: 37
Question ViperCom?
Why didn't ViperCom show this kernel being available?

edit--EST--5:03am--just saw in ViperCom-Thanks!!!
20th February 2011, 10:15 AM |#11  
Senior Member
Thanks Meter: 2
Thanks, this is really fast. Any chance of someone compiling the browser from it as well? The ones we have are sort of hacky.
Post Reply Subscribe to Thread

2.2 kernel, custom kernel, eb13, ec05, epic kernel, froyo, kernel, noodles, overclock, rodderik, undervolt, uv kernel, voltage control

Guest Quick Reply (no urls or BBcode)
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes