[HTC EVO 3D] freeza:
Here's the modified stock kernel from software ver 2.17.651.5, flashable through recovery, of course.

As of 1/13/12, CIQ back and front ends have been removed by HTC.

Includes init.d support.

Changelog:

8/21/11

On boot the following happens:

-Removes files from /data/system/dropbox

-Removes files from /data/system/appusagestats

-Removes files from /data/system/usagestats

-Removes files from /data/tombstones

-Modifies permissions on /data/system/dropbox to read-only

-Modifies permissions on /data/system/appusagestats to read-only

-Modifies permissions on /data/system/usagestats to read-only

-Removes permissions on /data/system/userbehavior.db

-Removes permissions on /data/system/userbehavior.db

-Removes permissions on /data/system/userbehavior.db-shm

-Removes permissions on /data/system/userbehavior.db-wal

-Removes permissions on /data/system/userbehavior.xml

8/30/11

Thank you to mike1986 of the awesome Sensation forum and the Android Revolution HD ROM for the initial idea, and smokin1337 for bringing it in mod form to the EVO 3D forums.

-DualCore support (my own twist). It sets the second core to run at half the speed of the first core as well as drops the minimum frequency to 192MHz on both cores.

-Compatible with scripts/apps that don't bother the second core.

-PowerSave script is not compatible or needed with this kernel.

-For Quadrant braggers, your scores will take a slight dip since Quadrant isn't optimized for dual cores. However, performance does increase.

8/31/11

-Minor ramdisk tweaks.

-Removed /system/etc/init.post_boot.sh from zip. No longer needed.

-A2SD support.

-594MHz second core now runs with a threshold of 40. (should be slightly better performing)

-Update4: 1.2GHz second core runs in sync with first core at 75 up-threshold.

9/1/11

-Fixed stuck-at-splash-screen.

-Removed A2SD for now.

9/6/11

Removed HTC IPC Server from ramdisk.

10/26/11

Updated kernels with HTC's ramdisk edits.

Added TrevE's ro.lb=unknown and ro.bootloader=unknown values to default.prop. TAKE THAT GOOGLE! Thanks TrevE!

Removed references to htc_ebdlogd

Set ANR (app not responding) history to 0

Set dirty_expire_centisecs to 100

Set capacitive lights to dim (2)

10/27/11

Added ScreenOff script

Added Uninstall ScreenOff script

1/13/12

Updated kernel

Added mpdecision (Thanks TrevE)

Removed insmod /system/lib/modules/qce.ko

3/12/12

Removed mpdecision and references to it in the kernel ramdisk

Updated unmodified and stock dual core kernels to include stock mpdecision so that users of the modified kernels can get mpdecision back when flashing unmodified kernels.

3/14/12

Changed loglevel to 0. Afterall, this is a stock kernel. The less logging the better.

Removed wimaxDumpKmsg

Removed wimaxDumpLastKmsg

Removed wimaxDumpLogcat

Removed bugreport

Removed loading and references to those files from the Kernel ramdisk. Don't worry, WiMax still works. If anything it will work just a bit better now that it doesn't need to worry about dumping any information to logcat and kmsg. :)

Updated unmodified kernel package to include missing files for those who want to go back to pure stock after flashing one of these.

Here are the changes from 2.08.651.3 ramdisk to 2.17.651.5:

init.rc
Removed:
mount debugfs /sys/kernel/debug /sys/kernel/debug

Added:
#set projector permissions
chown system system /sys/devices/platform/projector/interface/enable

Added:
on property:crypto.driver.load=1
insmod /system/lib/modules/qce.ko

Not exactly sure why insmod /system/lib/modules/qce.ko is in there. This file is not in the OTA or full ROM package. But it looks like it only gets called if crypto.driver.load=1, but even so, the file isn't there. Strange. Gonna go ahead and remove that. :)

HTC has made the following ramdisk edits with 2.08.651.3 but actual kernel version hasn't changed.

