[KERNEL-ICS] Leankernel-Minimalistic Kernel (stable 3.9.0 / exp. 3.9.0-V6)

  • 515 Antworten
  • Neuester Beitrag
Diskutiere [KERNEL-ICS] Leankernel-Minimalistic Kernel (stable 3.9.0 / exp. 3.9.0-V6) im Custom-Kernel für Galaxy Nexus im Bereich Root / Hacking / Modding für Galaxy Nexus.
Michael M.

Michael M.

WICHTIGER HINWEIS: Weder ich, noch Android-Hilfe.de, übernehmen eine Garantie auf Erfolg, oder die Haftung für jegliche Beschädigungen an eurem "Samsung Galaxy Nexus". Wenn ihr nicht sicher seit, was ihr macht, könnt ihr hier gerne Fragen stellen, aber wenn ihr danach immer noch nicht genau wisst, was ihr tut: Lasst es bleiben!

Der gesamte Dank geht an imoseyon

This is a minimalistic Galaxy Nexus kernel (ignore the filename - i hear the kernel works for both gsm and cdma, cmda kernel thread).


  • Three Builds
    • 1) stable
    • 2) experimental 180mhz: 180mhz to 1.65ghz
    • 3) experimental 230mhz: 230mhz to 1.65ghz
    • Note experimental builds will have the following features in addition to the extra freq slots: [font=Roboto, helvetica, arial, sans-serif][background=rgb(247, 247, 247)]notrim + gamma control + sound control + vibe control + SIO scheduler default + tcp_veno default + hotplugx optimization for high freqs. SmartReflex is also enabled by default.[/background][/font]
  • Patched to latest in Linux 3.0.x branch: 3.0.26, which was released 3/23/12 (lots of new/updated kernel code).
  • All unnecessary kernel components removed to make kernel lean and fast!
  • OC to 1.35Ghz (Michael Huang, optimized by me). Boot speed is maxed at 1.2ghz within kernel (in addition to ramdisk) for stability.
  • GPU overclock to 384mhz and undervolted.
  • User voltage control (Michael Huang, fixed and enhanced by me).
  • InteractiveX V2 (screen-off hotplug of cpu1) added. Select it using setcpu if you want to use it.
  • Ramdisk tweaks (sysctl, vm, filesystem speed, etc.)
  • SWAP & zram (next generation compcache) support. Run "zram enable" in terminal.
  • init.d support in ramdisk.
  • HotplugX governor (Hotplug optimized and modified for screen-off suspend).
  • cpufreq backport from Linux 3.4rc
  • rcu code backport from Linux 3.3
  • wakelock tweaks for wlan and lte modem
  • other linux 3.2/3.3 backports: dm, futex, voltage regulator, memory compaction, etc.
  • Undervolted by default (1.35ghz/1325, 1.2ghz/1300, 920mhz/1250, 700mhz/1150, 350mhz/950)
  • lkflash - script to flash latest versions of leanKernel from Terminal (type "su" without quotes, hit enter, then type "lkflash" without quotes and then hit enter)
  • checkv - voltage checking script (for custom undervolting) - detailed at bottom of this post.
  • checkt - script that displays 1) your current temp, 2) # of times you were throttled due to temp "recently", 3) CPU trim type, and 4) CPU silicon type. (sample output)
  • Fast USB charge (by chad0982) and "ffc" toggle script by me. (Open terminal, and type "ffc" without quotes then enter)
  • ColorControl from both CM9 and Ezekeel (compatible with all ROMs). Helpful posts: 1and 2.
  • TempControl - sysfs interface to control the CPU temp threshold. Read these two posts: 1 and 2.
  • Variable GPU OC - sysfs interface to select GPU max speed between 307MHz (stock), 384MHz and 512Mhz. The changes take effect immediately. Check FAQ for more info and how to use it.

