The goal of this kernel is to have a central place for developers in the community, who don't want the burden to maintain their own kernel, to have a place to do so. Many times, developers who work on these devices constantly develop issues with others or don't have time to incorporate new features. Our goal is to avoid all that. Anything and everything will be accepted, granted it doesn't break anything. @show-p1984 has been kind enough to not only host the source but grant the use of his buildbot for this project. Every time source is pushed, the bot will start to build the kernel, zip up the package and finally upload it to my goo.im account. If you'd like to become part of this project then go ahead and reach out to me on twitter (@jassycliq) or PM me on here. My short term goal for this kernel is to add all the hotplug drivers available for mako and incorporate them into this one kernel. As it stands we can only use Qcom's binary, show's mpdecision and faux123's intelli-plug as they have switches to turn them off. These can be changed on the fly, as long as the user turns off all the hotplug drivers first then turns on the desired hotplug method. I'd also like to have an app that can control this, well a proper application to be exact.
* CPU OC up to 1.9ghz, Default to 1.5GHz
* CPU UC down to 162mhz
* UV down to 600,000uVolts
* Intelli-plug hotplug driver
* Qualcomm's MPDecision
* MSM MPDecision (kernel based mpdecision)
* Dynamic FSync
* Snapdragon S4 and Krait optimizations
* 3-Phase Thermal
* GPU OC up to 487mhz
* Faux's Gamma Interface
* Faux Sound/Speaker Control
* Fast Charge
DEADLINE (tuned for flash devices)
* Advance TCP Congestion Control
* Compiled with gcc 4.7.3 (Linaro 4.7-2013.04)
* -Ofast optimized
* WLAN, TUN and CIFS compiled as modules due to size of kernel from the high amounts of optimizations
* OTG support
* Too much to write!
Choosing between the 3 hotplug drivers
This kernel comes with 3 hotplug drivers (intelli-plug, qcoms mpdecision and kernel based mpdecision) by default only Qualcomm's MPDecision is used. To turn one of the others you must use their respective sysfs interfaces after turning off the one's you're not using. To make it easier for you, I have included a small little application that helps you turn through this. If you'd like to make an init.d script to choose which one you want on boot then use the following commands
For kernel based mpdecision
echo "0/1" > /sys/kernel/msm_mpdecision/conf/enabled echo "0/1" > /sys/kernel/msm_mpdecision/conf/scroff_single_core
echo "0/1" > /sys/module/intelli_plug/parameters/intelli_plug_active echo "0/1" > /sys/module/intelli_plug/parameters/eco_mode_active
start mpdecision stop mpdecision
Why do I have no WLAN?
Due to this kernels very high optimization settings it is too big for our boot.img with WLAN included into the kernel, so it is built as a module. That means it needs to be inserted into the kernel upon boot up, which needs to be automated for maximum comfort = userinit (init.d) support.
The zip adds init.d support to your ramdisk, if that fails for some reason the wlan module cannot be inserted.
adb shell lsmod
tun 14701 0 - Live 0x00000000 cifs 275399 0 - Live 0x00000000 wlan 2964650 0 - Live 0x00000000 (C)
You can test it by going to /system/etc/init.d/ and executing 00wlan.
adb shell su . /system/etc/init.d/00wlan
If WLAN now works, init.d support is missing.
You need to have busybox installed in order to be able to get init.d support going, this shouldn't be a problem for most people, since it is usually installed when rooting your phone anyway.
It does not matter if busybox is installed in /system/bin or /system/xbin, my script will detect the location upon flashing and patch the ramdisk accordingly.
If no busybox is found, the script will add init.d support to your ramdisk with the default location: /system/xbin/busybox. All you need to do is install busybox there and reboot your phone.