[myTouch 4G Android Development] faux123:
NOTICE: I am changing the title of my kernel thread to be clearer. ALL FROYO AOSP ROMS:

Froyo MIUI (Evil D and Gr8Gorilla Ports),

Liquid Metal Ports,

CM6,

G2 and any other Froyo AOSP ROM series​

All Froyo Sense ROMs should use my Froyo Sense Kernel

All Gingerbread ROMs should use my Gingerbread Kernel

Hi XDA members and fellow MT4G users:

This is my THIRD kernel hack. I want to thank Grankin, Gr8Gorilla, Erasmux, dumfuq, Cyanogen, Zinx, Snq, Pershoot and several others I cannot recall for inspiring me to venture into this unfamiliar territory for me.

What is a Kernel? The Kernel is the Foundation in which everything else builds upon in any software system.

[Car Analogy]: Kernel is like the Engine, Electrical system and the Transmission to a car. The Library, Framework and the Apps [AKA ROM] are the body frame and the rest of the Car.

​

Updated Note: Newest ClockworkMod Recovery VERSION 3.0.0.6+ IS COMPATIBLE with this Kernel.

(NOTE: My Froyo kernel DOES NOT format EXT 4 file system directly -- Orange Color Text -- ClockworkMod Recovery 2.5.1.4 or 3.0.0.5, so if your existing kernel is using using EXT 4 file system, you need to restore back to ClockworkMod Version 2.5.1.2 -- Green Color Text --, then WIPE EVERYTHING include Cache, System and Data)

My goal for this Sense Based Kernel is to provide maximum Sense ROM compatibility, and only apply updates/patches/enhancements once I understand how they work and their cost/benefit to the kernel as a whole...

Please DO NOT use any task killers, they DO NOT improve performance nor battery life. They INTERFERE with your phone's stability (more crashes) and App compatibilities (Forced Close).

My kernel is based on the HTC source code directly from developer.htc.com.

MinMax Governor (Battery Saver)

This governor will try to minimize the frequency jumps/changes which cause voltage spikes/changes which supposedly drains more battery life... Supposedly designed to work with SetCPU... so give it a whirl...

SmartAss Governor (Balanced)

This governor has a built-in "profile" similar to SetCPU, so screen off will use lower clock rate thus conserve more battery, but it also has a fast wake up feature so that user interaction will not see the lag when switching from Sleep to Wake state.... (So SetCPU Profiles are sorta redundant when using this governor, you can still use SetCPU to OC to higher than default Clock frequency).

Interactive Governor (Performance)

This governor is designed to put more priority to User Interface (UI aka Apps) tasks, therefore appears more responsive then the traditional OnDemand governor. So if you want the smoothest UI interaction, this governor is for you...

Brain F*ck Scheduler - (BFS)

This scheduler is designed to be simple and speedy tailor specifically for user interface type systems such as desktop/smart phone devices where user interaction is MORE important than serving 1 million web requests at the same time (think of nimble desktop workstations vs large corporate servers). CM7 main line is using this as its default scheduler, now I bring you the same performance as CM7 with compatibility to Sense Series ROMs.

SLQB - (SLAB allocator with Queue)

This memory allocator is designed for small number of CPUs system (such as desktop or smart phone devices). This allocator is design to be simple and it is optimized for using order-0 pages as much as possible (order-0 pages are the simplest therefore quickest type of memory in a Linux system to allocate). Not all kernels are using SLQB including CM7 main line...

Fair Budget Queue (BFQ I/O scheduler)

This I/O scheduler is an improvement on top of Completely Fair Queue (CFQ). CFQ is fair in terms of time but not in terms of throughput / bandwidth, so BFQ make sure that both time and throughput / bandwidth are balanced across all requests.

Installation Instructions:

Here's a step by step instruction to install this kernel to work with Froyo based ROMs:

[ Aurum Edition :D ]

[ CFS-Smartass ]

The File ==> Version 2.0.0 CFS Low Voltage <==

The File ==> Version 2.0.0 CFS Stock Voltage <==

