I'm by no means a pro at kernel building but I've put lots of effort into this kernel so I thought I'd share it with you. After a very long inner conflict period I've decided to post in the android development forum instead of the original android development. I've included features of my own as well as patches and other features of many other top notch kernel developers. I would prefer if you make your way over to my source (link below) and read the commits so you can get to know them and how they have contributed but alas I not that naive enough to think any of you really would actually go and do that so I've included a nice feature list in post 2 with proper credits (at least for the big stuff).
I am a huge fan of giving you options which is why I build my kernel with multiple toolchains for you to test out and decide which option you find works best for you. You'll notice that besides my two favorite toolchains (Linaro 4.9 and UBERTC 4.9.3) I also build a Google 4.8/4.9, UBERTC 4.8/4.9, Linaro 4.9 kernel about once a week or so. Give them all a try and decide which you like best!
I also made a Release Folder that contains kernels that do not contain any CPU or GPU overclock to keep things more stable for you. This kernel is built with UBERTC 4.9.3 since I feel like that give the best battery. Choose this option for stability.
I frequently get asked if this kernel works with the many AOSP projects. The answer is YES! I haven't found an AOSP ROM yet that won't boot with this kernel. The only potential issue is that the ROM you flashed this kernel with has modified the ramdisk from stock or doesn't have a root containing sepolicy for Lollipop. Make sure to flash back to a stock ROOTED kernel and then flash UBER. My kernel uses you ramdisk while flashing for great ROM compatibility but sometimes this backfires.
Do not flash on CM or CM-based ROMs! This kernel is not currently compatible with those "CAF-based" ROMs.
WARNING!!! Even though I don't post anything unless it works (in this case on most if not all AOSP ROMs) I still don't want to be liable for user errors. In other words, if you flash one of these Kernels your warranty is void and I AM NOT RESPONSIBLE for any data loss or bricked devices etc.
For more info see this video
[AOSP 5.0 UBER KERNEL LINKS]
Main Download Site: http://uber.oceighty.co/HAMMERHEAD/UBER-L/
*Note: AOSP Browser is not compatible with uber.oceighty.co. Make sure to use Chrome or Firefox if you choose to download from your phone.
Mirror (Just in case): https://s.basketbuild.com/devs/Cl3Ke...ERHEAD/UBER-L/
If you still want access to Kitkat Kernels Go to:: https://s.basketbuild.com/devs/Cl3Ke...MMERHEAD/UBER/
Comprehensive Changelog of Everything (Aka Source Code)
If you are unsatisfied with UBER you can uninstall it. Here is the link to the uninstaller http://d-h.st/y1kCode:UBER Changelogs 3/20/15 - Merge 5.1 Kernel Sources 3/06/15 18c1482 mmc: Do not build tests 564473b diag: Make fixes to diag_switch_logging a4a108b Readahead: Optimize divide/multiply by power of 2 using L/R shift ab96dc0 eCryptfs: Remove buggy and unnecessary write in file name decode routine 5c1fc3f mmc: core: Silence log spam 2/28/15 - Merged latest Color Drivers for N5 (neobuddy) - Changed Toolchains from SaberMod (Now partially closed source so that you cannot build for yourself anymore) to an AOSP-based open source toolchain called UBERTC. Many patches from Linaro have been included in source and also some GCC build fix patches from SaberMod to allow for the latest toolchain components. All sources are GPL and can be found https://github.com/UBERTC/. New toolchains have less of a tendency to lag in scrolling and other screen transitions in comparison to SaberMod and I think are better suited for UBER. 01/31/15 - Merged 3.4.106 - Bugfix: Small Potential Memory Leak 01/31/15 dcd2770 memory hotplug: reset pgdat->kswapd to NULL if creating kernel thread fails 4028fbb memcg: further prevent OOM with too many dirty pages 86aa61a memcg: prevent OOM with too many dirty pages 04848e5 kernel: cgroup: push rcu read locking from css_is_ancestor() to callsite fed88ee mm: vmscan: remove reclaim_mode_t 28907d4 mm: vmscan: do not stall on writeback during memory compaction fdc5efe mm: vmscan: remove lumpy reclaim ecb6e1a mm: remove swap token code 3786e5f sched: Fix reference to stale task_struct in try_to_wake_up() 6ced785 KEYS: close race between key lookup and freeing 3604d7d ARM: pull in <asm/simd.h> from asm-generic c48e1eb msm: watchdog_v2: Print IRQ during bark 4e46170 ASoC: msm: qdsp6v2: Silence some noise 5466e82 net: wireless: bcmdhd: Silence some unnessecary noise c726ad0 netfilter: x_tables: Silence some debug info bd23093 Defconfig: Remove lots of Debugging 5cfb502 Makefile: Make more consistent ba54a8f Makefile: -O3 instead 1cc151d Makefile: Disable annoying warnings c8fe6d2 Makefile: Rethink flags and ordering d5d8089 Makefile: Add -floop-nest-optimize everywhere d55d009 block: Tune SIO and remove dead code/white spaces f11eac5 Makefile: Try floop-nest-optimize
JOIN MY DEVELOPMENT COMMUNITY ON GOOGLE PLUS (CLICK LINK) Come join for more fun! I've got some tutorials, ROMs, and other things I share with community members and well.Code:* Based upon Google's msm 3.4.y source for Hammerhead * Updated to 3.4.106 from Kernel.org * MultiROM Compatible (has Kexec patch) * Compatible with Stock as well as AOSP projects (CAF-based do not work sorry CM fans, CAF-kernel is just not as stable and battery friendly imao so I'll stay AOSP for now). If it doesn't work on a ROM let me know!!! * CPU Governors added: Intellidemand, Intelliactive, Adaptive, Lionheart, AbyssplugV2, Ondemandplus, Badass, Wheatley, Hyper, Lazy, PegasusQ, Nightmare, DanceDance, Darkness, Slim, Intellimm, Optimax. and Uberdemand * GPU Governors: Performance, Ondemand, and Interactive (Franco) * IO Schedulers: Noop, Deadline, VR, SIO, ROW, CFQ, BFQ, FIOPS, FIFO, ZEN and Tripndroid * Compiled with Custom Linaro ARM EABI 4.9.3 toolchains (Cl3Kener) (see https://github.com/UBERTC/) * Compiled with Custom Linaro GNUEABI 4.9.3 (Christopher83) * Compiled with Custom UBERTC 4.9.3/4.8.4 (Cl3Kener) (see https://github.com/UBERTC/) * Compiled with Google 4.8/4.9 (Google Obviously) * -Ofast optimized with neon and graphite enhancements (Cl3Kener) * Linaro compiler flags for greater optimization build wide (Cl3Kener) * Snapdragon & CortexA15 optimizations (Tons of Contributors) * Non-Stock Hotplug and Thermal regulator (from showp1984) * Touch Boost - Showp1984 (comes with hotplug) * GPU OverClock up to 650 MHz (27 MHz is still default idle with lowest frequency being underclocked to 100 MHz) (Cl3Kener) * Allow CPU OverClock up to 3.0 Ghz (Cl3Kener) * Allow CPU UnderClock to 96Mhz (showp1984 implementation) * L2 Cache OverClock (flar2) * Ramdisk Edits on the fly for greater compatibility. (Strongly based on Showp1984 implement) * Undervolting Control (Franco) * LZ4 support implemented kernel wide - fastest compression/decompression available (Cl3Kener) * Google Snappy Compression/Decompression support (just in case you want it) * XZ Compression to latest 3.17.y (Cl3Kener) * KSM (Kernel Samepage Merging) * Faux Sound (Faux123) * Franco Sound (Franco) * Sweep2Wake, Sweep2Sleep, Double Tap 2 Wake (Showp1984 with Faux123 verticle s2w support and flar2 dt2w enhancements) * Powerkey suspend for S2W/DT2W (Flar2 version) * Wake timeout for S2W/DT2W/ (Flar2) * Dynamic and Asynchronous Fsync (Faux123) * USB Fast Charge with many voltage options (Faux123) * Gamma Control (Various Contributers) * Color Control (savoca) * Fstrim (reduces lag see more: http://man7.org/linux/man-pages/man8/fstrim.8.html) * ExFat Support (you'll need to load it via this init.d https://www.dropbox.com/s/tfm8k9vmskuhs4v/loadexfat) Updated to latest version (Neobuddy) * Low Memory Killer - Many patches from Neobuddy * Zram support upstreamed to 3.17.y branch (Cl3Kener) * Zram supports lz4 compression now (kernel.org) * Zcache, and Cleancache support updated to 3.14.y (Cl3Kener) * BLX - Battery Life Extender (See here http://forum.xda-developers.com/nexus-s/development/mod-battery-life-extender-blx-t1257497) Ported by Ayysir to msm8974 devices * F2FS file system support from Samsung * Mount internal storage as CDROM (Frozen Cow) * Advanced TCP Congestion Options (Veno as default, all 12 from http://kernel.org) * Stereo Call Recording Support * Uber.cfg for tuning kernel thanks to @janres155 & @Williamsss * Many patches to improve various parts of the kernel (see source) * Full Source including defconfig is available for you use/learn from. (Not a feature but I feel it is important that my source is complete so you can build directly from it if you want to learn and experiment)
1. For best results a install these kernel after a fresh ROM install (although it still should work if you don't do that)
2. Reboot into recovery (TWRP 2.8+ or compatible recovery)
3. Flash Kernel Zip
4. Reboot and let Settle for ~10 minutes (optional but recommended)
5. Navigate to system/etc/uber_v1.3.cfg using your favorite root file browser and change values based on descriptions to whatever you want.
Note: In Android Lollipop while Superuser kinks are still being worked out you may need to reflash root after you flash kernel.
CREDITS & SPECIAL THANKS TO:
Dennis Rassmann - for all of his kernel work. I'm in love with all of his features and you'll find them all in my kernel.
Ayysir - for his wonderful tutorial on making a bash script to build kernels.
Other great kernel devs Francisco Franco, Faux123, Flar2, Neobuddy89, FrozenCow, Christopher83, Savoca, Hellsgod and any other mentioned in the above feature list or changelog - I cherry-pick work of all of the kernel greats!
Google - for kernel base and Android Open Source Project!
Linaro - for some really great toolchain patches!
Code Aurora Forum (CAF) - for some really great kernel patches!
Gnu.org - for always improving the C Compiler for better made code!!!
SaberMod - for making patches to fix any errors in GCC code!
LG - for manufacturing this awesome phone!
UBER Kernel sources can be found at https://github.com/Cl3Kener/UBER-L
Toolchain Sources can be found at https://github.com/UBERTC/
Config Sources can be found at https://github.com/wSedlacek/cfg
Comprehensive Guide to Android Development
Here is a fantastic guide on "Innards" of Kernels
Building a Bash Script to make Kernels
[KERNEL][3.4.106][03/20/15] UBER-L | LINARO & UBERTC 4.9 -O3 Graphite F2FS, Kernel for the Google Nexus 5
Source Code: https://github.com/Cl3Kener/UBER-L
Kernel Special Features:
Last Updated 2015-03-19