[KERNEL][GPL]2013-03-02 b24 motley kernel for the Prime (4.2.2 alpha) - Asus Eee Pad Transformer Prime

_motley kernel for the Prime
Disclaimer: You know the gig...I am not responsible for damaging your device or voiding your warranty. Play at your own risk!
New version released for testing on 4.2.2 ROMs I see popping up since this is likely our future unless Asus releases something. I have been dev'ing for the N4 and N7 lately, so I haven't had a lot of time to keep up with the Prime. However, I wanted to stop by to share the kernel I built over the course of the last two nights for my own device.
Features:
Forked from namidairo (thanks!)
OC to 1.7GHz
GPU OC to 600MHz - configurable from 520-650MHz (see below)
Voltage Control (use Trickster or System Tuner)
Removed system_mode from Asus - boots to 1.4GHz - control with standard apps (use Trickster or System Tuner)
FSYNC - 3 modes (see below) (use Trickster)
Linaro built with optimizations
Kernel log spam reduced - important for our crappy eMMC
optimized ARM RWSEM algorithm
Other misc tweaks (see github)
Build 24 (beta)
Initial release for 4.2.2
AnyKernel install works on 32GB Primes only
Added blob based installs for CM 10.1 and PA. Read notes carefully below when choosing an install zip.
View attachment motley_anykernel_tf201_build_24.zip - 32 GB Primes ONLY (any 4.2.2 custom ROM)
View attachment motley_b24_CM.zip.zip - CM10.1 based ROMs only (blob based install for 32/64GB Primes)
View attachment motley_b24_AOSP_PA.zip - PA/AOSP 4.2.2 ROMs only (blob based install for 32/64GB Primes) (only tested on PA thus far! Using PA ramdisk as donor.)
Git repo:
https://github.com/motley-git/android_kernel_asus_tf201
GPU OC
Examples:
Code:
echo 520 > /sys/devices/system/cpu/cpu0/cpufreq/gpu_oc
Code:
echo 650 > /sys/devices/system/cpu/cpu0/cpufreq/gpu_oc
FSYNC Control
Notes: I thought about combining these options, but many kernel apps already support these two options. So, I have them both and they can be controlled in combination to give us the 3 modes. If you set fsync_enabled = 0 it will be OFF regardless of how Dyn_fsync_active is set.
3 Modes:
Dynamic (default in b35 and higher)- fsync is asynchronous when screen is on, when screen is off it is committed synchronously
dynamic fsync ON
fsync ON
Code:
echo 1 > /sys/kernel/dyn_fsync/Dyn_fsync_active
echo 1 > /sys/class/misc/fsynccontrol/fsync_enabled
Off (best performance, less safe) - fsync is always asynchronous (b32 and prior builds)
dynamic fsync OFF
fsync OFF
Code:
echo 0 > /sys/kernel/dyn_fsync/Dyn_fsync_active
echo 0 > /sys/class/misc/fsynccontrol/fsync_enabled
Stock (safest) - fsync is always committed synchronously
dynamic fsync OFF
fsync ON
Code:
echo 0 > /sys/kernel/dyn_fsync/Dyn_fsync_active
echo 1 > /sys/class/misc/fsynccontrol/fsync_enabled
There is a lot of info out there on fsync, that will not be discussed here. I have run fsync off on several devices for awhile now and haven't experienced any issues. If you are using a device that is not stable and crashes alot, I recommend enabling it via init.d or script manager on boot.
See all my old tf201 kernel versions for ICS here:
Requirements (please read carefully!)
alpha version is stable for most, but changes often until we hit a good stable version. Let me know how it works!
Do a CWM backup so you can restore your boot.img and ROM if necessary!
64GB tabs please use blob based install with ramdisk. Anykernel method may not work on 64GB tablets
Recommend 1.6 or 1.7GHz. I have scored 14300+ on Antutu with 1.7GHz. 1.8 is just not necessary IMO and generates too much heat.
ICS ROMs only
You must be rooted with busybox. Busybox is used for init.d support.
You must be unlocked (Asus Unlock Tool provided on their web site)
Official CWM with latest update (see http://forum.xda-developers.com/showthread.php?t=1533697)
You should have your current full and a stock ROM including kernel on your sdcard (just in case). This is always a good idea anyhow.
Beware of third party tweaks that may conflict. If you have installed another app that will load conflicting kernel modules or provide overclocking capability for the stock kernel, please uninstall or disable this on boot before you install this kernel. For example, if you are using ATP Tweaks and are loading the CFQ or SIO schedulerd at boot, it can cause a crash as soon as the conflicting kernel module loads into memory. This kernel now includes the many features that folks were previously using kernel modules for. Since this kernel supports these features natively, you know longer need to load a kernel module manually or via a third party application unless the feature is not listed above. For example, if you use CIFS Manager, you should remove the requirement to load the CIFS kernel module in the settings as it is no longer needed with this kernel.
Stock/AOKP versions
Still using stock broadcom WiFi drivers (module built by me match stock modules)
Still use same scaling scripts from before (cpu3.sh etc.) or installed 2.6.11 first and then flash this kernel to be sure you have them right.
Same system modes apply as before (system_mode=3 for 1.6GHz, system_mode=4 for 1.7GHz, system_mode=5 for 1.8GHz etc.)
Generic kernel versions
Supports Gummy, Team EOS, and CM9 since they have the same WiFi driver implemented in their device trees.
No need to use an OC app (SetCPU, No-frills etc.) to set the clock.
WiFi driver is built-in (no kernel modules) using opensource broadcom drivers (nl80211)
KSM=y (ROM needs to enable KSM in dalvik and set scan in the init file like in CM9)
Overclock - needs init.d to be functional to run a init.d script on boot (see sample script below).
Same system modes apply as before (system_mode=3 for 1.6GHz, system_mode=4 for 1.7GHz, system_mode=5 for 1.8GHz etc.)
If you don't get deep sleep, make sure you have implemented the init.d script properly. "echo N > /sys/module/cpu_tegra3/parameters/no_lp" seems to be necessary on generic ROMs to get the proper deep sleep.
"Lite" kernel
This kernel version has been kept very close to stock form, except for OC and some basic features. The kernel won't be updated often, only when Asus releases new versions or an important fixable bug is discovered.
"Lite" Features
Based on stock Asus v9.4.2.28 base
Simple I/O scheduler as the default
OC from 1.5 to 1.7GHz (system_mode 3 = 1.5GHz, 4 = 1.6GHz, 5 = 1.7GHz)
Compiler optimizations (-o2), ARM toolchain - Code Sourcery Lite 2010.09-51
initramfs changes from stock - init.d support (your ROM must have the /system/etc/init.d folder and busybox) and the default.prop has been updated with ro.secure=0 (for "adb remount")
CIFS support (built-in, no need for kernel module)
NTFS/exFAT modules are provided in stock ramdisk - uses stock Tuxera modules. See http://www.tuxera.com/) - modules are loaded during init automatically with included initramfs.
Kernel compression mode LZMA
Input devices - PS3 (stock), XBox (CONFIG_INPUT_FF_MEMLESS and CONFIG_JOYSTICK_XPAD_FF), Other input device support (CONFIG_HID_APPLE, CONFIG_INPUT_MOUSEDEV, CONFIG_HID_LOGITECH)
Networking/VPN - in addition to stock: CONFIG_L2TP, CONFIG_IP_ADVANCED_ROUTER, CONFIG_NET_IPIP, CONFIG_NET_IPGRE, CONFIG_IP_MULTIPLE_TABLES, CONFIG_INET_AH, CONFIG_INET_IPCOMP, CONFIG_INET_XFRM_TUNNEL, CONFIG_INET_XFRM_MODE_TUNNEL, CONFIG_INET_XFRM_MODE_BEET, CONFIG_L2TP_DEBUGFS, CONFIG_L2TP_V3, CONFIG_L2TP_IP, CONFIG_L2TP_ETH, CONFIG_PPP_MULTILINK, CONFIG_PPPOE
v1.0.0
Stock ROM with ramdisk and 1.7GHz heat script (init.d added, unsecured ramdisk)
CWM flashable: View attachment motley_lite_stock_full_kernel_and_ramdisk_1.0.0_build_1.zip
(Stock and stock-based ROMs only - 32GB and 64GB primes)
Anykernel for Stock or AOKP (won't touch your ramdisk, heat, or init.d scripts)
CWM flashable: View attachment motley_lite_anykernel_stock_and_AOKP_1.0.0_build_1.zip
(32GB stock-based ROMs or AOKP primes only!)
AOKP MS 6.1 with full ramdisk and 1.7 init.d OC script
CWM flashable: View attachment motley_lite_v1.0.0b_build_1_for_AOKP_MS_6.1.zip (updated zip 7/16/2012 10:40pm - will OC to 1.7 on boot, WiFi is working for me)
(AOKP only - 32GB and 64GB primes)
Generic Anykernel for EOS, Gummy, CM9 (won't touch your ramdisk or init.d scripts)
CWM flashable: View attachment motley_lite_generic_anykernel_v1.0.0_build_2.zip
(32GB EOS, Gummy, CM9 primes only!)
Alpha 3.x kernel
A more experimental kernel, with stable versions along the way.
View attachment 986646
Features - includes alpha
Asus v9.4.2.28 base with Asus keyboard dock support
Overclocking options: 1.6, 1.7, or 1.8GHz performance mode (choice of Asus modes)
Compiler optimizations (-o2)
I/O schedulers - CFQ (default), SIO, NOOP, and deadline
ZRAM (must be enabled by a script...see example below)
MMC drivers back-ported from Nvidia 3.1 kernel
Governors - optimized Interactive (default), Performance, On Demand, Power Saver
initramfs changes from stock - init.d support (your ROM must have the /system/etc/init.d folder and busybox) and the default.prop has been updated with ro.secure=0 (for "adb remount")
CIFS support (built-in, no need for kernel module)
NTFS/exFAT modules are provided in stock ramdisk - uses stock Tuxera modules. See http://www.tuxera.com/) - modules are loaded during init automatically with included initramfs.
Kernel compression mode LZMA
Userspace voltage control/undervolting (UV)- experimental, don't set on boot until you test your settings (use SetCPU or other voltage tweaking tool) (thanks richardtrip)
Input devices - PS3 (stock), XBox (CONFIG_INPUT_FF_MEMLESS and CONFIG_JOYSTICK_XPAD_FF), Other input device support (CONFIG_HID_APPLE, CONFIG_INPUT_MOUSEDEV, CONFIG_HID_LOGITECH)
Networking/VPN - in addition to stock: CONFIG_L2TP, CONFIG_IP_ADVANCED_ROUTER, CONFIG_NET_IPIP, CONFIG_NET_IPGRE, CONFIG_IP_MULTIPLE_TABLES, CONFIG_INET_AH, CONFIG_INET_IPCOMP, CONFIG_INET_XFRM_TUNNEL, CONFIG_INET_XFRM_MODE_TUNNEL, CONFIG_INET_XFRM_MODE_BEET, CONFIG_L2TP_DEBUGFS, CONFIG_L2TP_V3, CONFIG_L2TP_IP, CONFIG_L2TP_ETH, CONFIG_PPP_MULTILINK, CONFIG_PPPOE
MMC - CONFIG_ZIMMER by HTC Studio Engineering (reference OneX kernel) - Experimental - can't find the source of this hack, so it may be an HTC original or a variant of another hack upstream. It increases vm swappiness to 100 by default to force swapping of dead RAM. The theory is to clear out the stale RAM and open up the RAM for something more useful. While this may be counter-intuitive to I/O performance since swapping equates to more disk i/o, the code changes also implement some changes to the block, fs, and mm portions of the kernel. Essentially, from what I can tell, it flags and handles disk operations (aka "bios") differently if they are involved in swap operations (going to or coming from swap). A "bio" is essentially a manifest of an ongoing I/O block device operation, what sectors and memory locations it contains etc. Once the RAM is freed up, I have also been increasing the Dalvik vm RAM settings in the build.prop (see Demandarin's build.prop post) to allow for more RAM consumption.
Turned off GENTLE_FAIR_SLEEPERS - Theoretically should improve UI performance on Android.
ARM toolchain - Code Sourcery Lite 2010.09-51
Many other performance tweaks and many Nvidia patches/bug fixes applied beyond the stock version. See the release notes or github for details.
alpha v3.0.7.0 - fix deep sleep issue
Stock ROM with ramdisk and 1.7GHz heat script (init.d added, unsecured ramdisk)
CWM flashable: View attachment motley_stock_full_kernel_and_ramdisk_3.0.7.0_b302.zip(build 302)
(Stock and stock-based ROMs only - 32GB and 64GB primes)
AOKP build 40 with full ramdisk and 1.7 init.d OC script
CWM flashable: View attachment z_motley_tfp_v3.0.7.0_b302_for_AOKP_build_40_1.7GHz.zip(build 302)
(AOKP only - 32GB and 64GB primes)
Anykernel for Stock or AOKP (won't touch your ramdisk, heat, or init.d scripts)
CWM flashable: View attachment z_motley_anykernel_stock_and_AOKP_3.0.7.0_b302.zip (build 302)
(32GB stock-based ROMs or AOKP primes only!)
Generic Anykernel for EOS, Gummy, CM9 (won't touch your ramdisk or init.d scripts)
CWM flashable: View attachment motley_tfp_anykernel_generic_3.0.7.0_b303.zip (build 303)
(32GB EOS, Gummy, CM9 primes only!)
alpha v3.0.6.10 - fixed wifi issues in 3.0.6.9
Stock ROM with ramdisk and 1.7GHz heat script (init.d added, unsecured ramdisk)
CWM flashable: View attachment motley_stock_full_kernel_and_ramdisk_3.0.6.10.zip (build 247)
(Stock and stock-based ROMs only - 32GB and 64GB primes)
AOKP build 40 with full ramdisk and 1.7 init.d OC script
CWM flashable: View attachment z_motley_tfp_v3.0.6.10_for_AOKP_build_40_1.7GHz.zip (build 247)
(AOKP only - 32GB and 64GB primes)
Anykernel for Stock or AOKP (won't touch your ramdisk, heat, or init.d scripts)
CWM flashable:View attachment z_motley_anykernel_stock_and_AOKP_3.0.6.10.zip (build 247)
(32GB stock-based ROMs or AOKP primes only!)
Generic Anykernel for EOS, Gummy, CM9 (won't touch your ramdisk or init.d scripts)
CWM flashable: View attachment motley_tfp_anykernel_generic_3.0.6.10.zip (build 250)
(32GB EOS, Gummy, CM9 primes only!)
Older alpha 3.0.x versions can be found in post 803
Many are stable on v3.0.5 if the above versions don't work for you.
v2.6.11 build 100 2012-04-22
Asus stock-based ROMs (aroma installer): View attachment motley_tfp_2.6.11_Turge_installer.zip
Flash with CWM to run the installer and pick your heat!
Other ROMs: see alpha version 3.0.x above as previous generic kernels discontinued due to wifi incompatibility other than AOKP.
Installation
1. Backup stock boot.img (just do a full backup with the latest CWM)
See http://forum.xda-developers.com/showthread.php?t=1533697
2. Flash the proper zip with CWM
--------------------------------------------------------------------------------------------------------------------------------------
If you want to set your modes and play with the scripts manually as before see this post:
http://forum.xda-developers.com/showpost.php?p=24565491&postcount=278)
Don't set your core_cap_level higher than 1400mV as it is the highest core voltage available.
system_mode numbers (3=1.6GHz, 4=1.7GHz, 5=1.8GHz)
--------------------------------------------------------------------------------------------------------------------------------------
Going back to stock:
If you want to revert to stock boot image including stock kernel from your backup
Use your CWM backup. You can do a selective restore and just restore your boot.img
If you want to revert back to your Asus scaling scripts
Flash the stock scaling script: View attachment Stock_scripts_1_to_5.zip
--------------------------------------------------------------------------------------------------------------------------------------
Github rep: https://github.com/motley-git/TF201-Kernel
--------------------------------------------------------------------------------------------------------------------------------------
Past versions
v2.5.8 build 71 (GPU Love) 2012-04-14
CWM flashable zip: v2.5.8
Aroma installer with heat scripts: View attachment motley_tfp_2.5.8_Turge_installer.zip
v2.4 build 34 (Neon glitter) 2012-04-06
CWM flashable zip: View attachment 986645
v2.3 build 25 (Need for speed)
CWM flashable zip: View attachment 978413
v2.2 build 23 (No fools, more Asus Tweaks)
CWM flashable zip: View attachment 976821
Thanks to:
Asus for the awesome machine and kernel source
viperboy, jermaine151, MasterZen88, di11igaf, Diamondback and shaky156 for sharing their knowledge and tools
raman84 (RaYmAn) and others for the blob tools that work on transformer
Turge - awesome Aroma installer base creation for us!
amarullz - Aroma Installer
Doktaphex - touch recovery thread used by Turge for the touchscreen components.
AnyKernel - Koush and TeamDRH (and Jermaine for bringing it to the Prime)
All of those that have helped with testing! Special thanks to CekMTL for his troubleshooting skills and Deathmo for really going above and beyond to help out.
Sample overclock init.d script example (needed for AOKP or generic roms). AOKP uses /system/etc/init.d/cpu_overclock, so I recommend you edit that file for AOKP since it is already working.
Code:
#!/system/bin/sh
echo 4 > /sys/module/cpu_tegra/parameters/system_mode
echo 1350 > /sys/kernel/tegra_cap/core_cap_level
echo 0 > /sys/kernel/tegra_cap/core_cap_state
echo 0 > /sys/devices/platform/tegra_grhost/enable_3d_scaling
echo 10 > /sys/module/cpu_tegra3/parameters/mp_overhead
echo 9999999 > /sys/module/cpu_tegra/parameters/pwr_cap_limit_1
echo 9999999 > /sys/module/cpu_tegra/parameters/pwr_cap_limit_2
echo 9999999 > /sys/module/cpu_tegra/parameters/pwr_cap_limit_3
echo 9999999 > /sys/module/cpu_tegra/parameters/pwr_cap_limit_4
setprop power.saving.mode 1
setprop persist.tegra.NV_FPSLIMIT 0
setprop persist.sys.NV_FPSLIMIT 0
setprop persist.sys.NV_POWERMODE 0
echo 1700000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo N > /sys/module/cpu_tegra3/parameters/no_lp
Sample ZRAM init script (thanks show-p1984) (needs to be run as "su" using script manager):
Code:
#!/system/bin/sh
# auto zram activation init script with busybox search
# by show-p1984
echo "[90ZRAM]: Firing up /system/etc/init.d/90zram";
if [ ! -e /sys/block/zram0/disksize ] ; then
echo "[90ZRAM]: ERROR unable to find /sys/block/zram0/disksize";
echo "[90ZRAM]: Is this a ZRAM kernel?";
echo "[90ZRAM]: ZRAM NOT ACTIVATED. (404)";
else
#find busybox in /system
bblocation=$(find /system/ -name 'busybox')
if [ -n "$bblocation" ] && [ -e "$bblocation" ] ; then
echo "[90ZRAM]: busybox found in:" $bblocation;
echo "[90ZRAM]: Setting ZRAM disksize.";
echo $((100*1024*1024)) > /sys/block/zram0/disksize
echo "[90ZRAM]: Starting ZRAM...";
bblocation=${bblocation%/*}
cd $bblocation
./busybox mkswap /dev/block/zram0
./busybox swapon /dev/block/zram0
echo "[90ZRAM]: ZRAM activated.";
else
echo "[90ZRAM]: ERROR! busybox not found!";
echo "[90ZRAM]: Is busybox installed? Symlinks set?";
echo "[90ZRAM]: ZRAM NOT ACTIVATED. (404)";
fi
fi

nice work man, i was getting ready to implement this myself. they made that pretty easy right.. at first i thought it was gonna be a pita until i looked a little deeper and saw most of what we need is already there.

di11igaf said:
nice work man, i was getting ready to implement this myself. they made that pretty easy right.. at first i thought it was gonna be a pita until i looked a little deeper and saw most of what we need is already there.
Click to expand...
Click to collapse
Thanks, yeah not too bad. There is a lot more "nanny" code in tegra 3 than in tegra 2. Tempted to tweak some of it, but decided it was best to take baby steps! Kind of hoping we can get a community version going once some of us do some study and get our feet wet.
Cheers

is it possible to convert this into an apk form like EZOverclock? where there is no need for unlocking and CWM. all needed is rooted device and installing the app. just curious
great work though. plus u mentioning 1.8Ghz might be the final straw needed to push me over the edge to unlock..lol cant wait to see it implemented. I'm holding back so badly with all this new developement coming out for prime. its really starting to blow up in here and temptation to unlock is eating me up

So like a retard I flashed boot.img.zip instead of extracting the boot.img out first
-_-
It is entirely my fault but any help would be appreciated
My TP hangs at he Eee Pad logo
Any hopes of holding vol down + power button sends me straight to wipe data or fastboot menu (I CANT ACCESS THE RECOVERY TRIED 99999 TIMES TO DO IT WITH VOL DOWN + POWER)
Tried doing the following:
fastboot -i 0x0b05 erase recovery
fastboot -i 0x0b05 flash recovery tfp_CWM5_androidroot.blob
fastboot -i 0x0b05 erase boot
fastboot -i 0x0b05 flash boot boot.img (original stock boot.img found here http://forum.xda-developers.com/showthread.php?t=1514088
Still it hangs at Eee Pad logo if I don't do anything. If I tried the Volume down + power goes straight back to wipe data or fastboot.
ANY thoughts?
tHANKS

tassadar898 said:
So like a retard I flashed boot.img.zip instead of extracting the boot.img out first
-_-
It is entirely my fault but any help would be appreciated
My TP hangs at he Eee Pad logo
Any hopes of holding vol down + power button sends me straight to wipe data or fastboot menu (I CANT ACCESS THE RECOVERY TRIED 99999 TIMES TO DO IT WITH VOL DOWN + POWER)
Tried doing the following:
fastboot -i 0x0b05 erase recovery
fastboot -i 0x0b05 flash recovery tfp_CWM5_androidroot.blob
fastboot -i 0x0b05 erase boot
fastboot -i 0x0b05 flash boot boot.img (original stock boot.img found here http://forum.xda-developers.com/showthread.php?t=1514088
Still it hangs at Eee Pad logo if I don't do anything. If I tried the Volume down + power goes straight back to wipe data or fastboot.
ANY thoughts?
tHANKS
Click to expand...
Click to collapse
Try using the following commands in APX mode. To access APX mode:
1. Undock transformer prime
2. Hold power+ up key.
3. Install naked drivers (http://forum.xda-developers.com/showthread.php?t=1514942)
4. Screen will be black but once connected to a pc you should see it in device manager.

Nice stuff! Flashed and all is well but 1.7ghz plus antutu. Equals sad prime. 2 reboots and one crash to homescreen (it didn't force close though)
Balanced works fine.
Edit: anything that is cpu intensive makes my prime sad reboot time lol. Meh I probably need more volts.
Sent from my Transformer Prime TF201 using Tapatalk

Good job motley!!

tassadar898 said:
So like a retard I flashed boot.img.zip instead of extracting the boot.img out first
-_-
It is entirely my fault but any help would be appreciated
My TP hangs at he Eee Pad logo
Any hopes of holding vol down + power button sends me straight to wipe data or fastboot menu (I CANT ACCESS THE RECOVERY TRIED 99999 TIMES TO DO IT WITH VOL DOWN + POWER)
Tried doing the following:
fastboot -i 0x0b05 erase recovery
fastboot -i 0x0b05 flash recovery tfp_CWM5_androidroot.blob
fastboot -i 0x0b05 erase boot
fastboot -i 0x0b05 flash boot boot.img (original stock boot.img found here http://forum.xda-developers.com/showthread.php?t=1514088
Still it hangs at Eee Pad logo if I don't do anything. If I tried the Volume down + power goes straight back to wipe data or fastboot.
ANY thoughts?
tHANKS
Click to expand...
Click to collapse
You need to repack the correct boot.img as a blob file. Fastboot doesnot work the way you use it.
Fastboot can't flash raw imgs, you need to repack them before as a blob file.
Search goolge for blobtools, there is a thread on xda with both linux and a windows version.

And now @OP
I guess the kernel itself is based on the outdated ASUS source?
And for the next build, maybe make a verion where you overclock the 1.6GHz mode instead of the Performance mode?
Most (if not all) who would use such a kernel, use some kind of tool/app/rom which can access the 1.6 Ghz mode anyway, so you are better of tweaking the 1.6Ghz mode

looks promising. will wait till for the updated version before i start playing with the kernel.
but always appreciate the work bruh thanks.

Diamondback said:
And now @OP
I guess the kernel itself is based on the outdated ASUS source?
And for the next build, maybe make a verion where you overclock the 1.6GHz mode instead of the Performance mode?
Most (if not all) who would use such a kernel, use some kind of tool/app/rom which can access the 1.6 Ghz mode anyway, so you are better of tweaking the 1.6Ghz mode
Click to expand...
Click to collapse
the2rrell said:
looks promising. will wait till for the updated version before i start playing with the kernel.
but always appreciate the work bruh thanks.
Click to expand...
Click to collapse
Correct me if I'm wrong, but the kernel versions are identical and the only things that changed were the host that the new kernel was compiled on and the appended string on the end. It sounds to me like they just built the same source with a different config.
Am I missing something???

jermaine151 said:
Guys, why does everyone think that there's a new kernel version and that they will wait for the source to drop? Correct me if I'm wrong, but the kernel versions are identical and the only things that changed were the host that the new kernel was compiled on and the appended string on the end. It sounds to me like they just built the same source with a different config.
Am I missing something???
Click to expand...
Click to collapse
First: I have no idea about kernels or building them from source
I only see that we got several kernel upgrades without getting new kernel source from ASUS.
So I guessed that they have newer source, correct me if I am wrong here

Diamondback said:
First: I have no idea about kernels or building them from source
I only see that we got several kernel upgrades without getting new kernel source from ASUS.
So I guessed that they have newer source, correct me if I am wrong here
Click to expand...
Click to collapse
I think we'll only get a new release if they use a different source version. The kernel version hasn't changed on their ICS kernels yet, so I "believe" that the source they have posted is the latest and is what they built the mercury kernel from.

jermaine151 said:
I think we'll only get a new release if they use a different source version. The kernel version hasn't changed on their ICS kernels yet, so I "believe" that the source they have posted is the latest and is what they built the mercury kernel from.
Click to expand...
Click to collapse
Oh okay, good to know

Diamondback said:
You need to repack the correct boot.img as a blob file. Fastboot doesnot work the way you use it.
Fastboot can't flash raw imgs, you need to repack them before as a blob file.
Search goolge for blobtools, there is a thread on xda with both linux and a windows version.
Click to expand...
Click to collapse
I tried my best for the past 10 hours and couldnt get the boot.img repacked. Is there a way someone can help me do it?

tassadar898 said:
I tried my best for the past 10 hours and couldnt get the boot.img repacked. Is there a way someone can help me do it?
Click to expand...
Click to collapse
I attached a pretty much stock kernel blob (Dr Wowe's kernel) to this post:
http://forum.xda-developers.com/showpost.php?p=23182705&postcount=13
You need to grab it out of the zip file. Maybe that will help you get up and running again.

This is great! Can't wait till this kernel is included in one of the stock roms

If was this kernel make it like app can i get overclock without unlockbootloader???
Sent from my HTC Desire HD A9191 using XDA

EDIT: Thanks to demandarin for testing this. It looks like this will NOT be able to be flashed on a Prime with a locked bootloader. It was worth a shot. I'll leave the attachment in case anyone needs this kernel in a signed blob format.

Related

[Kernel][April - 5][LINARO] Sliding_XP Kernel v7.4.4 [CM]

This kernel is for CM Roms, for Stock roms (or stock based roms) use this version of the kernel​--------------------------------------------------------------------------------------------
Kernel Features:
Based on Sony Latest Source Code: 6.1.1.B.1.54 / .56 / .75.
Based on Linux Kernel Source Code: 3.0.71.
Compiled Using Linaro 4.7
FXP Recovery
Init.d Support.
Auto Root.
Auto Install for Wi-Fi Modules.
Good Battery Life.
NTFS Support
CIFS Support
Clean-Cache Support
ext 2 / 3 / 4 Support.
Kernel Image Compressed Using LZO.
Governors:
Conservative
Dynamic Interactive
HotPlug
Interactive
InteractiveX
InteractiveTEST (same as interactiveX but from a different source)
Lazy
Lionheart
LulzActiveq
MinMax
Nightmare
onDemand
onDemandX
onDemandQ
Pegasusq
Powersave
Performance
Scary
Sakuractive
SmarassV2
Userspace
Wheatley
IO schedulers:
VR
SIO
Row
Zen
Deadline
CFQ
--------------------------------------------------------------------------------------------
Known Issues:
LED Light is not working as it should.
--------------------------------------------------------------------------------------------
Credits:
Sony for the source code.
FXP for kernel Ramdisk (using it since they made it especially for their rom. to make sure everything goes well.)
neverhood11 for testing.
--------------------------------------------------------------------------------------------
Always Remember:
Please Don't mirror my files, I like to keep track of download count.
Report Bugs in this thread and I will fix them as soon as possible.
If you like my kernel please rate it
--------------------------------------------------------------------------------------------
Change Log in Second Post.
--------------------------------------------------------------------------------------------
Download Links:
Sliding_XP - Mediafire Folder
--------------------------------------------------------------------------------------------
Note:
If you don't want to install via CWM, extract kernel.elf from the zip file and flash using this command:
fastboot flash boot kernel.elf
Click to expand...
Click to collapse
--------------------------------------------------------------------------------------------
Sources: Github
Change Log:
------------------------------------------------
[8-4-2013] Version 7.4.4
------------------------------------------------
Added new governors: Lionheart, scary.
Speed improvements
Battery life improvements
------------------------------------------------
[?-4-2013] Version 7.4.3
------------------------------------------------
Released for stock roms only.
------------------------------------------------
Code:
------------------------------------------------
[5-4-2013] Version 7.4.2
------------------------------------------------
[LIST]
[*]Added new governors: OnDemandQ - Hotplug (got it from a different source) - InteractiveTest (it's the same as InteractiveX but got it from a different source, please test it and tell me if it's better than the already included interactiveX)
[*]Some under the hood changes :)
[*]Fixed wifi issue.
[/LIST]
------------------------------------------------------------------------------------------------------------
[27/3/2013] Version 7.4.1
[LIST]
[*]Based on Linux Kernel Source Code Version 3.0.71
[*]Added Nightmare and Lulzactiveq governors.
[/LIST]
------------------------------------------------------------------------------------------------------------
[27/3/2013] Version 7.4
[LIST]
[*]Compiled Using Linaro 4.7
[*]Based on Linux Kernel Source Code Version 3.0.70
[*]CWM Version added.
[*]Some improvements here and there :)
[/LIST]
------------------------------------------------------------------------------------------------------------
[1/3/2013] Version 7.3:
[LIST]
[*]Fixed Wi-Fi Issue.
[*]NTFS Support
[*]CIFS Support
[*]ext2 / 3 Support (ext4 is already supported)
[*]New governor [MinMax]
[*]Added back hotplug governor (hopping this time it's fixed)
[*]Performance tweaks for the following governors: Pegasusq / Interactive / onDemand(x)
[*]Few improvements for longer battery life.
[*]Fixed init.d issue.
[*]Switched to SuperSU app by Chainfire.
[*]Enabled Clean-Cache.
[/LIST]
------------------------------------------------------------------------------------------------------------
[16/1/2013] Version
[LIST]
[*]Added Back Hotplug
[LIST]
[*]New Governors
[*]Wheatley (Recommended)
[*]lazy
[*]sakuractive
[*]interactivex
[*]ondemandx
[/LIST]
[*]Memory Management Improvements
[*]Process Management Improvements
[*]Wifi Fix (You confirm :) )
[/LIST]
------------------------------------------------------------------------------------------------------------
[10/1/2013] Version 7.1:
[LIST]
[*]Better memory management.
[*]Better processes management.
[/LIST]
------------------------------------------------------------------------------------------------------------
[10/1/2013] Version 7:
[LIST]
[*]Updated to Sony's latest source code.
[/LIST]
------------------------------------------------------------------------------------------------------------
[9/1/2013] Version 6.1:
[LIST]
[*]Initial Release
[/LIST]
------------------------------------------------------------------------------------------------------------
Im the first, im confused deep, why is there two wifi modules?
Edit: i guess ill wait for the auto install for modules, so i dont mess everything up,hihi
Sent from my LT22i using xda premium
Installed modules with terminal, got no confirmation. Rebooted, still no wifi. Checked root explorer, lib directory disappeared...
edit: oooh, should be system/lib ; I thought you meant root as in the top level
edit2: ugh no I just keep getting "not found" errors
follow this... http://forum.xda-developers.com/showpost.php?p=35954752&postcount=833
just replace the m1.ko with the respective files names from the download
Thanks, but I'm having trouble getting adb to recognize my device. Sony PC companion recognizes it fine, usb debugging is on but it keeps saying no device found
ok then do the following...
1. put those 2 files into internal storage
2. open terminal emulator
Inside terminal emulator:-
su
cd /mnt/sdcard
mv cw1200_core.ko /system/lib/modules
mv cw1200_wlan.ko /system/lib/modules
cd /system/lib/modules
chmod 644 cw1200_*.ko
echo "insmod /system/lib/modules/cw1200_core.ko" >> /system/etc/hw_config.sh
echo "insmod /system/lib/modules/cw1200_wlan.ko" >> /system/etc/hw_config.sh
reboot
chewdaniel said:
follow this... http://forum.xda-developers.com/showpost.php?p=35954752&postcount=833
just replace the m1.ko with the respective files names from the download
Click to expand...
Click to collapse
thanks chew for the tip, il try this, but new kernel v6.1 has a bug, no deep sleep
chewdaniel said:
ok then do the following...
1. put those 2 files into internal storage
2. open terminal emulator
Inside terminal emulator:-
su
cd /mnt/sdcard
mv cw1200_core.ko /system/lib/modules
mv cw1200_wlan.ko /system/lib/modules
cd /system/lib/modules
chmod 644 cw1200_*.ko
echo "insmod /system/lib/modules/cw1200_core.ko" >> /system/etc/hw_config.sh
echo "insmod /system/lib/modules/cw1200_wlan.ko" >> /system/etc/hw_config.sh
reboot
Click to expand...
Click to collapse
Did this (very painstakingly) in the phone terminal, rebooted- no change. I guess I wait for next update :/
also, above poster is right - no deep sleep
Wow it's a good things Deep has do a CM9 kernel excited to see it but I'm not using CM9
olujnap316 said:
thanks chew for the tip, il try this, but new kernel v6.1 has a bug, no deep sleep
Click to expand...
Click to collapse
Bro there is no such bug, this kernel is the same as version 6, I only added two lines of code so the compiler sees the new IO schedulers that I forgot to add for version 6.
I'm also confused, you mentioned it here, and on the original thread, so which rom are you using now
Eason85 said:
Did this (very painstakingly) in the phone terminal, rebooted- no change. I guess I wait for next update :/
also, above poster is right - no deep sleep
Click to expand...
Click to collapse
Eason85 is wrong, there is deep sleep
I tried it again, I get "failed: cross-device link 255|[email protected]", when I try to edit permissions or install it tells me it's a read-only file system, but I'm root already...
I re-su'd and then tried again, I got "syntax error: 'newline' unexpected [email protected]: /system/lib/modules" then again and it's a read-only file system
I need someone to test for me, I will be making changes to the ramdisk to make it auto install those modules. who can help me with testing please?
I'd be happy to test, though I might not have time for the next 4-6 hours.
I'm having issues with adbshell but I'm not sure if it's cm 9.1 or the sd-card mounter's problem. It seems that whether MTP or MSD I can only access the command line while the auto-run dialogue of plugging the phone in is up. Once that is closed I lose my adb link and it immediately says device not found. Strange.
DeepUnknown said:
Bro there is no such bug, this kernel is the same as version 6, I only added two lines of code so the compiler sees the new IO schedulers that I forgot to add for version 6.
I'm also confused, you mentioned it here, and on the original thread, so which rom are you using now
Click to expand...
Click to collapse
im using the latest firmware .75 im also confused, il try to flash the kernel again...maybe it was just a flux or something
As for current issues I'm having a strong feeling they are related to drivers, though I wont make it as the main reason for having those issues. Yet I will see what to be done but so far I've done many things and yet those issues remain. let's hope Sony release the new source code so we can finally find out what is causing the issue
also this kernel is built for CM roms you WILL face issues while using it with stock rom
@Eason85 As for your issue did you have such thing while using CM kernel?!
To be honest this kernel is the same as the one I made for stock rom, the only difference is the ramdisk.
I will be compiling it from FXP source but I found they are the same (my kernel and their kernel)
but maybe FXP made some changes to work with their rom.
I will be doing another build from their source code
DeepUnknown said:
As for current issues I'm having a strong feeling they are related to drivers, though I wont make it as the main reason for having those issues. Yet I will see what to be done but so far I've done many things and yet those issues remain. let's hope Sony release the new source code so we can finally find out what is causing the issue
also this kernel is built for CM roms you WILL face issues while using it with stock rom
@Eason85 As for your issue did you have such thing while using CM kernel?!
To be honest this kernel is the same as the one I made for stock rom, the only difference is the ramdisk.
I will be compiling it from FXP source but I found they are the same (my kernel and their kernel)
but maybe FXP made some changes to work with their rom.
I will be doing another build from their source code
Click to expand...
Click to collapse
I can't know for sure because I never tried to use adb shell on FXP's kernel. :cyclops:
just ran a test version with wifi included in ramdisk... flawless
now to leave my phone overnight and hope the battery is enough for the alarm
@DeepUnknown: tks again my friend for a wonderful kernel
chewdaniel said:
just ran a test version with wifi included in ramdisk... flawless
now to leave my phone overnight and hope the battery is enough for the alarm
@DeepUnknown: tks again my friend for a wonderful kernel
Click to expand...
Click to collapse
Your welcome, I'm happy wifi issue got fixed
Now let's work on making this kernel more battery friendly
Hey deep can you make your kernel CWM flashable it makes things easier
Sent from my Xperia P using Tapatalk 2

[KERNEL] MiRaGe - for Nexus 4 stock ROM 10/25/15

MiRaGe is a lean and efficient kernel for the stock Nexus 4 ROM with the optimizations and updates that are not included in Google's stock kernel. MiRaGe kernel fits squarely in the stock Nexus 4 ROM; all of the modules are integrated in the kernel just like the stock kernel and it should work with all AOSP ROMs that work with the stock kernel and boot image. However, only the current stock ROM is tested. If you decide to use MiRaGe, just flash and forget it since I have avoided adding more sysfs parameters. It is not my goal to enable all possible tweaking options and add every possible feature to the kernel such as multitude of governors, io schedulers, sweep2wake, fastcharge, etc. This kernel is not intended as a tweaker's kernel. You can, of course, tweak it as much as you want since that is your phone and kernel. But please try removing your tweaks before posting any problems. I always test the latest builds with the current stock ROM before posting here.
I am sharing exactly what I have developed for myself and posting here so that I can return at least a small part of what I have received from the open source community. I thought the amount of time I have spent for MiRaGe could be useful for others as well. In short, take it if you want it, leave it if you don't. But comments, suggestions are always welcome when they make sense.
Source Code:
Source code is based on Google's msm kernel source (currently android-msm-mako-3.4-lollipop-mr1.1) and a summary of my changes are below. You can find the full details of my changes and the complete source code in my repo.
Changes:
- synced with mainline Linux 3.4.110
- cleaned up kernel configuration and removed many unnecessary options
- removed kernel debugging options
- built with the Linaro toolchain (gcc 4.9.4 - 15.06) using standard krait and -O2 optimization
- removed AOUT and OABI support
- disabled both user-space msm_mpdecision and kernel-space msm_mpdecision
- removed msm_run_queue_stats, dcvs, and stock msm_mpdecision in the kernel
- added autosmp, a simple and efficient (by me) multi-core cpu hotplug driver
- disabled the user-space thermald and switched to kernel-based msm_thermal
- replaced CFQ with the latest BFQ as the default IO scheduler
- backported random and prandom updates from Linux 3.13 (no entropy depletion anymore)
- backported workqueue from Linux 3.8 to include many important improvements
- backported rwsem from Linux 3.11 to include lock stealing improvements
- backported mutex and rcu locking from Linux 3.10 and 3.8, respectively
- backported slub memory allocator updates from Linux 3.8
- backported cpufreq driver, ondemand, and conservative governors from Linux 3.12
- updated interactive CPU governor from AOSP and CAF
- disabled userspace CPU governor,
- enabled callback-free CPUs (RCU_NOCB_CPU)
- backported TCP Small Queues and CODEL net scheduler from Linux mainline and set as default
- updated kernel scheduler, msm-hotplug, msm-idle, msm-pm code from CAF and Linux mainline
- applied patch [v4] binfmt_elf.c: use get_random_int() to help with entropy depleting
- enabled autogroup scheduler and applied patch per-uid task group for Android
- added optimized ARM RWSEM algorithm
- added optimized ARM SHA1/AES routines
- enabled CPU-supported unaligned accesses
- disabled gentle fair sleepers in scheduler
- updated Qualcomm HW RNG driver from CAF
- enabled BPF JIT compiler for packet filters
- applied glibc patch to improve the performance of memcpy and memmove
- applied word-at-a-time ARM API patches
- enabled CPU overclocking up to 1.728 GHz with user-space vdd control
- optimized vdd curves, L2 and bus speeds for better performance and efficiency
- removed unneeded a2xx and a4xx components from kgsl driver
- modified the prima wifi driver to disable debug code
- removed PMEM completely, MiRaGe is pure ION
- add support for kernel mode NEON and NEON acceleration
- add NEON optimized SHA1, SHA256, and SHA512 crypto code
- add LoUIS API for cache maintenance ops to improve cpu hotplug latency
- added and enabled power_efficient workqueue
- added and enabled msm memutils
- added screen gamma, user space cpu voltage control, and dt2w
- backported devfreq driver from CAF and switched kgsl 3d governor to simple_ondemand
- backported many other fixes/updates/optimizations from CAF and Linux mainline, see the repo for details
- init.d supported if /etc/init.d and busybox are available
- a diff file of changes to ramdisk is here
Downloads:
Boot image for stock ROM:
LMY standard kernel Built: 10/25/15 MD5sum: a315cc446499d60cb4b3a61ea7bfa8f8
LMY overclock kernel Built: 10/25/15 MD5sum: 7c72a66830f511b025968db2bb743429
Anykernel updater for custom ROM:
Revert back to stock kernel to restore the original ramdisk and flash anykernel package of MiRaGe after that. This is not needed in the next anykernel update.
LMY standard kernel Built: 10/25/15 MD5sum: 85b4136ac0ada793da7b80763193095a
LMY overclock kernel Built: 10/25/15 MD5sum: 2924fb6a963b40087c296a7b1abfc1d3
KTU standard kernel Built: 10/31/14 MD5sum: dca7d06933eb43c8da3ba7941bb6ac88
KTU overclock kernel Built: 10/31/14 MD5sum: dca7d06933eb43c8da3ba7941bb6ac88
The only difference between the standard and overclock builds is the ~100mV undervolt in the overclock build. Both kernels have maximum CPU_freq = 1.728 GHz, default CPU_freq = 1.512 GHz, overclocking, and user space cpu voltage control enabled. Since the CPU gets hot quickly in Nexus 4, I only recommend overclocking with the overclock build that has built-in undervolt. If the phone doesn't boot with overclock kernel, it means that your CPU is not able to handle the undervolt settings. In that case, you can just reboot into recovery and flash the standard kernel. No-frills CPU Control is recommended to set the max overclock frequency. Each CPU has different overclock/undervolt ability. Don't get disappointed if the OC build doesn't work for you.
Installation:
You can do one of the followings
- Flash the zip files in recovery, there is no need to wipe cache or dalvik-cache
- Flash the boot image in the zip file using either Flash Image GUI or fastboot
- Here is the original boot image for LMY48I build, in case needed for going back to stock. Either flash in the recovery or open the zip file to extract the boot image.
Credits:
- Special thanks to Linux, Google, CAF, Linaro developers in general.
- @tvall, @bedalus, @xboxfanj, @ihancioglu, @xenyz for collaboration
- @stratosk for the screen gamma interface and dt2w
- @defconoi for collaboration (see Unleashed Kernel Series)
- @mathkid95 for the any-kernel updater package
- @joeykrim for FlashImageGUI
- @Christopher83 for the optimized Linaro toolchain builds
- Other credits are given in the repo for each commit
Recommendations:
I am frequently receiving requests to add sound patches in the kernel. I agree that the sound is not very good but there are solutions. I am using the Viper4AndroidFX as a replacement sound processor. I recommend giving it a try. You need to go to the sound options and select ViPER4AndroidFX to use this sound processor or freeze MusicFX (I use Link2SD for this). There is plenty of information at the above link. With this available, I am not planning to add any sound patches.
Another frequent question is about choosing CPU governor and IO scheduler. In the earlier builds, interactive governor had the best balance of performance and battery life among other CPU governors and it is still available. In the latest builds, ondemand governor was backported from Linux 3.12 and replaced interactive as the default. The latest patches in the mainline Linux, especially stratosk's patch that optimized the load calculations made the new ondemand governor the better option regarding both power and performance. Regarding IO scheduler, BFQ scheduler has the best overall real-use performance and it is actively maintained/improved. You can use Nofrills CPU Control to change the governor and scheduler. But I would leave the defaults as BFQ scheduler and ondemand governor.
Since all of the cpu power control functions are contained in the kernel with MiRaGe, the userspace PowerHAL library will be giving the following messages in the logcat.
Code:
E/PowerHAL( 511): touch_boost: failed to send: No such file or directory
E/PowerHAL( 511): touch_boost: failed to send: No such file or directory
E/PowerHAL( 511): touch_boost: failed to send: No such file or directory
These are harmless but if you want to eliminate them, just make a backup and delete/rename /system/lib/hw/power.msm8960.so and power.mako.so. The single purpose of touch_boost is to enhance the system response to the user interaction. But using a service in the user space to send a touch boost signal to the kernel via slow sysfs file system is the wrong way of trying to achieve lower latency. In addition, every touch input doesn't need a CPU frequency boost which wastes battery power. The best way of achieving the low-latency system response to user interaction is improving the efficiency of existing CPU governor which raises the CPU frequency and hotplug driver which enables off-line cpu cores when needed. In MiRaGe, CPU freq is only controlled by the CPU governor based solely on the CPU load and the latency is low since efficiency is improved by reducing such unnecessary bloat. Additionally, highly-efficient autosmp hotplug driver works in-sync with the CPU governor to enable off-line cpu cores when the the CPU frequency reaches a high threshold and still more compute power is needed. Therefore, touch boost bloat is removed.
With some of the custom ROMs, root is lost after flashing MiRaGe because of using the init scripts in the ramdisk for starting the su daemon. SuperSU is the recommended solution. I might switch to any-kernel-updater to address this problem but as written in the OP, MiRaGe is primarily for the stock ROM. Also, having the full boot image in the zip file is more reliable than expanding/processing/repacking the boot image.
MiRaGe supports init.d if it is setup. To setup init.d do the followings either within ES File Explorer or terminal .
- install busybox (I use busybox on rails)
- create /system/etc/init.d and chmod to 755 (rwxr-xr-x)
- create your init scripts in the /system/etc/init.d directory. Name them 01yourscriptname (e.g. 01mysettings) and chmod 755. Make sure they are UNIX format (not in DOS/Windows).
example:
Code:
#!/system/bin/sh
echo 1 > /sys/devices/virtual/input/lge_touch/dt_wake_enabled
- reboot
Here is how to add multiROM support
How to build:
If you are going to distribute your builds, please don't build your binaries with the same name (i.e. MiRaGe) and distribute in this thread. I would recommend you to start an alternative thread. Otherwise the problem reports will be too confusing for everyone.
First requirement is an ARM toolchain for cross compiling, i.e. using an X86 computer to generate ARM binary. I use Linaro tool chain for cross compiling like many others since Linaro specifically develops tool chains that produce optimized binary for ARM architecture.
Linaro toolchains can be downloaded from Linaro binary page. Christopher83 has built the latest Linaro-14.08 toolchain based on gcc-4.8.4 which is stable/reliable and I recommend starting the development with this toolchain.
The binary Linaro toolchain for Linux package needs to be expanded in a certain directory, probably inside the home directory. The source code for kernel is available in my Github repo, You can either download the kernel source as a compressed package or you can git-clone it with the following command (you will need git installed in your Linux computer)
Code:
git clone https://github.com/mrg666/android_kernel_mako.git
The kernel source can again be in a specific home directory.
After the source and toolchain are prepared, copy the configuration file for shooter, arch/arm/configs/mako_config, as .config to the root of the kernel source and use the following command to build the kernel
Code:
make ARCH=arm CROSS_COMPILE=~/untarred-toolchain-dir/bin/arm-linux-gnueabihf- zImage -j8
Replace j8 in the above command according to the number of cpus you have on your computer.
Also set CROSS_COMPILE based on the directory you have expanded the binary toolchain package in your home directory.
I always use the latest version of Xubuntu x64 (with custom built kernel) on my Linux workstation that has a AMD FX-8320 (overclocked to 4.2 GHz), 8 GB RAM, 500 GB HD. The compile time is about 2 minutes for me using all 8 cores. I have been using Ubuntu since version 10.04 to build Gingerbread, Jellybean, and Linux kernel and updated the OS to each and every new version, all of them worked just fine. There is no magic version of Ubuntu. The build problems arise from the package requirements not the OS version.
The flash package is easy. Just use any-kernel updater package in the OP as a template and replace zImage in /kernel directory with your build. If you want to create a boot image, see this post
Now that you have source and can build the kernel, you can add all the features you want to your own kernel
Woww greatt, thanks mirage
many thanks Mirage!
Does JSS come with caf video driver or it can be flashed on non-cm roms without problems?
Inviato dal mio Nexus 4 con Tapatalk
Good to see new kernel which goal is simplicity, not many of them are here. ill try it when clean instal comes to repertoar. just one question, you didnt mention -O3 and gcc 4.8.2, so i asume you didnt use them? Thanks.
Poslano sa mog Nexus 4 koristeći Tapatalk
I haven't updated the video driver from CAF ... yet. I will do after the 4.4 update if Google hasn't done yet.
Kernel is compiled with gcc 4.7.4 using -O2 optimization. gcc 4.8 was not giving me reliable builds yet. I will switch when 4.8 becomes stable. I have tried O3 optimization in the past and I didn't see any benefit of it. Plus, O3 optimization caused reliability issues especially with the latest gcc compilers.
MiRaGe should be compatible all AOSP-based ROMs, as long as the same user-space libraries are used with the stock 4.3 ROM. I can't claim universal compatibility since even stock JSS and JWR builds need different kernels.
Would you consider making a ZIP?
I found your kernel to be quite interesting, but I don't really like flashing via IMG file.
C.T.Richter said:
Would you consider making a ZIP?
I found your kernel to be quite interesting, but I don't really like flashing via IMG file.
Click to expand...
Click to collapse
you can download one of 1000 kernels around here and replace the kernel.img ... and wholà you have a zip version.
anarkia1976 said:
you can download one of 1000 kernels around here and replace the kernel.img ... and wholà you have a zip version.
Click to expand...
Click to collapse
Can't agree with you more but the problem with so many people on xda is that they rarely even open up a zip file to see how it operates. Guarantee most of the people will shy away simply because of the lack of a zip. Again I agree its not that hard to do but lets be honest here most have problems searching so taking a boot.img and putting it in a zip probably aint happening
I have just uploaded the alternative flashable zip files. I will remove the image files since they are in the zip files now.
Just flashed on slim and lost root... Just a heads up
Sent from my Nexus 4 using XDA Premium 4 mobile app
anarkia1976 said:
you can download one of 1000 kernels around here
Click to expand...
Click to collapse
LOL that's right!
QUIETLYloud said:
Just flashed on slim and lost root... Just a heads up
Sent from my Nexus 4 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
That can't happen due to flashing the zip files in the OP since there is nothing in the zip file that touches /system, it is not even mounted.
Gonna give it a go on Vanir. I'll report back of my root gets effected. Happened a lot with 4.3 when it first came out
Sent from my Nexus 4 using Tapatalk
DontPushButtons said:
Gonna give it a go on Vanir. I'll report back of my root gets effected. Happened a lot with 4.3 when it first came out
Sent from my Nexus 4 using Tapatalk
Click to expand...
Click to collapse
I am using CWM 6.0.4.4. It is constantly suggesting to restore my root although it is not lost. If this is what is mentioned here, just ignore it; root is not lost. SuperSU, su keep working. Actually, I am losing my patience with CWMT lately. Maybe it is time to switch to TWRP.
mrg666 said:
I am using CWM 6.0.4.4. It is constantly suggesting to restore my root although it is not lost. If this is what is mentioned here, just ignore it. Root is not lost. SuperSU, su keeps working. Actually, I am loosing my patience with CWMT lately. Maybe it is time to switch to TWRP.
Click to expand...
Click to collapse
I'd say it's long overdue to switch to twrp lol. Ever since I switched to twrp back on my rezound, I have NEVER looked back to cwm. Not to say cwm isnt/wasn't great.. But you know how it is lol.
Sent from my Nexus 4 using Tapatalk
DontPushButtons said:
I'd say it's long overdue to switch to twrp lol. Ever since I switched to twrp back on my rezound, I have NEVER looked back to cwm. Not to say cwm isnt/wasn't great.. But you know how it is lol.
Sent from my Nexus 4 using Tapatalk
Click to expand...
Click to collapse
I just don't like the "overdesigned" interface of TWRP. It is too fancy for my taste. But as long as it works when needed, it would be fine with me. I don't boot into recovery so frequently anyway since I flash the kernel in fastboot or Flash Image GUI.
Oddly enough, I lost root. I'm currently running the latest version of Paranoid Saberdroid.
C.T.Richter said:
Oddly enough, I lost root. I'm currently running the latest version of Paranoid Saberdroid.
Click to expand...
Click to collapse
Is it just what the recovery says? I use the stock JWR ROM and root is preserved when I flash although CWMT falsely complains about it.
Edit: I just tested with TWRP as well. Root is still preserved.
mrg666 said:
Is it just what the recovery says? I use the stock JWR ROM and root is preserved when I flash although CWMT falsely complains about it.
Edit: I just tested with TWRP as well. Root is still preserved.
Click to expand...
Click to collapse
Using TWRP there is no error message, it just says it was installed successfully.
I just tried it on a clean install, and the same thing happened.

[Kernel][12/12/14][LG][D855]Rin Kernel 1.2[LOLLIPOP]

RIN Kernel for D855/P/K
Close to stock with some sugar added ... delicous!
Hey guys and girls,
you may have seen my unified stock kernel thread already (or may not, but doesn't matter). This kernel is my attempt to build up on the fixed source and add some additional features for us mod lovers to thinker with and to personalize your device to your usage. For now, I'll keep it close to my stock source and just pull some additional features and fixes in, but not to much. That may change in the future (maybe even soon), but for now, I'll stick to that paradigm.
First of, DISCLAIMER, I'm not responsible for bricked devices, dead unicorns, rainbows with missing colors, world war, nose bleed, void warranty (you know that already, don't you? your warranty is void now and it's your fault ) or any other harm happening to your device, you or people around you!
What does it serve? (Features)
Built with sabermod 4.9 toolchain
IO Schedulers
BFQ
CFQ
DEADLINE
FIFO
FIOPS
NOOP
ROW (default)
SIO
TRIPNDROID
VR
ZEN
Governors
Adaptive
Conservative
DanceDance
Intelliminmax
Interactive (default)
Lagfree
Lionheart
OnDemand
Performance
Powersave
SmartassV2
Userspace
Wheatley
Smartmax
TCP Congestion Algorithms
BIC
Westwood+
Vegas
Veno
Yeah
HTCP
Cubic (default)
Reno
init.d support
root support
Voltage control
SoundControl
Intelliplug
OC to 2.7GHz and UC support
Cpu limiter
2-Way Call Recording support
Simple GPU Algorithm
Simple_ondemand GPU Governor fixed
exFat support
ntfs support (bugged)
F2FS support
Enhanced Oversharpening fix (set to 22)
DriveDroid support
KSM
android logger sysfs toggle (disabled by default)
Many under the hood fixes
Stability
More to come
How to apply it? (Installation)
IMPORTANT: Read through all the requirements, steps and warnings before you do anything, if any requirement doesn't match or you don't know what one or more of the steps below mean or do, ask before you do any of them, if you don't know how all the steps can be done, let it be, I warned you, if you don't do and something bad happens, I'll just laugh at you!!
Requirements? Yes!
D855/P/K
Custom Recovery
Stock or Stock based ROM (no AOSP)
How to flash the kernel?
Download zip
Place on internal or external SD
Reboot to recovery
Choose install zip
Search for the downloaded zip
Confirm flashing
Wipe cache
Reboot
Have fun
How to boot unbumped kernels?
Only needed for the img files prior version 1.0
Plugin your device to the PC
Open a terminal and execute
Code:
adb shell # open a shell over adb
su # change to superuser
dd if=/dev/block/platform/msm_sdcc.1/by-name/laf of=/storage/external_SD/stock-laf.img # backup the stock download mode to your external sd
exit # exit the superuser shell
exit # exit the adb shell
adb pull /storage/external_SD/stock-laf.img . # backup the download mode image from you external sd to the PC
adb shell
su
dd if=/dev/zero of=/dev/block/platform/msm_sdcc.1/by-name/laf # remove the stock download mode
BEWARE, THIS WILL REMOVE YOUR DOWNLOAD MODE!!! YOU WON'T BE ABLE TO FLASH KDZ FILES BEFORE YOU RESTORED IT!!!!
Turn off the device completely, plug in the USB-cable, if you pulled it out and start the device by holding vol up + power till you see some white text on the screen, fastboot should be written somewhere on the screen, afterwards execute the following command on the PC (while in the directory you've downloaded the kernel image to).
D855:
Code:
fastboot boot D855-rin-1.6.img # boot the kernel
F400:
Code:
fastboot boot F400-rin-1.6.img # boot the kernel
BEWARE, NEVER USE FLASH AT FASTBOOT ONLY BOOT, IT WILL TRIGGER SECURITY OF THE LOCKED BOOTLOADER AND YOU WON'T BE ABLE TO BOOT ANYMORE!!!!
You're done now and booted to the custom kernel!
How to make sure you're running the kernel?
To check if you properly booted into the kernel execute this in the command line (terminal emulater or through adb shell):
Code:
cat /proc/version
it should show
Code:
Linux version 3.4.0-rin-g58903a9-dirty ([email protected]) (gcc version 4.9.1 20140710 (prerelease) (crosstool-NG linaro-1.13.1+bzr2673 - Linaro GCC 2014.07 - Cortex-A15) ) #53 SMP PREEMPT Thu Aug 14 13:26:42 CEST 2014
Once more a warning READ IT!!:
BEWARE, when you reboot you'll boot to the stock kernel, you'll have to boot the custom kernel over fastboot every time, when you boot normally, you'll be on the stock kernel, this won't lead to issues, but you'll miss the benefits of this kernel, I know that's not optimal, but the best we can get with the locked bootloader.
How to restore Download mode?
Code:
adb shell # open a shell over adb
su # change to superuser
dd if=/storage/external_SD/stock-laf.img of=/dev/block/platform/msm_sdcc.1/by-name/laf # restore the stock download mode from the backup on your external sd
Changes? (Changelog)
12.12.2014/1.2
F400 support added
F2FS support
NTFS fixed
intellimm added
intelliplug readded
intelliactive and intellidemand removed
loads of upstream changes from V20C F400 Source
V20D ramdisk
boot partition clean up before flashing kernel in updater-script
28.11.2014/1.1
selinuxfs storage fix
Build in KSM module
26.11.2014/1.0
Initial Release
Full list of commits can be found here
Where to get it from? (Download)
google drive | AndroidFileHost | dev host
Let me test!! (Beta Testing Community)
Google+ LG G3 Beta Testing Community
Show me the so(u)rce(ry)! (Source Code)
https://github.com/tectas/android_kernel_lge_msm8974ac/tree/rin-lollipop
Donators (huge thanks, you're simply great )
@Toneman07
@Helloworld294
@shaarky
@Dreamxtreme
@guyd
@mosincredible
@tobitege
@AndroidUzer
Credits
XDA
Google
LG
@HolyAngel
@faux123
@KAsp3rd
@myfluxi
@trialsrider1
@Skin1980
@Lord Boeffla
@GuneetAtwal
@DooMLoRD
If you like my work, please show your appreciation by pressing the thanks button, if you want to do more, i've nothing against a little donation, but I'm as happy when you just thank me by pressing the button
XDA:DevDB Information
Rin Kernel, Kernel for the LG G3
Contributors
Tectas
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: 1.2
Stable Release Date: 2014-12-12
Created 2014-11-26
Last Updated 2015-01-09
Any questions? (FAQ)
How can I toggle the android logger?
File Explorer Method:
Go with a root explorer to /sys/kernel/logger_mode and open the logger_mode file.
Remove everything inside that file and put the number 1 to enable and 0 to disable the logger into it and save the file.
Terminal Method:
Enable the logger
Code:
echo 1 > /sys/kernel/logger_mode/logger_mode
Disable the logger
Code:
echo 0 > /sys/kernel/logger_mode/logger_mode
My internal sd is not working, what to do?
Open adb shell or a terminal emulator and type
Code:
su
restorecon -v -R /data/media
How to boot to recovery via button combo on F400 variants?
Power off.
Press power + volume down keys.
Wait for LG logo and then release the buttons.
Immediately press volume down + volume up buttons.
Release the keys once the hard reset menu is being displayed on your LG G3.
Thanks to @Eagledig for the method and @KingOfDope for pointing me to it.
Whats the difference between this one and 1.8.5 as that works on lol as well
Dreamxtreme said:
Whats the difference between this one and 1.8.5 as that works on lol as well
Click to expand...
Click to collapse
Because there where the reboot problems, I've started from scratch and just pulled the most important stuff in for now, governors, fixes, tcp algorithms, simple gpu algorithm, schedulers, disabled logger, ntfs, exfat, OC, UC, UV, SoundControl, 2-Way call recording, Drive Droid support and some additional enhancements.
It's not as feature rich as the old 1.8.5 was, I'm adding the features step by step again to this, but it's now stable for all, that's why I also started from scratch with the version number, it won't correlate from now on with the kitkat one.
Tectas said:
Because there where the reboot problems, I've started from scratch and just pulled the most important stuff in for now, governors, fixes, tcp algorithms, simple gpu algorithm, schedulers, disabled logger, ntfs, exfat, OC, UC, UV, SoundControl, 2-Way call recording, Drive Droid support and some additional enhancements.
It's not as feature rich as the old 1.8.5 was, I'm adding the features step by step again to this, but it's now stable for all, that's why I also started from scratch with the version number, it won't correlate from now on with the kitkat one.
Click to expand...
Click to collapse
Cool. What's missing just so I know I'm about to flash loli now
@Tectas maybe you can create an aroma installer to chose undervolting(over the whole line) and to set custom hotplug, governors, frequencies as default(init.d script). when it is packed(even more) with features
Dreamxtreme said:
Cool. What's missing just so I know I'm about to flash loli now
Click to expand...
Click to collapse
The intelli thermal , intelliplug, memutil enhancements, high priority workqueue, upstream backport for workqueue, AIO optimizations, sabermod optimized flags and some small additional stuff
suljo94 said:
@ tectas maybe you can create an aroma installer to chose undervolting(over the whole line and to set custom hotplug, governors, frequencies as default(init.d script)
Click to expand...
Click to collapse
Possible at some stuff, but I think it's more convenient with doing this after boot per app and to make it stick with set on boot afterwards, that way you only have to change it after a factory reset, with aroma you would have to set it at every flash.
Tectas said:
Possible at some stuff, but I think it's more convenient with doing this after boot per app and to make it stick with set on boot afterwards, that way you only have to change it after a factory reset, with aroma you would have to set it at every flash.
Click to expand...
Click to collapse
I was just ssaying it because my trickster sometimes forgets to set it at boot/flash (1/2 of the time)
Will the logcat still be available?
Logcat is always available, the output is just disabled by default. Go to /sys/kernel/logger_mode, open the file logger_mode, remove the stuff what's in it and write and safe a 1 into it (or the fast way, echo 1 > /sys/kernel/logger_mode/logger_mode executed in a terminal or through adb shell) and logcat output will be enabled again, to disable it, do the same with a 0 instead of the 1.
Sent from my LG-D855
It was the only way to be done properly imo! Great move. Fix one thing per time. Well ntfs support seems broken in otg. I tried 2 sticks and 1 hdd.
**I am known benchmark junkie too. The Antutu score was really low. 24.000 points. Stock kernel delivers 39-40k.
nikosblade said:
It was the only way to be done properly imo! Great move. Fix one thing per time. Well ntfs support seems broken in otg. I tried 2 sticks and 1 hdd.
**I am known benchmark junkie too. The Antutu score was really low. 24.000 points. Stock kernel delivers 39-40k.
Click to expand...
Click to collapse
which setting did you use while benchmarking, because i got 40700 with the temp thing holding be back(performannce settings with overclock)
This version 1.0 is Official no test??
jojobans said:
This version 1.0 is Official no test??
Click to expand...
Click to collapse
Yes it is... =)
nikosblade said:
It was the only way to be done properly imo! Great move. Fix one thing per time. Well ntfs support seems broken in otg. I tried 2 sticks and 1 hdd.
**I am known benchmark junkie too. The Antutu score was really low. 24.000 points. Stock kernel delivers 39-40k.
Click to expand...
Click to collapse
Did you maybe run the benchmark directly after boot or some time off usage?
Probably it was throttled as you benchmarked it.
Sent from my LG-D855
nikosblade said:
It was the only way to be done properly imo! Great move. Fix one thing per time. Well ntfs support seems broken in otg. I tried 2 sticks and 1 hdd.
**I am known benchmark junkie too. The Antutu score was really low. 24.000 points. Stock kernel delivers 39-40k.
Click to expand...
Click to collapse
Tectas said:
Did you maybe run the benchmark directly after boot or some time off usage?
Probably it was throttled as you benchmarked it.
Click to expand...
Click to collapse
Probably, 'cause I got 41,585 using the kernel, smartassv2 w/o OC... =)
Sorry for the noob question... What app would you recommend for controlling sound? (as I read "soundcontrol" in features...) Thanks!
pblasi said:
Sorry for the noob question... What app would you recommend for controlling sound? (as I read "soundcontrol" in features...) Thanks!
Click to expand...
Click to collapse
Fauxsound...? =)
Sent from my LG-D855 using Tapatalk
pblasi said:
Sorry for the noob question... What app would you recommend for controlling sound? (as I read "soundcontrol" in features...) Thanks!
Click to expand...
Click to collapse
it is just to increase the volume even more.
trickstermod(donation version)
fauxsound(paid app)

[kernel] [lp] [most-roms] [all-qcom] idleKernel, a leanKernel fork (7.1.0)

I am closing this thread as I no longer have valid download links available, I can't maintain this project anymore, and I'd like to make sure everyone understands that any links uploaded by other users cannot be confirmed to be unmodified. Proceed at your own risk!
This thread is for the N9005, N900A, N900P, N900V, N900R4, N900K, N900L, N900S, SC-01F, and SCL22 variants of the Galaxy Note 3.
You can find the other thread for N900W8 and N900T variants here.
idleKernel is a fork from Imoseyon's leanKernel starting at his v6.3 Touchwiz release.
It adds a few more features, escaping somewhat from the minimalist approach while still staying battery friendly.
It hopes to support many ROMs. You can request support for your ROM through private message or on this thread.
You can also find Imoseyon's leanKernel here, which still has ongoing development.
DOWNLOAD
Current version: 7.1.0 (2016-03-27)
Note that there are both SELinux Enforcing and SELinux Permissive versions.
If you are using a custom ROM or f2fs, you will need the permissive version.
All Note 5 ports are forced permissive, and have no enforcing version due to invalid SEPolicy.
TouchWiz 5.0 kernels cannot have their SELinux mode changed by any means, they are compiled as either enforcing or permissive.
idleKernel is also used in the Kali NetHunter project! For full idleKernel functionality in Kali NetHunter, flash one of the images here before flashing NetHunter.
Please be careful to download the right version for your actual phone model, not your ROM.
N9005: hlte-eur
N900A: hlte-att
N900W8: hlte-can
N900P: hlte-spr
N900R4: hlte-usc
N900T: hlte-tmo
N900V: hlte-vzw
N900K: hlte-ktt or hlte-kor
N900L: hlte-lgt or hlte-kor
N900S: hlte-skt or hlte-kor
SC-01F: hlte-dcm
SCL22: hlte-kdi
DOWNLOAD LINKS REMOVED
RAN INTO AN ISSUE OR BUG?
In order for me to help you, you have to at minimum reply with:
The link to the exact kernel zip/tar you downloaded
Your device model (N9005, etc)
A link to the XDA thread of the ROM you're having trouble with
Optional: A logcat during the duration of when the bug is happening
Optional: A `cat /proc/kmsg > /sdcard/kmsg.log` (su required) during the duration of when the bug is happening
You may be able to fix the bug by updating to the latest bootloader and modem for your device.
See: (Direct Download) Latest Bootloaders & Modems
FEATURES INCLUDED FROM LEANKERNEL
overclockable to 2.72GHz, but limited to 2.2GHz during boot
interactiveX V4 (screen_off_maxfreq), renamed back to interactive for compatibility
/sbin/lkconfig script (via terminal emulator, superuser required)
user adjustable panel temperature: -60 to 0, 0 is kernel default (via lkconfig & sysfs)
user adjustable panel colors: 0 to 4, 2 is kernel default (via lkconfig & sysfs)
fix for purple hue/push at low brightness (via panel temperature or panel colors)
cpufreq modified to play better with thermal-engine
compiled with stable Linaro GCC Cortex-A15 4.9 toolchain
built-in supersu and init.d support
DriveDroid compatibility for USB mass storage emulation
interactive governor updated to latest android source (but ondemand left default)
outdated Samsung code updated to later CodeAurora source (cpufreq, mdss, gpu, msm-bus, etc.)
cpufreq issues fixed
exFAT support
ram console enabled for /proc/last_kmsg for kernel crash debugging
FauxSound 3.0
default USB charge speed @ 1200mA
based on N900TUVUFOB6 (February 23, 2015)
IDLEKERNEL FEATURES
rebased on N900TUVUFOL1 (December 5, 2015) and SC01FOMUGOI4 (September 9, 2015)
updated to latest 3.4 Linux (currently 3.4.111)
tailored individually to support all variants of TouchWiz 5.0, CyanogenMod 12.1 & 13.0, SlimRom 5.1 & 6.0, and Note 5 Ports
ramdisk and kernel compressed with xz-crc
FauxSound updated to 3.6
CodeAurora fixes up until December 8, 2015
new IO schedulers available: sio, fiops (default)
new TCP congestion control available: westwood
cubic (default) TCP congestion algorithm updated to Linux 4.3 sources
f2fs full /system /data /cache support (except in enforcing mode TouchWiz)
f2fs updated to latest kernel.org Samsung sources
ext4 updated to latest kernel.org sources
performance governor included for benchmarking & games
adreno idler updated to latest arter97 sources (now with 27 MHz idle)
forced fast charge support by Yank555.lu
full sysfs & in rom vibration control with extended range
compiled with -O2 optimizations
some kernel errors and logging functions fixed
lkconfig rewritten and extended, renamed to ikconfig
support for KCAL advanced color control by savoca
USB mass storage toggle for external SDcard, open Terminal Emulator and type: ums on.
USB 3.0 is turned on if you add 3 to commands: mtp on 3, ptp on 3, ums on 3.
SuperSU uses system install method even on marshmallow, adjustable via ikconfig (set on first boot)
USB HID keyboard and MIDI gadget support (added in 6.7.1!)
INSTALLATION
You can flash idleKernel from Odin 3.x in AP slot using tar.md5 files.
You can also flash from TWRP 2.8.x.x using zip files.
CONFIGURATION OPTIONS
Open Android Terminal Emulator or adb shell, become superuser by typing su, press enter, and type /sbin/ikconfig (on most ROMs you can just type ik), press enter again.
Code:
[email protected]:/ $ su
[email protected]:/ # /sbin/ikconfig
idleKernel configurator (based on lkconfig by Imoseyon)
---
0) display current settings
1) panel temperature
2) panel color
3) cpu max frequency
4) cpu governor
5) gpu governor
6) tcp congestion control
7) io scheduler
8) mmc crc
9) supersu install method
10) check top 10 wake locks (ie. wakeup sources)
please enter a number (or press enter to exit): 0
current settings
----------------
1) panel temperature: 0
2) panel color: 2
3) cpu max frequency:
screen on: 2265600
screen off: 1267200
4) cpu governor: interactive
5) gpu governor: msm-adreno-tz
6) tcp congestion control: cubic
7) io scheduler:
internal memory: noop deadline row [sio] fiops
external sdcard: noop deadline row [sio] fiops
8) mmc crc: disabled
9) supersu install method: system
I recommend the app Kernel Adiutor for control over idleKernel if you are inexperienced in terminal usage, it's very well written and easy to use.
If you want to use the FauxSound controls, please consider buying FauxSound from the Play Store. It's the same developer that wrote the kernel side components to it.
If you want to use KCAL advanced color control, you will need to download the Color Control app from here.
USB 3.0 & MASS STORAGE
idleKernel 6.6.2+ comes with a terminal command called usb, with shortcuts mtp, ptp, and ums.
These commands don't work from adb as running them usually closes the adb session cancelling the command part way through.
They are meant to be run from Terminal Emulator as superuser. If it shows not found, go into Terminal Emulator options and uncheck "Verify PATH entries". There is a bug in Terminal Emulator that causes /sbin to be removed from path sometimes when using su. You could also prefix the commands with /sbin/.
Code:
[email protected]:/ # usb
Usage: usb [mtp|ptp|ums|status] [on|off]
Enables or disables MTP, PTP, and UMS USB modes.
mtp on/off turns on/off MTP mode
ptp on/off turns on/off PTP mode
ums on/off turns on/off UMS mode
default sets USB mode to default
-3, 3 activates USB 3.0, use with on
-i, info, status displays active USB mode
-h, help displays this information
-v, version displays version info
For more help & to report bugs contact <[email protected]>
[email protected]:/ # ums on 3
Disabling USB transfer protocols...
Unmounting SDcard from /storage/extSdCard...
SDcard unmounted successfully.
Activating USB 3.0 SuperSpeed mode...
Setting up dwc3 storage gadget lun...
Mounting /dev/block/mmcblk1 to lun...
Activating USB Mass Storage transfer mode...
Done. PLEASE USE EJECT MEDIA ON PC BEFORE TURNING OFF UMS!
[email protected]:/ # mtp on 3
Disabling dwc3 storage gadget lun...
Disabling USB transfer protocols...
Mount SDcard in Android? (y/n): y
Mounting SDcard to /storage/extSdCard...
Waiting for SDcard to be ready....
SDcard mounted successfully.
Activating MTP USB transfer mode...
Done.
[email protected]:/ # usb default
Disabling USB transfer protocols...
Deactivating USB 3.0 SuperSpeed mode...
Setting USB mode to default...
Done.
TEAM WIN RECOVERY PROJECT
You will probably notice that in the downloads area there is also a TWRP 2.8.7.0 download option.
It uses idleKernel instead of the kernel prebuilts from Omni.
MTP and USB Mass Storage R/W now works in recovery mode, allowing you to plug phone in and easily transfer zips and backups/restores to and from your phone and sdcard. It also fixes some file system bugs that caused ext4 broken backups that couldn't restore to f2fs partitions, and other small bugs like brightness adjustment not working.
On top of that it allows me to support TWRP for variants that aren't officially supported, such as the Japanese and Korean variants.
You can also use ikconfig in TWRP from adb, allowing you to fix settings like unstable CPU overclocks from recovery.
It also has a really cool boot splash and gold theme, that's cool too right?
GOING TO F2FS FILE SYSTEM
See step-by-step guide here:
http://forum.xda-developers.com/gal...ekernel-leankernel-fork-t3241582/post64014959
KNOWN ISSUES
Screen sometimes turns on while charging from PC. (wake event sent from PC?)
Some ROMs refuse to flash in TWRP idleKernel edition. (tell ROM maintainer to fix flash model assert or remove assert yourself)
Streaming audio may occasionally stutter when screen is off. (increase screen off max frequency using ikconfig)
exFAT and f2fs formatted SDcards don't work in CM13. (not a kernel issue, wait for CM team to fix it)
Aroma Installer doesn't work in TWRP idleKernel edition. (it's not compiled with LP driver support? flash original TWRP to use Aroma)
If you are affected by a new issue, please follow ALL of the instructions above and post in the thread or pm it to me.
ROM DEVELOPERS
You have my permission to include idleKernel in your ROM. By doing so, I recommend that you give me the permission to try to work with users on your ROM thread to fix bugs that may possibly be kernel related. On important idleKernel updates, I may visit your thread and notify users of the changes and give them a link back to this thread.
You may also recompile idleKernel with your own changes, and give it a different name if desired. Credit to me is not necessary, but you must keep a branch with the complete source code on a publicly visible site like GitHub, and link to that from your thread. I have a guide in the post underneath this on how to do that.
If you wish to change the default settings of ikconfig when distributing the kernel in your ROM, the easiest way would be to mount /data in your recovery flash script, check for existence of /data/data/idlekernel, if it doesn't exist, create it and write values to a file for every setting you wish to change. Valid files are:
Code:
/data/data/idlekernel/paneltemp - values: -60 to 0 (default 0)
/data/data/idlekernel/panelcolor - values: 0 to 4 (default 2)
/data/data/idlekernel/scaling_max_freq - values in Hz: 652800, 883200, 1267200, 1574400, 2265600 (default), 2496000, 2726400
/data/data/idlekernel/screen_off_maxfreq - values in Hz: 652800, 883200, 1267200 (default), 1574400, 2265600
/data/data/idlekernel/cpu_governor - values: ondemand, interactive (default), performance
/data/data/idlekernel/gpu_governor - values: msm-adreno-tz (default), powersave, performance, simple_ondemand
/data/data/idlekernel/tcp_congestion_control - values: cubic (default), westwood, reno
/data/data/idlekernel/io_scheduler_internal - values: noop, deadline, row, sio (default), fiops
/data/data/idlekernel/io_scheduler_external - values: noop, deadline, row, sio (default), fiops
/data/data/idlekernel/use_spi_crc - values: Y, N (default)
/data/data/idlekernel/supersu - values: SYSTEMLESS=detect/true/false (default)
XDA:DevDB Information
idleKernel, Kernel for the Samsung Galaxy Note 3
Contributors
jcadduono, Imoseyon, arter97, faux123
Source Code: https://github.com/jcadduono/idleKernel-note3
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: 7.1.0
Stable Release Date: 2016-03-27
Created 2015-11-05
Last Updated 2018-07-12
Reserved
EVER WANTED TO MAKE YOUR OWN KERNEL FORK?
jcadduono's GitHub forking crash course
1. Make an account on GitHub!
2. Use the fork button @ https://github.com/jcadduono/idleKernel-note3 or any other repository
3. In your terminal emulator, cd to the location you want your repository.
4. git clone https://github.com/YOUR_USERNAME/idleKernel-note3.git
(optionally add folder name after that command to change it to something other than idleKernel-note3)
5. cd idleKernel-note3
6. git remote add jc https://github.com/jcadduono/idleKernel-note3.git
(this will allow you to send commits to me, cherry-pick commits from me, or pull new commits from me!)
7. git fetch jc
(do this whenever you want updated commits from me to be available to you for cherry-picking or merging)
8. Be sure to set your git author information too, for proper commit info!
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
git config --global push.default simple
(that last one just removes a warning message whenever you push commits to github)
9. Whenever you want to pull all the latest and greatest commits from me all at once, run:
git fetch jc
git merge jc
I don't recommend doing that though, because if our branches diverge too much our commits might become incompatible or you might not want some of my changes.
The best way to do it would be to:
git fetch jc
git log jc/X
Replace X with ik-touchwiz/ik-cm12.1/ik-slim5.1, that will show you all of my commits.
For every new commit you want, cherry-pick one at a time to make sure each goes successfully.
git cherry-pick <hash from git log jc/X>
10. Now whenever you make changes to your fork, and you are satisfied with them, you can do:
git add .
(that adds every changed file to the next git commit)
or
git add <file>
then
git diff HEAD
(this is optional, but I recommend looking over everything you changed to make sure it makes sense and you can find extra whitespace or typos!)
11. Once you are satisfied with the changes you've made, you can commit them to the branch history.
git commit -m "made some great change that you detail here"
12. To put your new commits up on GitHub, all you have to do is:
git push
13. If you want to send that commit to me as well, you can do:
git push jc
TIPS
Made a mistake and committed it already? You can time travel through git history using the rebase command!
git rebase -i HEAD~X
Replace X with how far back in commit history you want to edit, trust me time travel is a bad idea.
Just change pick to drop and Ctrl+X Y enter, git will make that commit disappear forever like it never happened.
You can also use various other words like reword to change the message of a commit, etc.
In order for GitHub to accept rebases, you have to add -f to git push, but only if you are changing history you've already pushed to GitHub.
If you've already pushed a commit to GitHub and want to undo it, you can do:
git log
git revert xxxxxx
Replace xxxxxx with the hash of the commit you want undone.
If you haven't pushed to GitHub yet, using git rebase is fine for undoing or rewording commits.
Any time you want to see all the changes from one of my commits, you can use
git show xxxxxxxx
Replace xxxxxxxx with the hash from git log jc/X or even your own git log.
It pipes a nice scrollable colored diff through `less`
If you want to stop it from asking for your GitHub username when you push, in idleKernel-note3 directory do:
nano .git/config
Find a line that looks like:
url = https://github.com/......
Add before github.com so it looks like this:
url = https://[email protected]/...
Now press Ctrl+X Y enter to save.
Tnx
Sent from my SM-N9005 using Tapatalk
Thanks....6.50 works perfectly on my OJ6 rom for the moment....congrats to you and @Imoseyon for his wonderful base......
Awesome.
Just awesome work!
Thanks boss!
Edit: I guess kernel name comes from looooong straight battery lines while phone is in deep sleep!
Please how do I patch this kernel for dual booting it has refused to patch
Sent from my SM-N920C using Tapatalk
waplegend said:
Please how do I patch this kernel for dual booting it has refused to patch
Sent from my SM-N920C using Tapatalk
Click to expand...
Click to collapse
You need to talk to maintainer of dual boot patcher, tell him that his patcher isn't working with kernel style xz compression. xz uses --check=crc32 --lzma2=dict=2MiB when compressing.
piats said:
Edit: I guess kernel name comes from looooong straight battery lines while phone is in deep sleep!
Click to expand...
Click to collapse
exactly!
jcadduono said:
You need to talk to maintainer of dual boot patcher, tell him that his patcher isn't working with kernel style xz compression. xz uses --check=crc32 --lzma2=dict=2MiB when compressing.
Click to expand...
Click to collapse
Alright thanks
Sent from my SM-N920C using Tapatalk
Can u make it compatible with note 5 port rom ?
peped94 said:
Can u make it compatible with note 5 port rom ?
Click to expand...
Click to collapse
Sure. Can you link me to the ROM?
6.5.1 is up, have at her! I'm going to get some shut eye so I will be awake tonight to take my puppy to puppy school.
PS. xda can she be the project logo?
jcadduono said:
Sure. Can you link me to the ROM?
6.5.1 is up, have at her! I'm going to get some shut eye so I will be awake tonight to take my puppy to puppy school.
PS. xda can she be the project logo?
Click to expand...
Click to collapse
Here is the link http://forum.xda-developers.com/galaxy-note-3/development/rom-darklord-s6-port-alpha-t3083087. It is based on android 5.1.1
I was waiting for lean kernel update to run it on 5.1.1 TW from darklord note5 port , I read this and I thought here is solution . Can you make it happened ? 5.1.1 support TW variant . I am using the same rom that peped94 pointed to .
budalica said:
I was waiting for lean kernel update to run it on 5.1.1 TW from darklord note5 port , I read this and I thought here is solution . Can you make it happened ? 5.1.1 support TW variant .
Click to expand...
Click to collapse
Not entirely sure, I'll have a look at the ramdisk tomorrow. I don't see kernel sources provided so I'm hoping all he's done is changed some things in the ramdisk. If I do support it, it will likely only be for N9005 and not the other variants. What happens when you try to run https://idlekernel.com/touchwiz-lol....5.1_2015_11_05/idleKernel-hlte-eur-6.5.1.zip on it?
jcadduono said:
Not entirely sure, I'll have a look at the ramdisk tomorrow. I don't see kernel sources provided so I'm hoping all he's done is changed some things in the ramdisk. If I do support it, it will likely only be for N9005 and not the other variants. What happens when you try to run https://idlekernel.com/touchwiz-lollipop/v6.5.1_2015_11_05/idleKernel-hlte-eur-6.5.1.zip on it?
Click to expand...
Click to collapse
I tried lean kernel and couple others but it does not boot anymore . I have not tried idle kernel yet . I have International n9005 snapdragon running darklord note5 port 5.1.1 touchwiz . I might try to flash it tonight after work . Now I can't I need my phone . NIce dog . Looks like fun dog .
Good job bro!
Thanks again.
I'm testing 6.5.1 work perfect with audax v31(OJ1)
It's smooth fast and supreme battery life
Inviato dal mio SM-N9005 utilizzando Tapatalk
jcadduono said:
This thread is for the N9005, N900A, N900P, N900V, and N900R4 variants of the Galaxy Note 3.
You can find the other thread for N900W8 and N900T variants here.
idleKernel is a fork from leanKernel starting at Imoseyon's v6.3 release.
It adds a few more features, escaping somewhat from the minimalist approach while still staying battery friendly.
It hopes to support many ROMs. You can request support for your ROM through private message or on this thread.
DOWNLOAD
Current version: 6.5.1
Note that there are both SELinux Enforcing and SELinux Permissive versions.
If you are using a custom ROM or f2fs, you will need the permissive version.
TouchWiz 5.0: https://idlekernel.com/touchwiz-lollipop
CyanogenMod 12.1: https://idlekernel.com/cm12.1
SlimRom 5.1: https://idlekernel.com/slim5.1
FEATURES INCLUDED FROM LEANKERNEL
overclockable to 2.72GHz, but limited to 2.2GHz during boot
updated to latest 3.4 Linux (currently 3.4.110)
interactiveX V4 (screen_off_maxfreq)
/sbin/lkconfig script (via terminal emulator, superuser required)
user adjustable panel temperature: -60 to 0, 0 is kernel default (via lkconfig & sysfs)
user adjustable panel colors: 0 to 4, 2 is kernel default (via lkconfig & sysfs)
fix for purple hue/push at low brightness (via panel temperature or panel colors)
cpufreq modified to play better with thermal-engine
latest Linaro gcc 4.9 toolchain
built-in supersu and init.d support
interactive governor updated to latest android source (but ondemand left default)
outdated Samsung code updated to later CodeAurora source (cpufreq, mdss, gpu, msm-bus, etc.)
cpufreq issues fixed
exfat support
ram console enabled for /proc/last_kmsg for kernel crash debugging
FauxSound 3.0
default USB charge speed @ 1200mA
based on N900TUVUFOB6 (February 23, 2015)
IDLEKERNEL FEATURES
rebased on N900W8VLU2DOH1 (August 26, 2015)
tailored individually to support all variants of TouchWiz 5.0, CyanogenMod 12.1, and SlimRom 5.1
ramdisk and kernel compressed with xz-crc
FauxSound updated to 3.6
CodeAurora fixes up until November 5, 2015
new IO schedulers available: sio (default), fiops
new TCP congestion control available: westwood
cubic (default) TCP congestion algorithm updated to Linux 4.3 sources
f2fs full /system /data /cache support (in permissive)
f2fs updated to latest kernel.org Samsung sources
ext4 updated to latest kernel.org sources
performance governor included for benchmarking & games
adreno idler updated to latest arter97 sources (now with 27 MHz idle)
forced fast charge support by Yank555.lu
full sysfs & in rom vibration control with extended range
compiled with -O2 optimizations
some kernel errors and logging functions fixed
lkconfig rewritten and extended, renamed to ikconfig
INSTALLATION
You can flash idleKernel from Odin 3.x in AP slot using tar.md5 files.
You can also flash from TWRP 2.8.x.x using zip files.
CONFIGURATION OPTIONS
Open Android Terminal Emulator or adb shell, become superuser by typing su, press enter, and type /sbin/ikconfig (on most ROMs you can just type ik), press enter again.
Code:
[email protected]:/ $ su
[email protected]:/ # /sbin/ikconfig
idleKernel configurator (based on lkconfig by Imoseyon)
---
0) display current settings
1) panel temperature
2) panel color
3) cpu max frequency
4) cpu governor
5) gpu governor
6) tcp congestion control
7) io scheduler
8) mmc crc
9) check top 10 wake locks (ie. wakeup sources)
please enter a number (or press enter to exit): 0
current settings
----------------
1) panel temperature: 0
2) panel color: 2
3) cpu max frequency:
screen on: 2265600
screen off: 883200
4) cpu governor: interactiveX
5) gpu governor: msm-adreno-tz
6) tcp congestion control: cubic
7) io scheduler:
internal memory: noop deadline row [sio] fiops
external sdcard: noop deadline row [sio] fiops
8) mmc crc: disabled
I recommend the app Kernel Adiutor for control over idleKernel if you are inexperienced in terminal usage, it's very well written and easy to use.
If you want to use the FauxSound controls, please consider buying FauxSound from the Play Store. It's the same developer that wrote the kernel side components to it.
KNOWN ISSUES
Some people have reported their LEDs aren't working?
Screen at 100% brightness after boot (don't report, just turn screen off/on to fix)
If you are affected by a known issue, please get a logcat and kmsg export and post in the thread or pm it to me.
I also need to know your bootloader & ROM version, and which kernel image you flashed.
XDA:DevDB Information
idleKernel, Kernel for the Samsung Galaxy Note 3
Contributors
jcadduono, Imoseyon, arter97, faux123
Source Code: https://github.com/jcadduono/idleKernel-note3
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: 6.5.1
Stable Release Date: 2015-11-05
Created 2015-11-05
Last Updated 2015-11-05
Click to expand...
Click to collapse
korean -N900K N900L N900S;Can you make kernel? thanks!!!
google play store download error code 942
after installing this kernal i get the error code 942 when downloading from play store
on aryamod v7.2 rom
before installing this kernal i did clear cache/dalvik cache , kernal cleaner flashed.
then install the new kernal. then clear cache/dalvik again.
i hav already tried the following : in app settings clear cache / delete data for google play and play service store service. rebooted and clear dalvik/ cache again
problem ongoing. please help
limpme said:
google play store download error code 942
after installing this kernal i get the error code 942 when downloading from play store
on aryamod v7.2 rom
before installing this kernal i did clear cache/dalvik cache , kernal cleaner flashed.
then install the new kernal. then clear cache/dalvik again.
i hav already tried the following : in app settings clear cache / delete data for google play and play service store service. rebooted and clear dalvik/ cache again
problem ongoing. please help
Click to expand...
Click to collapse
No helpful information to go on, what kernel are you using (link to me the exact one you downloaded)? What is your bootloader version?
If you aren't using one from the selinux_permissive folder, 942 could maybe happen from sepolicy killing play store activity.
I will need a logcat of you opening play store and getting that error. You can follow these instructions here.
fbzong said:
korean -N900K N900L N900S;Can you make kernel? thanks!!!
Click to expand...
Click to collapse
I will download the firmware and take a look at it...should have a test version up later today.
Can you please also unquote the entire OP.
Edit: There are no OSRC releases for these phones...I am going in blind. I can probably only do N900S though.
I need someone with an N900S, or an N900L, or an N900K to test for me. I need you on either slim 5.1, touchwiz 5.0, or cm 12.1. cm preferred.
ALSO NEEDED:
If you have an N900L or N900K with Touchwiz, and are rooted, I can support your phones if you do the following in terminal emulator or adb:
su
dd if=/dev/block/platform/msm_sdcc.1/by-name/boot of=/sdcard/boot.img
Please be careful doing this command, because dd + typos are dangerous!
Upload boot.img from your sdcard and give me the link to download it, this will give me your stock ramdisk so that I can copy its necessary variant files into idleKernel's build environment, allowing me to compile idleKernel for N900L or N900K. I already have N900S, as it was available on Samsung's servers.
In the meantime, https://idlekernel.com/test/touchwiz-lollipop
If you have an N900S with Touchwiz please test and report back if it works or what happens.
any chance of adding intelliplug to this kernel?

A discontinued custom kernel

This thread was for a custom kernel for LineageOS 16.0 and 17.1. I left it alone entirely for a long, long, looooong while, and have now properly discontinued it after intending to since forever.
All of the previous content this post had has been removed, as it's no longer necessary with a proper discontinuation with a removal of download links and it's really hard to look at since it was just really bad, and from times when I was totally unknowledgeable (not that I think I have much knowledge even now). Likewise for my replies in this thread, which the contents of have been removed (yep, although knowing there are replies).
Thanks to those who used such custom kernel previously, although I'm not in support of most custom kernels anymore, especially as almost all of them mostly (or only) contain what are gimmicks, and few, if any at all, useful features. The one I maintained was one of such custom kernels.
For anyone who might happen to randomly want this old custom kernel even with no information on what gimmicks it had (and maybe asks for it) at any point: Please forget about it.
For anyone who has old images and is willing to share them after someone requests them: Please don't. They're, well, old and pretty much useless with any new builds, not that they're not already filled with gimmicks, and I made a few pretty bad mistakes with the kernels.
That's all there is to say with the discontinuation, please just ignore this thread.
Hello.
I'm sorry. Please make a reliable kernel to Samsung's official firmware with Android 4.1.2 for remove 4GB file size limitation on an external microSD card formatted in exFAT for Samsung Galaxy S2.
TALUAtXDA said:
Hello everyone,
I have been building my own kernels for myself for a while now. Recently, I have been implementing features in my kernel that many people will find useful, most notably exFAT support. Since there is interest in my kernel, I have decided to release it for everyone to use.
I am not in any way responsible for any damage you happen to cause to your phone trying to use my kernels features (for example, overvolting). Be careful!
Downloads:
I have made 3 boot images, a boot image for no Magisk, one for Magisk Stable and one for Magisk Canary:
Latest version:
No Magisk: TALUs_Custom_Kernel_i9100_LOS_16_20191102_No_Magisk.img
Magisk Stable: TALUs_Custom_Kernel_i9100_LOS_16_20191102_Magisk_Stable_v20.1_ramdisk.img Magisk version: 20.1
Magisk Canary: TALUs_Custom_Kernel_i9100_LOS_16_20191102_Magisk_Canary_v20.2-a6e62e07_ramdisk.img Magisk version: 20.2-a6e62e07
Changelog:
Release 20191102:
Fix exFAT kernel panics relating to truncating (https://github.com/TALUAtGitHub/and...mmit/0dc727fe94ea18cda800a8b8fe1c5b446956224f)
Remove WiFi MAC address changing patch, not sure how it works and editing /efs/wifi/.mac.info doesn't do anything (https://github.com/TALUAtGitHub/and...mmit/a84ba223f9add13aa5465a59b3d67b1f5aa214f4)
Remove recovery ramdisk from initramfs - the recovery ramdisk is unnecessary as we already have TWRP in the recovery partition that's loaded using IsoRec. The boot image has shrunk from around 7.8MB to around 5.3-5.6MB doing this. This will allow more features and future source updates without it exceeding the boot partition size (https://github.com/TALUAtGitHub/and...mmit/d58457099a8995107a2bebbc0a1b733669a5515c)
Old releases:
Release 20191030 from https://forum.xda-developers.com/showpost.php?p=80729219&postcount=849:
Please don't use this release if you want to use exFAT! This release has an exFAT bug relating to truncating which causes kernel panics that were fixed in release 20191102.
Initial release.
Kernel features:
exFAT support:
exFAT support is available via a slightly modified implementation of this in-kernel, native driver: https://github.com/arter97/exfat-linux The modifications are required as the kernel we are using has many backports from newer kernels and this driver selects what code is used based on kernel version. The result is features that the kernel no longer has are selected and there are build errors. With a SD card formatted as exFAT, you can now have files that are bigger than 4GB in size and with better performance than FAT32. exFAT support was already available via a fuse implementation which is not favorable due to bad performance. Implementing the exFAT driver in-kernel means that it is used instead of the fuse implementation. NTFS support is also enabled with CONFIG_NTFS_FS=y but that may be a fuse driver.
Overclocking to 1.4GHz:
By default, this kernel is overclocks the CPU to 1.4GHz. 1.4GHz should be stable on all Exynos 4210 CPUs and was the stock frequency on the very first Note phone which also used an Exynos 4210 CPU. However, if you don't want to use the overclock for slightly lower temperatues, you can set the clock speed back to 1.2GHz using a kernel manager like Kernel Adiutor or by using this echo command in a terminal:
Code:
echo "1200000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
Even if you want to set the clock speed back to 1.2GHz, I would suggest you undervolt the CPU to get lower temperatures. Try undervolting by -5mV at a time every few hours and see what's stable. I can do -65mV on both of my S2s, however, how far you can undervolt varies depending on how well your CPU was manufactured.
CPU voltage control:
WARNING: Overvolting can damage your CPU and I would not suggest you do it. It shouldn't be necessary. Whatever you do, I am not in any way responsible for whatever you happen to do and what damage you cause to your phone. You should only use this feature for undervolting.
CPU voltage control is implemented in this kernel via a typical SysFS interface. You can use either a kernel manager to control CPU voltage or use an echo command in a terminal:
Code:
echo "<1.4GHz voltage> <1.3GHz voltage> <and so on....>" > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table
An example for this command is:
Code:
echo "1215 1190 1165 1115 1065 1015 965 915 915 890 890 890 865 865" > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table
There is also another interface for another unit for measuring voltage. That command is for millivolts. Replace "UV_mV_table" with "UV_uV_table" to control voltage using microvolts.
Charging current control and slightly higher charging current by default:
WARNING: if you decide to set a very high current and something gets damaged, such as something on the motherboard or your battery, you are responsible for the damage, not me.
Charging current control is implemented and is controllable using another typical SysFS interface. The interface can be controlled with milliamps (mA) using yet another typical SysFS interface:
Code:
echo "<AC current> <Miscellaneous current> <USB current>" > /sys/devices/virtual/misc/charge_control/charge_current
Kernel managers don't detect this feature, so the only way to control this is with that command. Also, the charging current for all AC, misc and USB is slightly higher than default. This means that we have better charging times and the battery temperature increase is very small. We are closer to USB specifications when charging on a USB port, too!
GPU clock speed and voltage control:
WARNING: You risk damaging your graphics chip if you set a clock speed or voltage that is too high. I am not responsible for any damage caused using this feature. I have only tested up to 330MHz, nothing more.
GPU clock speed and voltage control is implemented. This is controllable using yet another SysFS interface and is only controllable using an echo command once again.
Code:
echo "<Step0> <Step1> <Step2> <Step3" > /sys/devices/virtual/misc/gpu_<clock/voltage>_control/gpu_control
Replace "<clock/voltage>" with what you'd like to control. The clock speed is in MHz and the voltage is in uV (microvolts). The frequencies that are available for clock speed control are 54MHz, 66MHz, 108MHz, 160MHz, 200MHz, 267MHz, 330MHz, 400MHz, 440MHz and 520MHz. 267MHz is default for step 3 and 330MHz and anything above is overclocking.
Building the kernel:
Building this kernel requires an installation of a Linux distribution. If you have an installation with all dependencies installed (you can search for them yourself, the LineageOS build guides have what you need to install. Use a build guide for any device.), you can continue. The source code for what is used to build this kernel is here:
Kernel source code: https://github.com/TALUAtGitHub/android_kernel_samsung_smdk4412
galaxys2-common: https://github.com/TALUAtGitHub/android_device_samsung_galaxys2-common
To get full sources, you can use @linusdan's manifests: https://github.com/linusdan/lineage_manifests The instructions for getting sources are all there. However, before you run repo sync, you must edit <sources_root>/.repo/local_manifests/roomservice.xml from this:
Code:
<project name="rINanDO/android_device_samsung_galaxys2-common" path="device/samsung/galaxys2-common" remote="github" revision="lineage-16.0" />
<project name="rINanDO/android_kernel_samsung_smdk4412" path="kernel/samsung/smdk4412" remote="github" revision="lineage-16.0" />
to this:
Code:
<project name="TALUAtGitHub/android_device_samsung_galaxys2-common" path="device/samsung/galaxys2-common" remote="github" revision="lineage-16.0" />
<project name="TALUAtGitHub/android_kernel_samsung_smdk4412" path="kernel/samsung/smdk4412" remote="github" revision="lineage-16.0" />
After you have all of the sources downloaded, change directories to the directory with all the source code and then run:
Code:
. build/envsetup.sh
lunch lineage_i9100-userdebug
Instead of running brunch, run:
Code:
mka adbd
mka bootimage
The boot image with my kernel will start building. After building the boot image, running "cout" will change directories to <sources_root>/out/product/i9100/. The file "boot.img" is the boot image with the kernel. You have successfully built my kernel! However, this boot image will have a ramdisk without Magisk and the kernel localversion string will not match the modules in /system/lib/modules and /system/vendor/lib/modules which is important for FM radio users using SpiritF (Si4709_driver.ko driver) or users of any of the other modules. Inserting these modules will error out.
Solve kernel localversion issues:
First method:
First of all, install the latest Magisk boot image from @rINanDO or install the boot.img from the ROM installation zip (this will be installed anyway when installing the whole ROM in TWRP). Boot your phone up and go to Settings -> About Phone -> Android version and keep the string under "Kernel version" saved somewhere or written down for later. The string looks like "3.0.101-lineage-xxxxxxx".
In the kernel source code <sources_root>/kernel/samsung/smdk4412, run:
Code:
touch .scmversion
Now, change directories to <kernel_sources_root>/arch/arm/configs. Using your favorite text editor, open lineageos_i9100_defconfig. You can use "nano lineageos_i9100_defconfig" if you're not sure. Find the lines:
Code:
CONFIG_LOCALVERSION="-lineage"
CONFIG_LOCALVERSION_AUTO=y
Set CONFIG_LOCALVERSION_AUTO to "n". Now, add everything after the string "3.0.101-lineage" from earlier to the end of -lineage at CONFIG_LOCALVERSION. For example, if the kernel version string from earlier was "3.0.101-lineage-gd9313e5", then it should now be:
Code:
CONFIG_LOCALVERSION="-lineage-gd9313e5"
You may now run "mka bootimage" again or "mka adbd" before that if you haven't already built once before.
Second method:
During a kernel build, the modules are built and stored in <sources_root>/out/target/product/i9100/system/vendor/lib/modules/. You can use "adb push" to push all of the files here to /system/lib/modules/ and /system/vendor/lib/modules/ or copy them to your devices storage or SD card and copy them to those 2 locations.
Building the kernel with magisk:
In the sources root directory, run:
Code:
touch buildspec.mk
Then, change directories using "cd" to <sources_root>/device/samsung/galaxys2-common/magisk. In this directory, there is a bash script that is there to make boot images with a ramdisk with Magisk. Run it:
Code:
bash build-magisk-kernel.sh
This script will do everything automatically and tell you what to do.
If the Magisk build script fails, you must run:
Code:
rm <sources_root>/buildspec.mk*
touch <sources_root>/buildspec.mk
After a repo sync or modifying anything to do with the ramdisk, it is recommended to force a rebuild of ramdisk.cpio with new files. To do this, run:
Code:
rm buildspec.mk*
rm -rf <sources_root>/out/target/product/i9100/*ramdisk*
mka bootimage
touch buildspec.mk
before running the Magisk build script again.
Source code:
https://github.com/TALUAtGitHub/android_kernel_samsung_smdk4412
https://github.com/TALUAtGitHub/android_device_samsung_galaxys2-common
Thanks to:
@rINanDO for LineageOS 16.0 on our phone and all of his work.
@arter97 for the exfat-linux driver.
@linusdan for LineageOS manifests.
All of the people who have worked on other custom kernels which I could use parts of for some features.
...and of course, anyone who has worked on the Linux kernel.
Click to expand...
Click to collapse
Great work on the Kernel. Using it at the moment, minor crashes only. It's very stable. Downloaded your sources. Planning to do a feature build as soon as i get the time. BTW, have you considered adding few governors and schedulers?
Thanks for create this kernel, I don´t see a mod kernel since android MM
Previous reply content removed
TALUAtXDA said:
Hi,
I don't really know anyone but the fewest of people who still run the stock ROM here on XDA, so I don't feel motivated to do this and you have insulted developers here before on your "bugs" thread so I feel like you will not be grateful for anything. However, this could be a nice learning experience for you. It should actually be easier to implement exFAT in the stock kernel, and I see there are already exFAT sources which may work with some additions, though I would only consider that to be a starting point and you should update the exFAT sources.
Click to expand...
Click to collapse
I'm not an IT specialist. I'm just a regular smartphone user.
I offer 5USD for a RELIABLE kernel without an obsolete file size limitation in video recording to Samsung's official ROM with Android 4.1.2.
And yet actually I'm really interesting in the camera improvement. So...
I'm offering 50USD to anyone who will make Galaxy S2 become able to record FHD+ video with 21:9 aspect ratio (2520x1080) without any other disadvantages.
I can offer other bounties for any reliable improvements to the camera (include the stereo sound recording) without disadvantages.
Any payments will be proceed only after successful firmware testing by me.
Previous reply content removed
mate i have one issue, i flashed the magisk version but when i install kernel auditor don´t ask me if a gant o deny the root in this app, and magisk app don´t download the modules
Previous reply content removed
Does the new Magisk Stable image work for anyone else? Did the old one work for everyone? If the old one didn't even work, why didn't anyone tell me? [/QUOTE]
The old and the new Magisk Stable image work both for me. Until now I didn't have the Canary image installed. And I don't think I 'm gonna go for the Canary version.
Previous reply content removed
This is not Fundamental solution i think
Hi there, I flashed the versions 20191102 und 20191117 (no Magisk) and both are stable with the implemented 1.4 GHz overclocking. Battery life in standby only with Wi-Fi is great. Unfortunately both versions have a bug when device is turned off and charging: Switching on the phone with plugged-in cable is not possible and will result in booting up charging mode again - cable has to be unplugged for turning on phone. I can remember a similar bug in one of the former custom kernels for the Galaxy S. Thank you for the impressive work - it's great to have a custom kernel for the new LOS releases! Bye Ollie
Previous reply content removed
Previous reply content removed
Hello,recently i bought an extended battery for s2. The battery its 3500Mah and the original are 1650mah,do you have implemented any code to read entended battteries properly or know any mod to flash?. I see videos on youtube and the device swift off when the real battery have 60%
Previous reply content removed
Previous reply content removed
Previous reply content removed
Hi,
first of all - great job. The kernel is fantastic and it's probably the easiest way to make 16 run a little bit smoother (along with overclocking).
Do you think it would be possible to backport at least some of the features to support Android 7.1? We personally still think that it's the OS that has the best peformance to battery life ratio on our device.
Thanks in advance, looking forward to your reply
- HW

Categories

Resources