[ BFS-Interactive ]

The File ==> Version 2.0.0 BFS Low Voltage <==

The File ==> Version 2.0.0 BFS Stock Voltage <==

[NOTE]: If your WiFi driver is working but somehow are are UNABLE to connect, you need to apply the following Patch:

Patch 1: WPA_Supplicant

Post your problem IN DETAIL:

A [good example] of error reporting... (from vinsane)

Here's a template to use if you don't know how to report your issue

1. download the above file (via phone directly or to a PC)

2. copy the downloaded zip file to /sdcard/download/

3. Open ROM Manager and select "Reboot into Recovery" and select "OK"

4. Once in recovery, select "wipe cache partition", select "Yes", then select "advanced", then select "Wipe Dalvik Cache", then select "Yes" again. Once finished, click the back button to go back to the main recovery menu. On that menu, select "Install Zip From SDCad", then select "Choose zip from SDCard", then go to /sdcard/download and select the downloaded zip file and let it run its script.

5. Once the script is done, select "reboot system now"

After FLASHING, the first reboot may take longer than usual, please be patient (rebuilding cache structures)... After the first reboot, it may lag during initial load (let everything finish loading). Once everything is loaded and phone is ready for use, reboot the phone a 2nd time and the lag will be gone and everything should be silky smooth...[more detail]

NEWS BULLETIN:

Version 2.0.0 is OUT! :mad: Completely rebuilt from scratch from CM source code. Added many technologies back, added LOTS and LOTS of optimization.

BFS is BAAAACK... :D

Geek Talk Below:

Froyo AOSP kernels were sufficiently different from the HTC Sense Kernels, so I have no choice but to create another kernel for Froyo AOSP ROMs such as Liquid Metal, MIUI, CM6, G2 or any ROM series with AOSP roots...

BUGS:

None so far...

TO DO:

Don't know yet...

History:

Version 1.0.0 (Deprecated)

Split from Froyo Sense Kernel, based on CM7 GB kernel back ported to Froyo

Version 1.5.0 (Deprecated)

Added Native CIFS+UTF-8 support (no need more cifs.ko and utf-8.ko)

Added Native VPN support

Added Native gan-eth support (WiFi Calling)

Added FUSE FS (file system in user space, same as CM7)

Updated core Linux Kernel version from 2.6.32.33 to 2.6.32.36

Fixed WiFi compile option (should fix WiFi issues)

Updated Battery Driver from HTC Thunderbolt kernel

Updated LED Driver from HTC Thunderbolt kernel

Updated Power Driver from HTC Thunderbolt kernel

Updated SPI Master Driver from HTC Thunderbolt kernel

Updated MMC/SD Driver from HTC Thunderbolt kernel

Updated USB Dock Driver from HTC Thunderbolt kernel

Version 1.5.6 (deprecated)

Revert back to original CM6 WiFi driver

Revert back to original CM6 USB RNDIS driver

Updated CPU Freq Table 536MHz -> 576MHz from using PLL_2 to PLL_3

Update SmartAss Governor to use new 576MHz as max wake up frequency

Version 1.5.7 (deprecated)

BFS scheduler is back!

Compiled with newer toolchain from 4.4.0 to 4.4.3 [more optimization = better performance]

Version 1.6.0 (deprecated)

Patched to latest stable kernel version 2.6.32.41

Patched Youtube video while screen off crash bug

Version 1.7.0 (deprecated)

Revert to old Video Codec

Version 2.0.0 (Current)

Rebuilt FROM SCRATCH based on CM source code

Added BFS

Tweaked SmartAss

SLAB, BFQ default

Fixed YOUTUBE/Video issues FOR GOOD

Compiler, Video, Process and many other optimization added

Standard Disclaimer: Not responsible for bricking your phone, voiding your warranty, or any other pain or suffering you may feel as result of using this kernel!!!

Follow me on Twiiter :

My Github Complying with GPL :D

If you find this Kernel useful, feel free to hit the [Thanks] button below ;)