(* next to version indicates versions that were general regarded as rock stable)
  • v1.0.0 - Initial release
  • v1.0.1 - Fixed power off charging (only upgrade if you care about that).
  • v1.1.0 - rcu code updated to linux 3.2-rc7, boot speed max forced to 1.2ghz within kernel (stability), hotplug governor should be more stable now, zram enabled including custom enable script (run "zram enable" in terminal), small bug fixed in voltage control code.
  • v1.2.0 - interactiveX V2 with hotplug support, user undervolting works now, and all speeds undervolted by default (clear setcpu settings before flashing), ALSA SoC driver updated to 3.2-rc7
  • v1.2.1 - reverted a dep voltage change I made in 1.2.0. Only update if you're experiencing stability issues in 1.2.0 (if your coming directly from a version prior to 1.2.0 make sure you clear custom voltage settings)
  • v1.3.0 - re-wrote a lot of my user undervolting code (fixed some bugs and probably introduced others - haha), updated dm and futex code to linux 3.2, gpu undervolt at top speed, some code cleanup. (clear setcpu settings before flashing). Oh one more thing: undervolting 1.35ghz and higher is not reliable yet and is not recommended.
  • v1.4.0 - updated to Linux 3.0.15 (small release), voltage regulator driver from Linux 3.2, omap clock data updated from latest official omap source.
  • *v1.5.0 - updated to Linux 3.0.16 (big update), more accurate/reliable user voltage control for frequencies less than 1.35ghz.
  • v1.6.0 - read this post.
  • v1.6.1 - *battery drain - being fixed*, updated to Linux 3.0.17, fixed potential memleak in slub allocator, small omap4 update from android-omap source.
  • v1.6.4 (pulled - stay tuned) - moved some of the features off of 1.6.1 (but kept them in experimental) in order to fix/pinpoint potential source of battery drain possibly introduced in 1.6.1. You do not need to upgrade from 1.6.1 if it's working fine for you. Cpufreq updated to Linux 3.3.
  • v1.6.6 (bd0730ad3f57e050942356b647821256) - Fixed pm_suspend bug introduced by the Linux 3.0.17 patch *this fixes battery drain issue in 1.6.1 and 1.6.4*. Where's 1.6.5?
  • v1.7.0 (a7f3d241d68fd48c9f216e8399226e9d) - a bunch of fixes and updates from android-omap source including the hotplug fix, deadline scheduler updated to linux 3.2.
  • v1.7.1 (c2d0d4c59c198bb3f2281f164442ac0f) - removed some omap patches from 1.7.0 that may have been causing issues.
  • v1.7.3 (049a8ce4be0f0a392d6c0b694de1ad73) - went back to 3.0.16 base as I suspect there were more things in 3.0.17 causing subtle issues in releases newer than 1.5.0. Added a fix to reduce screen unlock lag in interactiveX. Brought back some of the OMAP patches from upstream android-omap source.
  • *v1.7.4 (3619144bee4cd86883692b48971ee5f8) - applied the rest of OMAP patches from android-omap source. Partially updated to 3.0.17. Wireless ADB support (if ROM has built-in support for it).
  • *v1.8.0 (7ddb6ac13d01ceaeed25b83ab13afb8c) - Updated to Linux 3.0.18 (big update - lots of fixes/changes). An omap driver fix. A fix for stalling RCU processing. Ramdisk changes for CM9 (or CM9 based ROMs) compatibility. This version should theoretically be smoother than the previous versions.
  • v1.9.0 (f703a8912d4dd19f82cc4bf17f37f1cd) - detailed log here.
  • *v1.10.0 (e9f2c4f2b458ddddeebfba842bb51756) - updated to Linux 3.0.20, completely modernized memory management compaction/migration code to Linux 3.3-rc3 (which also includes backporting much of the mm code)
  • v2.0.0 (a6a518d0a243c071ef6c02445acf2645) - detailed log here.
  • v2.0.1 (d9457f5fd0d9a74bc1c7fe37e1856907) - custom UV related issues (haptic feedback, volume, etc.) fixed. Custom UV code improved.
  • v2.1.0 (3362b0879e8a11681dc3e78eef38e4aa) - detailed log here.
  • v2.2.0(41296a907dd27cbc25593dbbda0e7fe0) - detailed log here.
  • v2.3.0 (c024897dd55ec4789fb998adb957a855) - detailed log here.
  • v2.4.0 (6e528aa35a51fc526939be2d51b4c295) - detailed log here.
  • v2.4.1 (be8d706f851b2700e035b8bd49abe27c) - detailed log here.
  • v2.5.0 (793c7be3b35ab35beef3fa1797405378) - ColorControl, TempControl, ext4 optimizations
  • v2.6.0 (dc015f7c87ac5282ed1693063bd8a24a) - detailed log here.
  • v2.7.0 (a0a1b5c5de6ae103ce1cbf852fb8990d) - detailed log here.
  • v2.7.1 (a87b733e31aa9b7a0c447a76f2b5c708) - ColorControl modified to support CM9/AOKP interface as well. (no need to upgrade from 2.7.0 if you don't use colorcontrol)
  • v2.7.2 (e4d355c0e54ac5c3cbf5b9123e12eb9f) - ramdisk modified for better cm9/aokp compatibility, and better init.d support. Also includes "board" script for detailed board/soc info.
  • v2.8.0 (5b3b31519133cebe67348b76ae349bc8) - detailed change log here.
  • v3.0.0 (0647d8590403eb4921f7f148216841ae) - Merged AOSP 4.0.4 kernel/ramdisk source.
  • v3.1.0 (7064aec889d9ce92d380090d7ed0b3aa) - changelog
  • v3.2.0 (8c41c4de4b0a62cdeee89686405401a5) - changelog
  • v3.2.1 (30190db201f6dcabe318e26c0312c1d2) - reverted omap SR patch that prevented undervolting, interactive (and iX) tuned for extra power saving when screen is off.
  • v3.2.2 (1d6df86cb5fe6c1644f16d847abdbe85) - reverted a few patches from 3.2.1 to address a few cases of instability, a small colorcontrol fix, small timed_gpio fix.
  • v3.3.0 (137955e83ca267b10d2b74dbdf360f99) - changelog
  • v3.4.0 (9b5f99954de4bbbca01e4701fa04037c) - changelog
  • v3.5.0 (06ceb50e1155293f86bf4c1e4469fc89) - changelog
  • v3.6.0 (06ceb50e1155293f86bf4c1e4469fc89) - changelog
  • v3.7.0 (06ceb50e1155293f86bf4c1e4469fc89) - changelog
  • v3.8.0 (b45b2f01d9c671ff110a6bc7b2d928ad) - changelog
  • v3.9.0 (c9cc99bb53928f643b04161a5ffedcbe) - changelog

Uh.... flash the zip in clockworkmod.


Donate to your favorite charity, or donate to me.


Originalquelle: [kernel] Leankernel: Minimalistic Kernel (1.4.0, 1/7/12) - RootzWiki
Zuletzt bearbeitet:
Michael M.

Michael M.

  • How do i change voltage? - Use the latest version of setcpu.
  • Do i need to wipe dalvik/cache? - in general there's no need, but it doesn't hurt so if you have time go ahead.
    I don't wipe.
  • ​Can we OC higher or add more frequency slots? - You can find the extra slots in my experimental versions.
  • ​What are the lowest acceptable voltage settings? - Check this thread for postings/screenshots of others who have undervolted successfully.
  • ​Will this work on GSM gnexus as well? - It should. I don't have a GSM phone to test so let me know if it stops working.
  • When i hit "apply" in setcpu, it appears to hang for about 10sec. - that's normal! Read this post.
  • What is interactiveX V2? Read this post and this post.
  • Are you getting Screen-Off Death (SOD)?
    Before you post here (especially if you're running the experimental version), try the following steps in order:
    0) dude, disable screen-off profiles if you're running interactiveX.
    1) If you're running the experimental version, do you have 180mhz and/or 1.42ghz slots enabled? If so disable them both!
    2) If the above doesn't help, do you have custom undervolting enabled? If so disable it! (keep in mind that the kernel is already undervolted by default).
    3) If the above doesn't help, are you using interactiveX or hotplug governors? If so change to interactive.
    4) If the above doesn't help then you should not be running the experimental version. Install the stable version and try both interactiveX and interactive without custom undervolting.
    If you're still getting SOD with stable/interactive, report it here.
  • What about call-recording? - First the app needs to support Galaxy Nexus. Find out if it does and then find out from the author of the app what kernel changes are required and let me know.
  • Should i set up screen-off profile? - ICS kernels have built-in screen-off profile for all governors at 700mhz. So you don't need it unless you want to set it lower than 700mhz. In general there isn't a whole lot to gain by setting it lower.
  • Hotplug vs interactiveX? - Read this post.
  • If you are undervolting:
    1) HIGHLY RECOMMEND you re-do calibration (undo existing voltage settings, flash new kernel, redo voltage settings).
    2) HIGHLY RECOMMEND you use the "checkv" script while you calibrate.

    checkv - this script will check your nominal and calibrated voltage for every frequency. It will also help accelerate the smartreflex calibration process. You don't need to run it at every boot - it's available as a tool to help with the custom undervolting process. It is safe to run at any time.

    To use checkv: after setting voltage, open terminal, type "su" without quotes then enter, type "checkv" without quotes then enter.

    sh-3.2# checkv
    leanKernel Voltage Checker
    Nominal Voltage - This is the voltage we choose as the starting point.
    Calibrated Voltage - Best voltage chosen by SmartReflex.

    Make sure that your screen is turned on...

    350000: nominal 825000, calibrated 825000
    700000: nominal 975000, calibrated 975000
    920000: nominal 1075000, calibrated 1070000
    1200000: nominal 1200000, calibrated 1200000
    1350000: nominal 1200000, calibrated 1200000