Here are the edits:

init.shooter.rc:
Added:
# to enable low charge current in voice call
chown radio radio /sys/class/power_supply/battery/charger_control
chmod 0660 /sys/class/power_supply/battery/charger_control

Removed:
# for vnc
service androidvncserver /system/bin/androidvncserver -a
disabled
oneshot

service usbnet /system/bin/usbnet on
disabled
oneshot

Removed (in bold):
on property:init.svc.bootanim=stopped
[b] start thermald[/b]
start mpdecision

Changed:
[b]FROM[/b]
service mpdecision /system/bin/mpdecision --Nw 5.4 --Ts 480 --no_sleep --avg_comp --single_core_while_panel_off
[b]TO[/b]
service mpdecision /system/bin/mpdecision --Nw 5.4 --Ts 350 --no_sleep --avg_comp --single_core_while_panel_off

Kernel information:

freEVO 3D-StockKernel 2.17.651.5.zip: Dual Cores active. 2nd core max frequency 1.2GHz, Up-threshold at 90 (Stock setting). Minimum freq at 192MHz.

freEVO 3D-StockKernel 2.17.651.5b.zip: Dual Cores active. 2nd core max frequency 1.2GHz, Up-threshold at 75. Minimum freq at 192MHz.

freEVO 3D-StockKernel 2.17.651.5c.zip: Dual Cores active. 2nd core max frequency 594MHz, Up-threshold at 90 (Stock setting). Minimum freq at 192MHz.

freEVO 3D-StockKernel 2.17.651.5d.zip: Dual Cores active. 2nd core max frequency 594MHz, Up-threshold at 75. Minimum freq at 192MHz.

Unmodified:

freEVO 3D-StockKernel 2.17.651.5ORIG.zip

Modified (dual cores left at stock settings):

freEVO 3D-StockKernel 2.17.651.5e.zip

Dual Core ScreenOff script:

freEVO-3D-DualCoreScreenOffscript.zip (1.2GHz version):

freEVO-3D-DualCoreScreenOffscript594.zip (594MHz version):

This will install the 70cputweak file in /system/etc/init.d/. To check whether or not it's working (and if your kernel supports init.d), with your phone connected to ADB, simply type or copy: "cat /sys/devices/system/cpu/cpu1/online" If it returns a 0 while the screen is off, that means it is working. You can also do "cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq" while the screen is off, and if it returns a 384000 then it is working. Keep in mind that you may also edit this file with root explorer or notepad++ to your liking, but you will need to reboot for it to take effect.

Uninstall ScreenOff script

freEVO-3D-UninstallScreenOffScript.zip: This will simply delete the 70cputweak file in /system/etc/init.d. You can accomplish the same thing from adb or root explorer.

NOTE: Please make sure that you don't have any other CPU controlling app such as SetCPU, virtuous OC/OC daemon, CPU Tuner/CPU Master, 98dualcore (from ziggy kernel/synergy) installed if you decide to use this, as they will most definitely interfere with this script and I haven't coded a failsafe to disable it in their presence. You can essentially accomplish what this script does if you use any of the above mentioned apps, but this is mainly for those who want to 'set it and forget it.' Also, SetCPU is most definitely not compatible with this method of dual cores, script or no script. It will return cpu1's online state to default and will render this script as well as the kernel useless.

NOTE 2: If you are going to install another kernel and would like to uninstall dual cores active always, you will need to flash either the unmodified or modified without dual cores kernel first with a reboot afterward, as the ramdisk method employed here will survive many kernel replacements that use Koush's anykernel updater. I've thought about using init.d scripts rather than ramdisk method but eventually decided on this way. Sorry for any inconvenience!

ENOUGH CHOICES? :)

HBOOT 1.5 users? or just want an easier way to flash things? Joeykrim has created a fantastic app that will allow you to flash kernels, among other things, directly from Android. Check it out here: http://xdaforums.com/showthread.php?p=16129916