Zuletzt bearbeitet von einem Moderator:


Kernel läuft auch einwandfrei mit GSM Gerät.


Hab ja ALLE Kernel getestet. Dieser ist bisher der beste!
Sehr stabil und Battery drain sehr gering!


Fortgeschrittenes Mitglied
Habe ihn nun auch drauf...wenn ich negative Erfahrungen mache, sage ich bescheid!


klingt ja schon mal alles sehr vielversprechend, vor allem mit dem UC auf 180mhz..

Könnte mal bitte jemand der ihn scho drauf hat die Frequenz-slots und die dazugehörigen Spannungen posten?


Das Gleiche hier...hab die 1.1.1 drauf... bisher einfach nur Goil :flapper:


welche version habt ihr alle am laufen?

Die stable oder die experimental?


boshot schrieb:
welche version habt ihr alle am laufen?

Die stable oder die experimental?


Hab die experimentelle drauf!
Absolut 1a!!


Fortgeschrittenes Mitglied
Bei mir ist es die stable...absolut nix zu meckern!


was kann man denn so rauslöschen?




Erfahrenes Mitglied
Schätze er meint das:
All unnecessary kernel components removed to make kernel lean and fast!
Aber ein Bezug wäre in der Tat nicht schlecht.


Z.b. jede menge unnützen debugcode. (Der normal sonst immer mitläuft)


Läuft hier seit dem ersten Release und das stable. Ich nutze auch die experimental Version. Ob UV wirklich funktioniert sei dahin gestellt mehr dazu im Original Thread im Rootz Forum. Selbst ohne funktionierendes UV absolut unschlagbare Akku Laufzeit.


ok weil dachte ist für schlanken code bekannt oder war das mal. deswegen hätte ich nicht gedacht das es groß optimierungen gibt oder google selber da noch luft lässt. die haben ja schließlich android auf die beine gestellt.


Auch Google baut sicher code ein der nicht zur eigentlichen funktion dient, sondern für irgendwelche analysen oder sonstiges.

Hab jetz auch mal die experimental v1.1.1 drauf...mal gespannt was das UC mit dem 180mhz schritt bringt..
Und auch sonst auf das verhalten des kernels gespannt..

Habt ihr ne govenor empfehlung? Aktuell bin ich auf interactivex.



Ich hab hotplug als gov und bin immernoch begeistert!

Vor jedem Kernelwechsel mach ich immer im Recovery wipe cache und wipe dalvik cache.
Macht das nochjemand oder bin ich da ein Exote?


Erfahrenes Mitglied

Verfahre auch so bist schonmal nicht alleine :)


Erfahrenes Mitglied
Hab die exp3 und interactivex. Soll ja Anteile des hotplug beinhalten.
This version includes interactiveX V2. It's interactive with early_suspend (screen off) support, and when it suspends it hotplugs out cpu1! In other words, it shuts down the cpu entirely. Then when screen is turned on, cpu1 hotplugs back in.
Läuft super.

lordofcamster schrieb:
..Vor jedem Kernelwechsel mach ich immer im Recovery wipe cache und wipe dalvik cache.
Macht das nochjemand oder bin ich da ein Exote?
Nein, mach ich nicht. Nur cache wipe falls Probleme auftreten. Passierte bisher aber nie ;-)