A discontinued custom kernel - Galaxy S II Android Development

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

Related

[KERNEL][UV][CWM] Entropy's Daily Driver-GB, 03/07/2012 (Small Fixes))

OK, I figure it's time to start providing my kernels to the general public.
This should be compatible with most stock-derived Gingerbread firmwares. It is NOT compatible with CM7/MIUI or any other AOSP-derived firmware. It is NOT compatible with ICS and WILL NOT BE until ICS kernel source for the I9100 is released. At that point a new thread will be created for those kernels. I am testing it currently with self-deodexed/debloated/Hellraised XWKL1.
This kernel series is intended to be similar in spirit to my Daily Driver series for the Infuse at http://forum.xda-developers.com/showthread.php?t=1212795
It is built from sources at https://github.com/Entropy512/linux_kernel_sgh-i777/commits/master, and initramfs at https://github.com/Entropy512/initramfs_sgh-i777/commits/master
My general goals are to focus on stability and battery life. If it comes to a tradeoff between performance and the above two, I will choose stability/battery life. In general I will choose stability first, with the exception of undervolting.
Current features:
codeworkx's cpuidle patch - should improve battery life a bit. In most cases it will likely not improve things much, but in rare cases it will result in significant improvements. (I only have one partially-reproducible test case on the Infuse so far)
JHash 3
BFQ I/O scheduler
CIFS module in initramfs
CWM 5.0.2.8 pulled from latest CM7 source tree as of 2/28/2012
"insecure" kernel (meaning root in ADB)
CPU governor set to Conservative by default to conserve some battery - this will make your device slightly less responsive, use SetCPU or a similar app to return to ondemand if you want it, or reduce the conservative polling interval
Filesystem readahead tweaks in initramfs
netarchy's Sleep of Death fix
netarchy's conservative governor tuning patch - should improve responsiveness of devices when using the conservative governor if you reduce the polling interval (misnamed as sample_rate) - the I9100 community calls this "lionheart" even though it's really only a 2-line patch
Battery charge current monitoring (CurrentWidget) support - only reports charge current and not discharge, and reports a value 2.85 times the actual current. Use CurrentWidget's "operation on value" to divide by 2.85.
Miscellaneous bugfixes pulled from Ninphetamine and CM7 sources - see github for details
/system/etc/init.d support in initramfs - Note that this only runs stuff in /system/etc/init.d - ROM developers or you need to create it. Attached is an example script that will change the CPU frequency governor to ondemand if placed in /system/etc/init.d and set to executable
Four "use at your own risk" features that trade performance for stability - See Post #4 for details
Standard bootanimation support
/proc/last_kmsg crash debugging support
NFS modules in initramfs - note that they must be insmodded in a specific order: sunrpc.ko, lockd.ko, then nfs.ko
Fix for fuel_alerted perma-wakelocks
Fix for wifi tethering on I9100 ROMs that have been Hellraised
Bump up TCP buffer sizes in initramfs to match that of the Infuse - may help network performance in some cases
cpuidle driver from Tab 7 Plus kernel - allows entry into AFTR more often
Support Bluetooth HID on newer firmware bases
3-step GPU clock/voltage control
Extended hotplug tuning
Support for Xan's ExTweaks universal tuning app - https://market.android.com/details?id=com.darekxan.extweaks.app
Planned features, short term:
Pull in some improvements from myfluxi and arighi's trees
Planned features, mid-term:
????
Planned features, long-term:
Improved battery charge algorithm for faster charging - Initial research indicates we have an alternate battery charger chip (MAX8922) that differs from the MAX8997 used in the I9100. We DO have an 8997 also - but on our device for some reason Samsung decided to use an alternate chip instead of using the 8997's built-in charging. This means we have far fewer options (90,400,660 mA) in terms of charge rates compared to the I9100 (from 200 to 950 in 50 mA steps). So we might not be able to implement any fancy charging algorithms.
Features not planned:
BFS process scheduler - I have only once ever seen a test case where this clearly outperformed the mainline Linux scheduler (multithread x264 encoding) - The mainline schedule was fixed in the next release and BFS now has no performance benefits
Any feature that trades off stability or data integrity for performance unless it can be disabled entirely and defaulted to "off"
Any feature that cannot have functionality tested without a paid app. Interface-only checks don't cut it - I don't want users complaining that the app they paid for didn't work because an interface check worked but function didn't
Touch recovery - too prone to accidental user errors - Maybe I will revisit when ICS hits.
Known issues:
Power management regression somewhere between 12/8/11 and 1/2/12 - Intermittent high drain without high AOS or reduced deep sleep percentage when on some wifi networks - seems more likely if GPS is used when connected to wifi. Wifi with high AOS/reduced deep sleep is not a kernel problem. This appears to only happen on some firmwares - it happens on XXKI3 but not XWKL1. It is likely connected to a wifi power management bug in some firmwares. A debugging feature in 2/7 and later will allow identification of such firmwares - see http://forum.xda-developers.com/showpost.php?p=22581928&postcount=1777 for details
Some people have reported touchkey lights becoming disabled until the screen is turned off and back on again. Under investigation - seems to mainly happen on firmwares with BLN-modded liblights even if the BLN app isn't used
Internal and External SD card are swapped in CWM currently
Basic flashing instructions for .tar releases (NOTE - There are currently no releases in this category. These instructions only remain for heimdall+ZIP users:
(Tested on Linux, not tested MacOS/Windows but should work) Heimdall - Extract the contents of the tar file, enter download mode, and flash with the following command line:
Code:
heimdall flash --kernel zImage
Flashing instructions for .zip releases:
Flash in CWM, or extract the zImage and use the Heimdall instructions above.
Please do not ask how to enter download mode or install Heimdall/Odin in this thread - these are basic generic skills anyone flashing custom firmwares on Samsung devices should know and plenty of documentation exists elsewhere. If you really need to ask, use the General forum, or if created, the Q&A forum. I want to try to keep this thread clean and only with bug reports and issues specific to this release, not general HOWTO or troubleshooting posts. Some of the information you need is in jivy26's FAQs thread at http://forum.xda-developers.com/showthread.php?t=1288112 - Reading at least the first post of this thread in its entirety is STRONGLY recommended.
Bug reports:
If you have a crash (reboot all the way to Galaxy S I9100 screen), use ADB dump the contents of /proc/last_kmsg and post
If you have oddball behavior, include a clearly reproducible test case with your report, or use ADB to obtain a dmesg and logcat capturing the odd behavior at the time of error.
Similar to flashing - using ADB and obtaining last_kmsg, dmesg, and logcat dumps are basic skills that anyone working with custom firmwares on Android devices should have. If you need help with these, do some searching, or post in the General forum or, if created, Q&A forum.
Firmware ("ROM") Developers:
While I cannot restrict anyone from putting this kernel into a ROM as long as links are given to the github sources for GPL compliance, I request that anyone who includes this kernel in a firmware release does the following out of courtesy:
Link to this thread
Clearly indicate in your firmware changelog which Daily Driver kernel release is included in your firmware release whenever you change DD releases - this lets users identify whether a fix is present in the kernel they're using or not
Kernel Developers:
Similar to my request for ROM developers, while I can't restrict you from doing anything, I ask as a courtesy that if you cherry-pick my commits, you do the following:
Please don't rebase my commits into a large multi-feature without consulting me - rebasing related bugfixes together is OK.
Please try not to implement lots of unrelated features or bugfixes in a single git commit - it makes it hard to reimplement that when Samsung drops new sources or releases a new device
ALL OF MY RELEASES ARE NAMED BY RELEASE DATE - MMDDYYYY. See the changelog for differences between Experimental (exp) and non-exp versions for days where dual releases are made.
Change Log
3/7/2012 Release:
Default GPU voltages were slightly too high (but not dangerously so) due to misreading some #ifdefs. Adjusted them downwards.
03/05/2012 Release:
3-step GPU voltage control (thanks to gokhanmoral of SiyahKernel)
Extended CPU hotplug tunables (also thanks to gokhanmoral of SiyahKernel) - I didn't bother with Tegrak Second Core support as it offers nothing these tunables don't offer that makes sense
Preliminary support for Xan's ExTweaks tuning app - https://market.android.com/details?id=com.darekxan.extweaks.app (Yes, it currently says SiyahKernel only, but I added support) - use this to tweak the new features
03/04/2012 Release B:
Add GPU voltage control in addition to existing clock control - see http://forum.xda-developers.com/showpost.php?p=23260574&postcount=64 for more
Reduce default sampling_rate of conservative governor from 100ms to 50ms - conservative uses deferred ticks that shouldn't impact cpuidle
03/04/2012 Release:
Readd https://github.com/Entropy512/linux_kernel_sgh-i777/commit/0746aeb285341896877a3adddd79bdaa0cf4a6f6 (disable second core when screen is off)
03/03/2012 Release B:
Readd a couple of cpuidle register restore/saves that were removed by Samsung between the I9100 and Tab 7 Plus sources - Small chance this might be where the SoDs come from.
03/03/2012 Release:
Readd https://github.com/Entropy512/linux_kernel_sgh-i777/commit/373425c3130fbbb67cdae74793bd3df363a5dc04
Remove powersave governor - it's a guaranteed SoD if used and the same results (without SoD) can be achieved by setting conservative with min=max=200 MHz
03/02/2012 Release:
Revert https://github.com/Entropy512/linux_kernel_sgh-i777/commit/3954900055afe0d22a7ce71b50e4a5cb439c24bf - It turns out it's not actually in the mainline tree, and it has had questionable results from users. It may have caused power regressions for shoman94
Readd https://github.com/Entropy512/linux_kernel_sgh-i777/commit/ec9e34085c2e1284b3e30926862161fa63d498ea - Should improve performance a little on devices with "small" memory (compared to PCs, 1GB is "small")
02/28/2012 Release:
Revert https://github.com/Entropy512/linux_kernel_sgh-i777/commit/634b73c2d0b7e156b5c1626fd268662fcaa5fabe again - It was causing severe performance regressions for red5, and was clearly narrowed down to a single patch (red5 swapped between 18B and 26 multiple times, these are adjacent releases that differ by only one patch.)
Readd https://github.com/Entropy512/linux_kernel_sgh-i777/commit/9c10cd423cdcb0039c5f7730076d1f8db9c09442
Reduce minimum polling interval of conservative from 25 msec to 20 msec
Make defaults of conservative governor consistent with battery-optimized tuning - won't affect anyone using SetCPU to tune governors
Initramfs: Clean up cruft that was doing nothing but taking space
Initramfs: Compiled latest CWM 5.0.2.8 from sources - should fix advanced restore
Initramfs: Swap internal/external SD in CWM to be consistent with newer Android standards
02/26/2012 Release:
Readd https://github.com/Entropy512/linux_kernel_sgh-i777/commit/634b73c2d0b7e156b5c1626fd268662fcaa5fabe
02/16/2012 Release B:
PULLED - actual release was identical to 15C due to a mistake in creating the ZIP. - Replaced by 02/18/2012 Release B.
Readd https://github.com/Entropy512/linux_kernel_sgh-i777/commit/3954900055afe0d22a7ce71b50e4a5cb439c24bf (cpuidle: governor: menu: don't use loadavg)
02/16/2012 Release A:
PULLED - actual release was identical to 15C due to a mistake in creating the ZIP. - Replaced by 02/18/2012 Release A. (CWM will report this as 2/17A - ignore this, CPUSpy should report afternoon in 2/18)
Readd https://github.com/Entropy512/linux_kernel_sgh-i777/commit/4d8a7e7834e29cee232d6634454c0c38e9903d49 (Add MSHCI Power Control)
02/15/2012 Release C:
Fixes to multiple drivers that were attempting to lock frequency to certain levels. On an overclock kernel, these were all two frequency steps higher than originally intended:
Application-controlled lock in kernel/power/main.c - Likely this combined with arighi's frequency scaling patch was the cause of most 2/7 stability issues
Camera locking to 1.2 GHz is fixed
Thermal limits (reducing clock frequency while overheating) was broken, should now work properly
02/15/2012 Release B:
Readds the following patches, should be safe:
https://github.com/Entropy512/linux_kernel_sgh-i777/commit/35187426d15d05d465d07b6d743e1eb37c629a24 - small network performance improvement
https://github.com/Entropy512/linux_kernel_sgh-i777/commit/733758d888e4a23d7ae6487de0dbb525e9d7433c - another small network performance improvement
https://github.com/Entropy512/linux_kernel_sgh-i777/commit/325cdbf1b89e7d2138482e76879fabf9a6dac5b7 - Provide a warning when a broken firmware is preventing proper wifi power management
02/15/2012 Release A:
Revert most patches from 1/30 and 2/07 due to stability issues EXCEPT:
BTHID interoperability fix
MFC/new cpuidle interoperability fix
A BCM4330 patch revert (it was a revert to begin with)
There will be a second "B" release containing patches that I think should be safe stability-wise but want to have separated anyway. After that, I will be making releases 1-2 times a day, each with only one new patch. This will allow the offending patches for recently reported stability problems to be identified. As a result, releases will have A/B/C/etc letter codes after the date until I no longer expect multiple releases per day. Until the stability issues are resolved, Experimental releases are suspended.
02/07/2012 Release:
Lock out AFTR during hardware accelerated video playback - should fix issues with hwaccel video that some people had with 1/29 and later
Disables second core when the screen is off (this patch comes from arighi)
A patch from arighi ("smooth scaling") that prevents the performance governor from getting "stuck" at the wrong frequency, and should make ondemand a bit more responsive
Small cpuidle governor fix from mainline
Revert a wifi patch that did nothing at all if you read the code
Print an error in dmesg when suspend handling in the wifi driver is blocked by the system firmware for whatever reason (XXKI3 does this) - System firmwares that do this will make you vulnerable to battery drain on "dirty" networks (ARP spam, broadcast traffic)
Small performance patch by Russell King of ARM (see github for details)
Standard only for now - will release experimental in a day or two
Warning - This doesn't have as much testing as I normally put into a kernel, but I needed to get a cpuidle fix out ASAP in my opinion
1/30/2012 Releases:
Backport Bluetooth HID fixes from Epic 4G Touch EL29 sources - Seems to fix Bluetooth HID on UCKK6, should also fix it on newer I9100 bases
Backport a power management change (MSHCI power control) from E4GT EL29 - Actually, I think this is something that was in the AT&T drop and I9100 Update3 removed
ashmem deadlock fix - might fix nizda1's issue (unknown, I thought I had this in already but I guess I didn't) - found by arighi
Tweak from arighi - set SLUB_MAX_ORDER to 0 since our device doesn't have ginormous amounts of RAM
Increase TCP initial receive and congestion windows - should improve throughput on new TCP connections (such as web page loads)
Remove a small dmesg spam introduced by the cpuidle backport
Add ARM Errata 753970 (bugfix)
1/29/2012 Releases:
Backported cpuidle driver from the Tab 7 Plus - Allows AFTR idle to be entered more often, enables it my default, and permits it to be tracked separately from LPA idle mode.
Reverted some small I9100 changes to GPIO configurations - These changes may do nothing, the functions of these GPIOs are undocumented but appear to be somehow sleep related. See github commit for details
1/24/2012 Releases:
Include tun.ko
The above change is so small I'm removing the 1/23 download
1/23/2012 Releases (Note: Experimental might not actually be posted until 1/24):
Enable building for I9100 targets (source code change only, see github)
Revert some unnecessary patches from arighi's tree, prep for implementing more useful ones
A pile of upstream Linux kernel bugfixes, huge thanks go to myfluxi for finding these and testing them on himself: https://github.com/myfluxi/xxKernel
Bring in two small missing updates from I9100 update3 sources
Enable separate debugging of wake_lock_destroy() to enable diagnosing high deleted_wake_locks time
1/2/2012 Releases:
Road to I9100 Update3: COMPLETE - Video changes, media changes, battery/PMIC changes, Samsung-specific arch/arm changes
Road to I9100 Update3: Revert touchscreen drivers to I777 source codebase. SiyahKernel also did this, it seems to solve the wake lag issues. However those that didn't encounter lag may see reduced responsiveness. There's a possible workaround though.
12/21/2011 Releases:
Road to I9100: USB Host (untested), Touchkey, Broadcom DHD (Bluetooth, WiFi)
Initramfs: Bring in a few updates from UCKK6. Might fix wifi for KK6 people (UCKK6 compatibility UNTESTED.)
12/12/2011 Releases:
Road to I9100: Touchscreen Drivers
Irrelevant Road to I9100: DPRAM, WiMax, staging drivers
12/8/2011 Releases:
Resume dual-release standard (2.6.35.7) and experimental (2.6.35.14) builds - note exp does NOT fix the AOS bug, just hides it - see http://git.kernel.org/?p=linux/kern...it;h=a3fe22ee824895aafdc1b788e19c081a2e6dd9da
Remove some debugging printk()s from the AFTR cpuidle driver for those who enable AFTR deep idle mode (see init.d scripts thread linked below)
More components of I9100 update3 sources - MMC, filesystem, and generic arch/arm changes
Removed filesystem I/O scheduler tweak script from initramfs - this belongs as a separate init.d script. See http://forum.xda-developers.com/showthread.php?t=1378080 for this script's new home along with other scripts
Enable compilation of FUSE module. Combined with an ntfs-3g binary this should allow people who want to mount NTFS drives with OTG cables to do so. I cannot provide any additional support for this though - no OTG cable
12/1/2011 Release:
Disable interactive governor - it was causing kernel panics in LPM (e.g. reboot to normal poweron when power-off charging), too much risk of it causing a panic during normal operation so it's gone
Two small fixes, one to MMC power management and one to cpuidle - see github for details
Per-file fsync disable - see HERE BE DRAGONS post #4 and USE AT YOUR OWN RISK
First step of patching up to Samsung I9100 update3 sources - New sound drivers. Please focus on sound until the next release.
11/23/2011 Release:
BLN from Ninphetamine - WARNING: An active BLN notification WILL drain your battery by holding a wakelock. Also, you need to install a compatible liblights if your ROM doesn't already have it. VillainROM 3.0 has it, I'll try to post a library and installation instructions after the Thanksgiving weekend ends
Permissions changes for /data/misc/wifi that allow tethering settings to persist on Hellraised ROMs (EDIT: Not working for fresh flashes... Maybe not working at all. what the **** is overriding the perms?)
Enabled Interactive governor in defconfig. drowningchild says it's stable - I tend to be paranoid when it comes to governors
11/13/2011 Release:
Upgrade to CWM 5.0.2.7 pulled from Cyanogenmod 7 nightly 12 - adds nandroid backup/restore to external SD - advanced restore from extSD not working yet, also CWM labels external SD as "internal"
11/10/2011 Release:
Removed automatic root injection from the initramfs - It causes too many problems. Flash ChainsDD's Superuser package from CWM instead.
11/03/2011 Release:
Fix for wifi tethering on I9100 ROMs
Bump up TCP buffer sizes in initramfs to match that of the Infuse - may help network performance in some cases
Experimental (2.6.35.14) releases discontinued until further notice - They provided no discernible benefit, and hid the infamous "AOS Bug" making it harder to diagnose. (It did not fix the drain)
10/20/2011 Releases:
Fix for fuel_alerted perma-wakelocks
GPU clock control, same method as Ninphetamine - see Ninphetamine kernel for documentation. Completely untested other than that the default values don't change or break anything. Same rules as for my overclock code... Credit goes to Netarchy for this, it's his git commit 100%
10/16/2011 Releases:
Make root injection script less aggressive
NFS modules in initramfs - note that they must be insmodded in a specific order: sunrpc.ko, lockd.ko, then nfs.ko
Miscellaneous bugfixes, see git
10/13/2011 Releases:
Make root injection script in initramfs less aggressive
10/09/2011 Releases:
Update root injection script to install su-3.0 - Still need work on this to make it more robust when su updates again.
Misc. fixes from codeworkx's CM7 tree and Ninphetamine
Start of Experimental dual-release series - Experimental updates base to 2.6.35.14 using arighi's patches
10/07/2011 Releases: (There were multiple, but as their files are no longer posted I'm merging it into one changelog entry)
Conservative tuning patch no longer considered experimental
/system/etc/init.d support in initramfs
Overclocking/Undervolting implementation by codeworkx - USE AT YOUR OWN RISK. DO NOT REPORT BUGS OR PROBLEMS IF YOU ARE OVERCLOCKING OR UNDERVOLTING. IF YOU EXPERIENCE ANY STABILITY PROBLEMS, DISABLE ALL OC/UV
Standard bootanimation support
10/06/2011 Experimental Release:
netarchy's conservative governor tuning patch - should improve responsiveness of devices when using the conservative governor
10/06/2011 Release:
Automatic root injection in initramfs
Filesystem readahead tweaks in initramfs
netarchy's Sleep of Death fix
Battery charge current monitoring (CurrentWidget) support - only reports charge current and not discharge, and reports a value 2.85 times the actual current. Use CurrentWidget's "operation on value" to divide by 2.85.
Miscellaneous bugfixes pulled from Ninphetamine sources - see github for details
Initial Release: 10/04/2011
codeworkx's cpuidle patch - should improve battery life a bit. In most cases it will likely not improve things much, but in rare cases it will result in significant improvements. (I only have one partially-reproducible test case on the Infuse so far)
JHash 3
BFQ I/O scheduler
CIFS module in initramfs
CWM 5.0.2.3 from Codeworkx's CWM kernel
CPU governor set to Conservative by default to conserve some battery - this will make your device slightly less responsive, use SetCPU or a similar app to return to ondemand if you want it
"Insecure" kernel - ADB sessions ALWAYS have root
Here be dragons
This post is for features present in the kernel that are "use at your own risk" - They have either potential or guaranteed negative side effects if used.
Overclocking (CPU):
Enable using SetCPU or a similar app
USE AT YOUR OWN RISK. DO NOT REPORT BUGS OR PROBLEMS IF YOU ARE OVERCLOCKING OR UNDERVOLTING. IF YOU EXPERIENCE ANY STABILITY PROBLEMS, DISABLE ALL OC/UV
Overclocking (GPU):
See Ninphetamine kernel for documentation - Same control method
USE AT YOUR OWN RISK. DO NOT REPORT BUGS OR PROBLEMS IF YOU ARE OVERCLOCKING. IF YOU EXPERIENCE ANY STABILITY PROBLEMS, DISABLE ALL OC
Per-File fsync() disable:
This allows you to disable per-file write forced syncs. (e.g. if an app tries to force a write straight to disk, it'll just go to cache). This achieves the same goal as the modded sqlite hacks seen in tweaks such as USAS, however it can be disabled at runtime.
WARNING: THIS CAN CAUSE DATA LOSS OR CORRUPTION IN A CRASH
To enable, do the following in a terminal, or add it to an init.d script (look at my ondemand script as an example):
Code:
echo "1" > /sys/module/sync/parameters/fsync_disabled
And to disable (return to the default):
Code:
echo "0" > /sys/module/sync/parameters/fsync_disabled
Good for around 200 points of epeen in the database benchmarks in Antutu or 500-600 points of epeen in Quadrant. Real-world benefit: Probably not worth the data integrity risk, but you've got a choice now.
Backlight Notifications (BLN):
This allows the touchkey backlights to be used for notifications. Some stock apps (such as stock MMS) don't support it. Supposedly services.jar mods can change this.
This WILL drain your battery when a notification is active due to a wakelock that holds deep sleep. Sorry, it's either this or instability for the time being.
In addition to the BLN control app, the ROM needs a modified liblights file for this to work
Attached here - Liblights - both BLN-modified (extracted from VillainROM 3.0) and stock I777
To install, take the file and push it to /system:
Code:
adb remount
adb push <file> /system/lib/hw/lights.SGH-I777.so
adb chmod 644 /system/lib/hw/lights.SGH-I777.so
Then reboot
Note that on a Hellraised ROM, you need to replace SGH-I777 with GT-I9100. This includes manually ported ROMs like Cognition 777
Like my prerooted system image, this file is compressed using 7-Zip to prevent people from trying to flash it with CWM
OK, right now this post only has documentation of one "special but safe" feature:
To enable debugging of high deleted_wake_locks time, I've set this up to allow wake_lock_destroy() to be debugged without enabling DEBUG_WAKE_LOCK (which spams dmesg with a ton of stuff not needed for wake_lock_destroy() debugging). To enable, add 32 to the value of /sys/module/wakelock/parameters/debug_mask - This defaults to 3, so the proper value is 35.
Code:
echo "35" > /sys/module/wakelock/parameters/debug_mask
Return this to 3 to set it back to the default.
With this, you'll see wake_lock_destroy debugging information in your dmesg output. This is only needed if you have very high deleted_wake_locks times.
If we're not rooted(stock) this will give us root? Or just cwm where we can either use superoneclick or your pre rooted kernel?
eep2378 said:
If we're not rooted(stock) this will give us root? Or just cwm where we can either use superoneclick or your pre rooted kernel?
Click to expand...
Click to collapse
If it's in "planned features" - it's not in yet.
However it can be SOCed just like codeworkx's kernel
Works fine, as in I don't notice a huge difference in speed or anything but huge differences after changing kernels shouldn't really happen so I guess that's good.
I flashed your kernel with Odin and I think it went well. Will kernel version in About phone be the same as stock (2.6.35.7)?
Thanks for using the recommended toolchain to compile
all the newer ones seem to cause the SGS2 to get very warm.
shishir95 said:
Works fine, as in I don't notice a huge difference in speed or anything but huge differences after changing kernels shouldn't really happen so I guess that's good.
Click to expand...
Click to collapse
Shouldn't be any difference in speed - might even be slightly slower since I make conservative governor default for battery saving purposes. You can change this with SetCPU.
wonner said:
I flashed your kernel with Odin and I think it went well. Will kernel version in About phone be the same as stock (2.6.35.7)?
Click to expand...
Click to collapse
In About Phone, yes. If you use a more advanced info tool that shows the localversion, the git tag should be appended and the [email protected] build info should be [email protected] I'm going to be adding a CONFIG_LOCALVERSION tag in the future.
I just had my first Sleep of Death and realized I'm missing last_kmsg support. That's on the list for Planned Features, short-term now.
designgears said:
Thanks for using the recommended toolchain to compile
all the newer ones seem to cause the SGS2 to get very warm.
Click to expand...
Click to collapse
Newer ones make the Infuse die a horrible and painful death, if the kernel even compiles, and I want to retain that compatibility for now.
Sorry for my ignorance regarding Samsung Hardware, this is my first device from them.
Is this kernel aimed at CM or any Rom such as Cognition?
Drew
drewdatrip said:
Sorry for my ignorance regarding Samsung Hardware, this is my first device from them.
Is this kernel aimed at CM or any Rom such as Cognition?
Drew
Click to expand...
Click to collapse
Right now, stock-derived ROMs. NOT CM7/MIUI.
Regarding BLN - I am very unhappy to hear it may not be easy/possible to implement this on our phones. It appears that they've got it working on the international galaxy s 2s, do our phones have more in common with the Infuse than with those?
By the way, I almost forgot -- thank you for this! Flashed it with ODIN, no problems at all, and super-one-click-rooted as well. So far so good!
Any chance of adding a date to the thread title do I can know when you've updated and flash it again lol
jivy26 said:
Any chance of adding a date to the thread title do I can know when you've updated and flash it again lol
Click to expand...
Click to collapse
Will do. If you look at my Infuse series, I usually edit the first post with the update, and post to a post within the thread with a list of changes. The post in the thread will cause a bump - but since bumps don't always mean updates this is a good idea.
Initial observation.
With setting i/o to deadline i did not see my phone go into deep sleep much last night.
Today using noop the phone seems to sleem more often
Drew
drewdatrip said:
Initial observation.
With setting i/o to deadline i did not see my phone go into deep sleep much last night.
Today using noop the phone seems to sleem more often
Drew
Click to expand...
Click to collapse
Hmm... Interesting. That might be part of why battery life in CM7 on my Infuse seemed to be less the last time I used it, I never got tweak_scheduler.sh running on that.
Default in this kernel is CFQ, I've added BFQ but I've had bad things happen when it's the default at boot.
Is this a common issue that we're supposed to be having? Sleep of deaths? I haven't gotten any since I started using your kernel.

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

_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.

Kexec-hardboot patch

In this post, I would like to explain what kexec-hardboot patch is and also bring it to light a bit more since until now, it was only burried in MultiROM thread.
@kernel developers: I would like to ask you to merge this patch to your kernels, because it is essential part of MultiROM - it allows me to boot any kernel without changing the boot partition. I realize that it is no small request, but the patch is not big, touches relatively stable parts of kernel and should not cause any problems. Thank you.
What is kexec?
It is syscall of Linux kernel, which allows you to boot another Linux kernel without restarting the device - "Linux boots itself". The functionality is equivalent to fastboot -c *cmdline* boot zImage initrd.img, but without PC and fastboot. It is fairly known thing, so more info at wikipedia and man kexec.
Standard kexec call unfortunatelly does not work on Nexus 7. It freezes somewhere, and it is very difficult to find out where - probably some of the drivers are not shut down/re-initialized properly, it is a commong thing among Android devices, which is why kexec-hardboot was made.
What is the difference between normal and hardboot exec?
Kexec-hardboot patch adds a real device restart to that process, so that all the drivers can be properly reinitialized. It stores new kernel to RAM, reboots the device as usual, and kernel from boot partition immediately jumps to the one which was stored to RAM before reboot.
Unlike grouper's kexec-hardboot patch, this one only requires the host kernel to be patched. This is one of the improvements I made, and I think it is pretty significant.
To sumarize the process:
kexec --load-hardboot.... is called and kernel it loaded into RAM.
kexec -e is called. Special info is written to memory (to area which is not overwritten on reboot) and the device is rebooted.
After reboot, very early in the boot process, kernel checks if that special info is present in RAM and if so, it loads new kernel from RAM and jumps to it.
Kexecd' kernel starts and boots.
For more info, read the original thread.
Patches:
Kernel patch: https://gist.github.com/Tasssadar/6687647, 4.3 AOSP kernel repo, cm 10.2 kernel repo
This is the kernel patch. Only the host kernel needs to be patched.
Related CONFIG options:
CONFIG_KEXEC=y
CONFIG_KEXEC_HARDBOOT=y
CONFIG_ATAGS_PROC=y
All these options must be enabled.​
Userspace kexec binary: View attachment kexec-tools.zip
That ZIP file contains kexec source, patches and README. It is from the original patch from Mike Kasick. It also contains precompiled, statically linked kexec binary, so you probably just want to use that.​
Usage:
Once you have the kernel patches and kexec userspace binary in place, just run following command to boot into new kernel:
Code:
kexec --load-hardboot zImage --initrd=initrd.img --mem-min=0x85000000 --command-line="$(cat /proc/cmdline)"
kexec -e
Note the command line parameter - cmdline from bootloader is not added automatically, you have to put it there by yourself.
Authors:
This patch was made by Mike Kasick for Samsung Epic 4G. Since that, it was ported to several devices, one of them is Asus Transformer TF201 - I used patch from TF201 and modified it a bit (basically just changed few SoC specific constants). People at #ubuntu-arm helped me out with that, thanks.
For flo, I've improved the patch a bit - only the host needs to be patched now and I also fixed a bug with /proc/atags not reading all tags.
The patch was updated with commit https://github.com/Tasssadar/androi...mmit/20f59235cf61694f8118b943e33aa382fc9ad494 in repositories and on gist.
The reason is that my initial ramdisk address was not compatible with all kernels, and changing it resulted in a problem to appear on CM kernel - it just crashes on kexec-hardboot call. AOSP kernel worked just fine after the change, but I applied the patch just to be sure. Sorry about this, I didn't expect the patch to change at all, but it happened :/ I really hope this is the last time.
@ayysir originaly made this change, thanks.
@Tasssadar I would like to port your kexec-hardboot patch on my device which has a Qualcomm MSM7225A chipset with a locked bootloader. How do I locate the memory addresses in adb shell to boot the kernel? Thanks. I'm currently using Fedora 64-bit on my computer.

[KERNEL] [5.1.1/OK2] [ENFORCING] [10 DEC] GuNDaL 3.5 (n9200HK || n9208TW) DualSim

[SAMSUNG OSRC COMMENTS DELIVERY NOTIFICATION]
model name : SM-N9200HK NOBLELTEHK
Dear Customer,
We are pleased to provide you the source code of SM-N9200_HK.
You can download the source code from the site below: http://opensource.samsung.com
Thank you.
Sincerely yours,
Samsung OSRC Team
----- Original Message -----
Sender : GuNDaL ([email protected])
Date : 2015-10-31 08:09:34 (GMT+09:00)
May I please get the latest sources for the n9200hk nobleltehk, The N9200ZHU2AOJ9 firmware
Thanks
GuNDaL
Click to expand...
Click to collapse
[SAMSUNG OSRC COMMENTS DELIVERY NOTIFICATION]
classification : Mobile Phone
model name : SM-N9200_HK
Dear Customer,
We are pleased to provide you the source code of SM-N9200_HK.
You can download the source code from the site below: http://opensource.samsung.com
Thank you.
Sincerely yours,
Samsung OSRC Team
----- Original Message -----
Sender : gundal ([email protected])
Date : 2015-09-27 17:32:39 (GMT+09:00)
May I please get the latest source code for nobleltehk/nobleltezh
The n9200ZHU1AOI1 firmware.
Click to expand...
Click to collapse
Woot let the fun begin!
************************************************************************
Note: I take no responsibility for any damage YOU do to your device.
If you have the hong kong 9200, this will be compatible!
This device uses a exynos7420 processor and Qualcomm modem unlike most other variants of the Note 5
************************************************************************
If you flash this kernel and are using it daily please do me a small favour and post here that it's working for you, knowing more people are actively using this will prompt me to release more often.
nobleltehk n9200 dual sim kernel built from n9200ZHU1AOI1 sources
##################################################
and as of Dec 10th 2015.. i've released n9208 version!! based on OKA sources (tested on OJ3 rom)
##################################################
Old Project with SELinux Permissive hardcoded
Version 1.0 -roots device, installs supersu & synapse, sets selinux to permissive
(*) Version 1.1 - adds exynos universal power controls for undervolting, hpm auto adjusting voltages and power optimizations
(X) Version 1.2 - Apollo is now underclocked to 200mhz and overclocked to 2000mhz, Atlas is overclocked to 2.5ghz. Both allow undervolting to 400mv (probably unstable for everyone but the ability is there.. I run a53 200mhz at 475mv) (this version will bootloop unless you have a synapse config saved to lower the max frequencies allowed)
(*) Version 1.3 - Fixed issue with interactive governor scaling to unsupported overclocked frequencies,
the kernel now sets the default shipped frequencies to the interactive governor upon reboot. If you override in Synapse then it will override those upon boot.
Enabled the following governors: Conservative, Ondemand.
Synapse can now change governors on both cpus.
(B) Version 1.4 - updated busybox, removed conservative and ondemand governors (interactive is what you want to use, as it fully utilizes the big.Little architecture), returned governor frequency policy to stock settings, but still generate the full freq and volt_table to all under/overclocking that was supplied in sources. Some optimizations to power scheduling, changed ramdisk compression to lzo.
(X) Version 1.5 - removed kernel is not SEANDROID enforcing message on boot, added row scheduler, set row to default I/O scheduler, synapse can override this.
I am starting this project over... thanks to @garyd9 for the Enforcing with root threads that prompted me to do so. :good:
Changelog:
(*)Version 1.0-Enforcing
REBASE kernel back to OI1 Sources
RETAIN SELinux Enforcing by patching sepolicy with SuperSU-2.49 -- thanks to @Chainfire for his work on su/sepolicy
ROOT system by installing SuperSU-2.52
100% Stock Samsung compiled kernel with ramdisk modifications to fstab, sepolicy, init, /res and /sbin, and init.rc fix deep sleep service call
Adds Synapse for configuration of options
(*) Version 2.0-Enforcing
adds exynos universal power controls for undervolting, hpm auto adjusting voltages and power optimizations
CPU Frequency range for Apollo 200mhz-2000Mhz
CPU Frequency Atlas 800mhz-2496Mhz
CPU Voltage range for Apollo 400mV-1175mV
CPU Voltage range for Atlas 450mV-1125mV
Adds row as scheduler
Adds support for tweaking Memory, I/O
Tweakable Cache Scrolling
SELinux Toggle built into Synapse(every boot reverts to Enforcing)
Kernel default.prop uses FHA instead of DHA (remove any dha line you have from build.prop)
EDIT: After 45+ hours (chose to reboot at 70 hours to continue flashing) of -100mv undervolt and 2.4ghz overclock (actually in use) I am very happy to mark 2.0 stable
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
(*) Version 2.2-Enforcing
2.2 changes only two things, it fixes the backup/restore profile bug and it reverts the MDNIE controls because you couldn't select anything but adaptive with 2.0
Installs sqlite3 to /system/bin
Modifies all the ramdisk scripts to give the end user the option on his implementation of busybox while still retaining all functionality for users who just flash and go.
In other words... busybox is installed with the kernel on each boot to /sbin however all kernel features that are loaded by script attempt to check for /system/xbin/busybox and /system/bin/busybox.
If you want to use an alternative version of busybox, just install it to /system/xbin or /system/bin and the kernel will stop using the /sbin busybox and use your custom installed one (do not have the busybox application remove the version of busybox in /sbin on each boot)
(B)Version 2.3-Enforcing
optimizations to battery efficiency, CPUIdle, hmp task packing, c-state residency
lz4 compression added, zswap is lz4 compressed
note* 2.3 will say 2-2 in Synapse as I forgot to update it there, you can confirm you are on 203 by looking in About > Device > Software Version > Kernel Version, I always set the build # to equal the version num. 2.0 was #200 2.1 was 201 3.5 will be 305, as only a valid number is allowed in this field.
(B)Version 2.4-Enforcing
Added Arizona Audio Controls in Synapse
The controls use the audio SoC's integrated hardware equalizers to allow fine tuning of the headphone jack port, per channel
Fixed a bug (in the installer) where if you already had SuperSu installed on your system (regardless of version) it would not update it, and thus not boot for anyone who has SuperSu version < 2.52/ The install script now does an md5 on supersu if it finds it and installs if it doesnt match the official 2.52beta supersu.apk
(B)Version 2.5-Enforcing
Install Instructions:
Install TWRP or other recovery
Flash Kernel
If you have never flashed my kernel or an selinux enforcing kernel then flash
SuperSU 2.52 or newer found here
Fixed bugs related to users who havent rooted yet
Fixed bugs related to busybox and uci
CONFIRMED: Working with OJ9 Bootloader and System
(*)Version 3.0-Enforcing
Install Instructions:
Install TWRP or other recovery
Flash Kernel
If you have never flashed my kernel or an selinux enforcing rooted kernel then flash
SuperSU 2.52 or newer found here
Changelog:
Patched Linux from 3.10.61 -> 3.10.92
Fixed all compile-time issues with the linux paths and there was lots
Add a few commits related to Kernel cpuidle and power management
3.0 is marked stable.
(B)Version 3.1-Enforcing
Install Instructions:
Install TWRP or other recovery
Flash Kernel
If you have never flashed my kernel or an selinux enforcing kernel then flash
SuperSU 2.52 or newer found here
Changelog:
Dynamic FSYNC
Added Frandom Char generator
Recovered 2megs of space in the kernel so now:
we are able to use LZOP compression for the ramdisk which decompresses faster during boot
the busybox included with the kernel is all you need, can still choose to ovverride busybox if needed
HMP optimizations
3.1 is released, OJ9 sources were released by samsung overnight rebase will happen for next release
(B)Version 3.5-Enforcing
Changelog:
Rebased kernel onto N9200ZHU2OJ9 sources. VERY happy to see this source delivered to me by samsung OSRC in record time, 4 days.. from my request to receipt of request (next day) and then downloadable it took me over a month to get the canadian s6 sources... and two weeks for them to even acknowledge so.. this is huge, and the fact that we are already on J9, n9200hk firmware release has been steady released every month (Aug was OH4, Sep was OI1 and Oct was OJ9) for samsungHK so as for rumors I have previously read that said this phone wasn't getting support.. it appears very much otherwise.
Enabled DNS resolve support
Enabled WiMAX broadband support (untested yet but my provider definitely supports the boosted speeds and I noticed they were gone so im pumped to see this was default disabled)
Enabled Bluetooth HIDP protocol
Enabled Bluetooth BNEP protocol (pan network)
Enabled Bluetooth usb support
Atheros Firmware downloader to upgrade Bluetooth chipset
CAN bus support for hooking up directly to an OBD port of a vehicle
Enable FM RADIO
Enable support for usb mice(and apple magicpad), usb dongle keyboards, and gamepads (logitech, microsoft sidewinder and xbox) to be used on phone with usb
Enable using your phone touchscreen as a mouse for your computer
Enable MHL hdmi over usb driver && MHL HDCP
Enabled support for USB DisplayLink drivers for external usb videocard to export to another monitor
Enabled VIRTUAL SOCKET SUPPORT!! aka allows your phone to be seen by hypervisor and or v/ms when plugged into usb
<-- woot, now I can use adb directly from my ubuntu vm
Enabled many TCP algorithms
Attempting to enable additional nfc protocols (maybe secure nfc and encrypted nfc support) may also break nfc.. TESTING
Enabled USB OTG Mode
(*) denotes stable version (I won't mark it stable until my daily driver goes a full 24 hours without a reboot with my undervolted underclocked configuration)
(B) = Beta version, pending feedback
(X) = bugged version (zip should be removed)
(WIP) = work in progress, eta TBD
Order of busybox utilized by Kernel
If /system/xbin/busybox exists this is used over /sbin.
If /system/bin/busybox exists this is used over /sbin.
If /system/bin AND /system/xbin contain a busybox the kernel will use the /system/bin/busybox
If for any reason Synapse stops working or any other undesirable effects are noticed once you install a custom busybox just remove it and reboot, the /sbin busybox will take over again.
**please note: You need to install a custom busybox that contains the tar applet (to system/bin or system/xbin)
Using the backup profile tab:
Taking a backup:
1. Open the tab, type memorable name into the Profile/Config Name: I used neg100
2. Hit checkmark up top to apply that name.
3. Hit Backup Current Profile
4. Get a message about tar file being created
5. Reboot your phone to make it show up in the list.. (not necessary until you want to restore)
6. Synapse will now display that new tar in the list of backups
Restore profile:
1. Open the backup profile tab, select your newly added tar file in the selected profile section (first one)
2. Press checkmark to apply the selection
3. Hit restore selected profile
4. Unfortunately Synapse has stopped (THIS IS EXPECTED)
5. Reopen Synapse
6. You will now notice that (similar to a 2 min reboot, or restoring the values to default) a bunch of the settings have temporarily been changed and Synapse gives you the option to hit X (and keep your BACKUP RESTORED SETTINGS) or push Checkmark and keep the settings you had BEFORE you restored the backup in.
7.
XDA:DevDB Information
GuNDaL's Kernel, Kernel for the Samsung Galaxy Note 5
Contributors
gundal, AndreiLux, arter97, chainfire, UpInTheAir, Xialou every other xda kernel dev
Source Code: https://github.com/gundal/nobleltehk.git
Kernel Special Features:
Version Information
Status: Beta
Current Stable Version: 3.2
Stable Release Date: 2015-10-31
Current Beta Version: 3.5
Beta Release Date: 2015-11-03
Created 2015-10-07
Last Updated 2015-10-12
XDA:DevDB Information
GuNDaL's Kernel, Kernel for the Samsung Galaxy Note 5
Contributors
gundal, AndreiLux, arter97, xialou, faux123, UpInTheAir, every other xda kernel dev, sammy
Source Code: https://github.com/gundal/nobleltehk.git
Kernel Special Features: [Stable] [Efficient] [Fast] [Smooth] Underclocked A53, GPU, Overclocked A53, A57, GPU, Voltage controls for: A53,A57,GPU,BUSSES. Synapse with backup and restore settings
Version Information
Status: Stable
Current Stable Version: 3.5
Stable Release Date: 2015-12-10
Current Beta Version: 4.0
Beta Release Date: 2016-01-01
Created 2015-10-10
Last Updated 2015-12-10
IF YOU HAVE NEVER FLASHED ANYTHING ON YOUR N9200 YET
PLEASE READ!
We have a LOCKED BOOTLOADER
The following MUST be done to start flashing:
Open galaxy apps and search for CROM Service , you will find this apk its an official bootloader unlock from samsung, *IMPORTANT* as soon as you use this ap. you void your warranty and submit your imei to samsung, you also upon NEXT REBOOT will lose all your GAPPS AND any app you downloaded via playstore on that account!
IT IS possible to save it all. Heres what I did:
1. Install CROM service apt from galaxy apps
2. turn on Developer options > OEM UNLOCK
3. run CROM Service to unlock bootloader
4. reboot to download mode, flash twrp 2.8.7.0 from twrp.me/devices (the noblelteh dual sim one)
5. take full backup of data, radio, efs, boot (don't even bother backing up system)
6. reboot device (gapps gets wiped and apps are gone)
7. reboot to download mode, reflash stock odin tar of same system version(i used OI1)
8. reboot to download mode, reflash twrp recovery
9. reboot to recovery, restore data, backup system, reboot
10. you have your system back with gapps and every other app back to how it was before you CROM unlocked and lost gapps
11. flash kernel with root and whatever else you want do with your phone
If you dont flash twrp and take a backup of your data right after you crom unlock you will lose your data related to any app downloaded from playstore.
Q&A: How do I configure this kernel?
Q1. What are all these options in Synapse? how do I make my phone better with this kernel?
A: Using provided voltage controls and synapse (written by Andreilux) one can tweak the voltages of the cpu to get maximum efficiency out of his SoC.
Q2: Is undervolting bad for my phone?
A: Absolutely NOT! Is there risk? (see Q2.) In fact, it can be better for your phone then leaving it with stock voltages, which may be overdoing it and causing your phone to double as a hand warmer
Q3: Is there risk?
A: Yes of course there is always a risk you fry your cpu, however the cpu itself is guarded to protect that from happening by forcing a kernel panic and rebooting the device. You are pretty safe to play around a few reboots wont hurt you.
Q4) Why should I undervolt? Doesn't sammy know whats best for my phone??
A: LOL. C'mon now, lets be real, sammy wants one thing, your $$$ and the only thing they care about when it comes down to setting voltages is one number, a %, the % of devices that pass and aren't considered a defective SoC. Essentially, (not exactly as I have no inside source info) it works like this: When a phone is being tested prior to passing inspection it is driven through a series of stability tests (think antutu) this is used to verify that the device functions properly and the end user doesn't get a lemon, but if they run with a set of voltages labelled A and 43% of the phones tested failed the test, they keep the good ones, mark them group a and then raise the voltages and test again, marking the passing ones in group b etc etc, eventually they pass most of the phones and throw out the bad ones, the asv group file mentioned below shows you exactly which group your device is in, and the "bucket" voltages that it was given from the factory. These are FAR from optimal, they just happened to make your device pass, that means squat as far as im concerned, because your device moight have failed from the better group in only one cpu speed, each step should be tweaked independently. Otherwise, you are DEFINITELY wasting some unnecessary voltage on cpu cycles that inevitably cause your cpu to produce more heat than necessary and overheat itself.
Q5: Ok ok sammy doesn't know best but you DO RIGHT?!?
A: Lol no, I don't, BUUT I do know how to find out the best values!
Q6: Awesome! now that you will figure out the best values I will obviously benefit from copying your config and then im set, best setup ever.
A: No , no no! YOU haven't been reading.. I said EACH phone is unique and has a different cpu, check out your asv file and then use my config as a base and either raise or lower the voltages based on your asv numbers.
Q7: How do I use the backup/restore profile?
A: Read the first post changelog, for Version2.2
For reference my config is going to be pasted here, this config will more then 90% likely NOT be the optimal stable voltages or settings for you, but will give you a reference to understand where you should tweak what and how to gauge that.
First thing you should do is open root browser and open the file
/sys/kernel/debug/asv_summary <-- open this as a text file
or in terminal emulator on your actual device or via adb shell # type
Code:
$: su
#: cat /sys/kernel/debug/asv_summary
this is the result
Code:
big:9, LITTLE:9, INT:9, MIF:9, G3D:11, ISP:9
<- higher numbers in big and little means your chip is better then a lower numbered chip, it uses lower voltages set straight from the factory. Every device is tested to ensure it passes a stability test, if the device fails they try it at a lower asv group or higher voltages until it passes. These "bucket" voltages do not run your phone optimally, they just run your phone.. stable enough to leave the factory.
Thanks for reading.
Code:
MY CONFIG -- DONT EXPECT THEM TO WORK FOR YOU JUST A REFERENCE
UPDATED 2015-10-28 6:43AM PST
A53 Max: 1500 mHz
A53 Min: 300 mHz
HPM 25 mV
1500 1025mV
1400 900mV
1296 850mv
1200 812.5mv
1104 775mv
1000 737.5mV
900 700mV
800 662mV
700 631mV
600 606mV
500 581mV
400 556.25mV
300 518mV
200 n/a
A57 Max 2400
A57 Min 800
HPM 18.75mV
2400 1062mV
2304 1000mV
2200 987mV
2100 975mV
2000 937.5
1896 900mv
1800 862.25mV
1704 831.25mV
1600 800mV
1500 768.75 mV
1400 743.75mV
1300 718.75mV
1200 700mV
1100 675mv
1000 643.75v
900 618.75mv
800 575mv
Code:
GPU
HMP 43.75
ALL steps @ default
Except 26MHz @ 593.75mV
BUSSES
Code:
HMP 18.75
100 537
133 537
167 537
29 543
418 550
543 606
635 618
836 662
1026 700
1264 712
1464 750
1552 787
Internal BUS
100 650
200 650
266 650
334 668
400 687
500 700
510 700
520 706.25
530 706
540 712
550 750
560 750
Image
500 600mV
510 600
520 625
530 650
540 700mV
3rd
4th reserve
5th
Hello! I am waiting for another kernel for N9200-HK version note 5 that can be enabled to tweak cpu freq. and cpu governor, I/O etc......
BTW, do you understand Chinese?
Does this support the SM-N9208?
Yup that's exactly what this is Tom.
No I speak zero Chinese
Sent from my SM-N9200 using XDA Free mobile app
I highly doubt it since that phone has a Samsung modem, I can only say , I doubt it
Sent from my SM-N9200 using XDA Free mobile app
gundal said:
I highly doubt it since that phone has a Samsung modem, I can only say , I doubt it
Sent from my SM-N9200 using XDA Free mobile app
Click to expand...
Click to collapse
Thanks for letting me know.
Would you mind giving some captured photos of your N9200 that using this kernel? And also the way to change voltage, cpu governor, cpu freq, I/O etc...?
Thanks!
Tom, when you install the kernel, synapse app is added, open this. You will see this
Sent from my SM-N9200 using XDA Free mobile app
When I flashed nobleltehk 1.2 thought TWRP and then my N9200 tried to reboot,
however it could not reboot probably.
The LED light would first turned to red light from blue light, and then turned to white light and the screen showed "kernel is not seandroid enforcing" on the Top-left corner. The reboot process keep repeatly.
gundal said:
Woot let the fun begin!
************************************************************************
Note: I take no responsibility for any damage YOU do to your device.
If you have the hong kong 9200, this will be compatible!
This device uses a exynos7420 processor and Qualcomm modem unlike most other variants of the Note 5
************************************************************************
nobleltehk n9200 dual sim kernel built from n9200ZHU1AOI1 sources
##################################################
Version 1.0 -roots device, installs supersu & synapse, sets selinux to permissive
Version 1.1 - adds exynos universal power controls for undervolting, hpm auto adjusting voltages and power optimizations
(*)Version 1.2 - Apollo is now underclocked to 200mhz and overclocked to 2000mhz, Atlas is overclocked to 2.5ghz. Both allow undervolting to 400mv (probably unstable for everyone but the ability is there.. I run a53 200mhz at 475mv)
(WIP) Version 1.3 - more to come
Thanks for your hard work. Can you please explain what advantages does your kernel has over stock one?
Click to expand...
Click to collapse
Hmm Tom try 1.1
1.2 is working for me but configuration might be needed.
1.1 should boot fine.
Sent from my SM-N9200 using XDA Free mobile app
It says right there above in the quote. It's the stock kernel with very few modifications, selinux permissive, root, synapse and voltage controls the rest is stock. 1.2 adds over and underclocking. However it sets default min speed to 200 which may be why Tom couldn't boot ill reupload 1.2 with the default back to 400 and just the ability to drop it lower. @Tomleungyuethei
Sent from my SM-N9200 using XDA Free mobile app
gundal said:
Yup that's exactly what this is Tom.
No I speak zero Chinese
Sent from my SM-N9200 using XDA Free mobile app
Click to expand...
Click to collapse
You are right. 1.1 is working for me.
For your given information, 1.2 can let me underclock the cpu and I'm hoping I can use it later!
Overall, great work and I'm greatly appreciate for it.
Wish to see further update of this amazing kernel. You can give us your config for reference as well!
For my first try, I decided to undervoltage all 100mV that I can undervoltage and see how's going.
---------- Post added at 07:51 PM ---------- Previous post was at 07:17 PM ----------
Also, some issues I have just got in 1.1.
1. Synapse still shows 1.0 version of kernel but I am using 1.1
2. I cannot succeed to tweak cpu max freq. Even I tweaked and saved, I still saw max freq. is 1296mhz when I restart synapse. I can see these using Cpu-z as well and the result are the same.
3. I cannot save profit/config properly.
从我的 SM-N9200 上通过 xda Forums PRO 发送
Thanks for detail Tom.
1) I didnt release 1.0 and I didnt update synapse to say 1.1, so you are infact on 1.1
2)It should be holding what you set, try going to synapse > logs > clear synapse data
3)I know and I will get this fixed soon, thanks.
Tom please try 1.3 thanks!
stil working on 3rd issue
Tomleungyuethei said:
You are right. 1.1 is working for me.
For your given information, 1.2 can let me underclock the cpu and I'm hoping I can use it later!
Overall, great work and I'm greatly appreciate for it.
Wish to see further update of this amazing kernel. You can give us your config for reference as well!
For my first try, I decided to undervoltage all 100mV that I can undervoltage and see how's going.
---------- Post added at 07:51 PM ---------- Previous post was at 07:17 PM ----------
Also, some issues I have just got in 1.1.
1. Synapse still shows 1.0 version of kernel but I am using 1.1
2. I cannot succeed to tweak cpu max freq. Even I tweaked and saved, I still saw max freq. is 1296mhz when I restart synapse. I can see these using Cpu-z as well and the result are the same.
3. I cannot save profit/config properly.
从我的 SM-N9200 上通过 xda Forums PRO 发送
Click to expand...
Click to collapse
Do you plan on integrating some of the optimizations seen in the other kernels? (memory management, DHA, etc...)
I

[KERNEL][LINARO][EOL]DorimanX kernel for LOS14.1

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Unofficial DorimanX builds by Saber (formerly gsstudios)​
The Background:
DorimanX development has stopped for a while now. I've been a long term dorimanx user, but I felt that a lot of features need to be implemented into the kernel. As of a result, I decided to make my own personal builds! Please note that I'm no way as good as the master himself, Dorimanx, but I try to implement features to the best of my abilities. Also, I'm not going to be a proper maintainer of dorimanx kernel, this is just what I've done in my spare time.
If you have problems or if anything goes wrong, you need to reflash your current ROM to revert kernel.
The Mission:
To continue giving support for the much loved kernel. New features and additions will be added to improve flexibility and speed to the already amazing kernel. My goal is to improve DorimanX kernel as much as I can, without sacrificing stability.
DISCLAIMER:
ONLY FOR LOS14.1 BASED ROMS
I'm not responsible for bricked devices or wrong version flashing
You are using this kernel at your own responsibility​
——— !!!!!!!! YOU HAVE BEEN WARNED !!!!!!!! ———
​
FEATURES:
This kernel includes the following additional features over stock dorimanX kernel:
- CPU Governors: HYPER, Ondemand, pegasusQ, Intellidemand, neoX, darkness, nightmare, zzmoove, sleepy, conservative (Default: HYPER)
- IO Schedulers: ROW, Tripndroid, FIOPS, SIOPlus, BFQ, CFQ, Noop, ZEN, Deadline (Default: ZEN)
- TCP Algorithms: Cubic, Reno, BIC, Westwood, Highspeed, Hybla, HTCP, Vegas, Veno, Scalable, Lp, Yeah, Illinois (Default: Westwood)
- Built with optimised Linaro 4.9 Toolchain
- Built-in Stweaks profiles updated (All profiles suit needs for most people now)
- Trim support (Be careful if you have brickbug affected chip!)
- Updated FPBug/Musicbug fix is already included in this kernel!
- BLN and BLNWW support
- Updated Linux Kernel version to 3.15.0 stable!
- Freezefix is already included in this kernel!
- Isorec support
- MDNIE mode and scenario tuning
- F2FS support
THINGS TO DO:
- Allow users to revert kernel back to stock with everything working
THINGS I WILL NOT ADD:
- LZ4 Compression (Our Boot partition is way too small to support this)
- Useless CPU governors (such as Userspace)
- Colour tuning support (Unless someone helps me with this)
- Higher thermal limits (We all know what happens if we do this)
- Higher overclocking/Lower underclocking capabilities (So you want less stability and more SODs?)
- Synapse support (Stweaks is the only app that can fully support this kernel)
- Linux Kernel version updates (My skills need to improve first before taking on something this big)
CREDITS:
Dorimanx (the real master of the kernel)
Gokhanmoral (Siyah Kernel)
Voku1987(This Kernel)
Alucard_24(This Kernel)
STANTRC(This Kernel)
Entropy512 (CyanogenMod)
Tungstwenty (On screen gestures addon)
Torvalds (Linux Kernel maintainer)
Computoncio (This Kernel)
cybernetus (This Kernel)
stelistcristi (Contents of this post, updates)
chhapil (Kernel build support, updates)
Chet Kener (Linaro/UBER toolchain)
Lanchon (TRIM fix and Isorec for Dorimanx)
Zeitferne (FP Bug/Music Bug fix and freezefix)
Lysergic Acid (LOS14.1)
rINanDO (LOS14.1)
serenitys (LOS14.1)
Realex-fire (Marshmallow/Nougat support and kernel fixes)
Skyline (Material Stweaks and testing)
DOWNLOAD:
Refer to third post
CHANGELOG:
Refer to second post
KERNEL SOURCE:
Source code of the kernel can be found here:
https://github.com/gsstudios/Dorimanx-SG2-I9100-Kernel
https://github.com/gsstudios/initramfs3
ISSUES:
- Users will lose a lot of functionality if they dirty flash ROM to restore kernel
- If you reboot your phone, you may experience a large battery percentage drop
- All dorimanx bugs
WHAT ROMS DO I SUPPORT?
You should only flash this kernel on top of:
- LineageOS 14.1
USEFUL LINKS
CPU Governor and I/O Scheduler Guide
DorimanX tuning guide
TCP Algorithm guide
XDA:DevDB Information
DorimanX kernel for LOS14.1 by Saber, Kernel for the Samsung Galaxy S II
Contributors
Saber, dorimanx, Realex-fire
Source Code: https://github.com/gsstudios/Dorimanx-SG2-I9100-Kernel
Kernel Special Features: See post #1
Version Information
Status: No Longer Updated
Created 2017-07-25
Last Updated 2017-09-19
Changelogs:
--UNRELEASED VERSIONS (KERNEL UNDER TEST) --
For live changelogs, see my github:
Kernel: Github Link
Initramfs (Ramdisk): Github Link
--RELEASED VERSIONS (GENERAL AVAILABILITY) --
Code:
[B]DorimanX 13.0 b005[/B]
- Pulled updates for tcp, net, uksm, binder and many more from DorimanX OP3T kernel, all thanks to @Realex-fire
- Minor build script improvements
- TCP fast open control added to Stweaks
- HYPER is now the default sleep governor
- Updated busybox from Dorimanx source - Again thanks to @Realex-fire
- Minor fixes to ROM init script
[B]DorimanX 13.0 b004[/B]
- Synced scheduler and block changes from linux 3.16
- Synced security/keys and selinux changes from linux 3.16
- Synced kernel/fork, lmk and other changes from dorimanx
- Temporarily disable playready DRM to fix package manager corruption issues
- Remove powerHAL introduced in lineageOS to remove governor setting conflicts
- Various script improvements thanks to @Realex-fire
[B]DorimanX 13.0 b003[/B]
- Reverted default governor back to HYPER
- Synced ext4 updates from mainline - Thanks to @Realex-fire
- Partition checking will only check for bad blocks now
- Lower cortexbrain auto read ahead values and add 3072KB option
- Stweaks settings will be reset after flashing this build!
[B]DorimanX 13.0 b002[/B]
- Updated exfat from Dorimanx sources
- Reverted the kernel's internal tick rate back to 250
- Changed default governor to Nightmare
- Stweaks profile updates
- Enable adb autostart and insecure adb for debugging purposes
[B]DorimanX 13.0 b001[/B]
- Initial LOS14.1 Support
- Re-added Adaptive LMK and UKMS - Better for RAM usage at the cost of some CPU time
- LZO is now being used as the default compression method for ZRAM - Much better compression, worse decompression. Better for our ZRAM size limitations.
- Synced recent zzmoove updates - New profile, stability updates, some code only for SD devices
- ZEN I/O scheduler updates from Dorimanx
Downloads
--STOP!!! IMPORTANT, PLEASE READ--
It is important that you make a backup before flashing this kernel. If you want to restore the original kernel found in your ROM, you need to restore from a backup or clean flash your ROM.
MAKE SURE YOU'RE DOWNLOADING THE RIGHT KERNEL. OTHERWISE YOU COULD BRICK YOUR DEVICE!
Flashing instructions:
1. Download latest kernel build
2. Reboot to recovery
3. Flash kernel zip
4. Reboot
For TRIM users:
To use TRIM, you can download an app on the app store called trimmer or use terminal commands as directed in the troubleshooting guide.
Isorec (Isolated Recovery)
You can use either TWRP or CWM. It is important to note that the default CWM recovery has kernel specific options within the menus, so if you require to use them, be sure to flash the isorec disabler.
Download for isorec recoveries:
https://www.androidfilehost.com/?w=files&flid=47550
If you have a dualboot setup or if you want to set up dualboot, you should stay on StanTRC recovery. If you want to return to StanTRC recovery, flash the isorec disabler:
https://www.androidfilehost.com/?fid=24369303960682947
Forgot to download backup/older kernel/isorec disabler after flashing TWRP?
Go to download mode and flash a kernel .tar file OR wait until OS boots and copy required files to your phone
Main download link:
https://www.androidfilehost.com/?w=files&flid=201577
Mirror download link:
https://github.com/gsstudios/Dorimanx-SG2-I9100-Kernel/releases
In order to tweak the kernel properly, you need to install stweaks from the apk linked here, or from the XDA downloads page
Troubleshooting
Q: Why flash your kernel? - For new users of DorimanX kernel
DorimanX kernel is an aftermarket kernel (or custom kernel) that is designed to allow users to tweak their phone at the kernel or near-hardware level side of things. In other words, users get more fine-grained control over their phone, this includes overclocking, underclocking, changing behavior of CPU/GPU etc. Adjusting such settings isn't for the faint-hearted since there is many things to understand, but you aren't required to understand all of the settings. Ultimately, if you want to improve your phone experience, try DorimanX kernel!
Q: Which kernel version build should I flash?
A: Flash the latest stable version if you want the most stable experience. Beta builds will always have the latest features and should be fine to use as a daily driver. Stable builds have been thoroughly tested for issues, but are usually older than current builds. Either way, it's up to you which one you want to flash. Read the changelog for any important changes that might have occurred in a particular build.
Q: Which app should I use to tweak the kernel?
You should only use stweaks to tune DorimanX kernel.
Q: Can I use isorec recovery on DorimanX kernel?
A: Yes you can. All important information was covered in the OP already!
Q: Why should I flash your builds when the last 'real' unofficial build was v008?
A: If you don't want to enjoy awesome features that improve the experience of dorimanx kernel, then it doesn't worry me. Real or not, I don't build kernels to have bad battery life, bad stability and etc. This is my personal build of dorimanx kernel!
Q: Wifi doesn't work after I flash this kernel
A: There are several possible causes to this issue, there could be a problem with your:
- Partitions OR
- Permissions OR
- Gapps OR
- ROM OR
- Compatibility with your wifi hardware
Don't use a pit with modded preload! It will just cause issues with ROMs and Kernels. Use stock pit or use a pit with unmodded preload. Sometimes, the gapps package you flash somehow breaks compatibility with the kernel. You can fix this by flashing a different gapps (making sure to clean cache and dalvik). If you have permissions problem, you can fix this by repartitioning your internal sd card or by reflashing back to stock rom. Sometimes, the ROM doesn't fully support the wireless drivers in the kernel, this can be solved by flashing a different ROM or different kernel. But if your wifi hardware is not compatible (a way to tell this is when you have tried everything and failed), there is nothing you can do but reflash the rom or flash a different kernel.
Q: I came from a different custom kernel that used Stweaks, now the app has issues
A: Every time you come from a different custom kernel with stweaks support, make sure to wipe cache and dalvik cache after install dorimanx kernel
Q: My battery life sucks after flashing this kernel!
A: Download and install Betterbatterystats and see what is the culprit to your problem. If it is kernel related, have you made sure you have wipe cache and dalvik and reset stweaks settings? If yes, it would be nice if you posted a logcat.
Q: How do I get a logcat for the kernel?
A: In stweaks, go to BUG-REPORT and tap on KERNEL-BUG.
Q: Why do I get bootloops with this kernel?
A: If you were on a working version on dorimanx before, there is probably something wrong with the installation. Sometimes, bootloops can occur due to corruption of the kernel zip file (usually from bad download) or from corrupted partitions.
Q: What do all of the settings mean? They are all confusing!
A: Please note that DorimanX kernel isn't for users who have just rooted their device. Before jumping into the custom kernel world, try playing around with other kernels first. Once you think you have some experience, read the stweaks beginners guide I made and then attempt to tweak the kernel using stweaks.
Q: How do I trim my partitions?
BEWARE: Make sure you have read all of the precautions before attempting to trim your partitions!
A: install the trimmer app from the playstore. App link . Check for all 3 partitions, and tap on run. grant root access. the 3 fstrim operations should be successful ("partition was trimmed" means success).
alternatively, instead of using trimmer you can run one of these commands (these are better because they also trim /preload):
# on the phone in the terminal app:
su -c "fstrim -v /system; fstrim -v /data; fstrim -v /cache; fstrim -v /preload"
# on your PC if you are connected to the phone via adb:
adb shell su -c "fstrim -v /system; fstrim -v /data; fstrim -v /cache; fstrim -v /preload"
reboot.
Click to expand...
Click to collapse
Q: My device is (hard) bricked after flashing your kernel!
A: Have you read all of the precautions before installing the kernel? You made the decision to flash the kernel and now you've stuffed up your phone.
Q: I get constant FCs after flashing your kernel!
A: Have you wiped your cache partition, dalvik cache and reset stweaks settings? If you've done all of these already, a logcat would be nice
Q: How do I use dual boot?
A: There are many guides on how to dual boot roms using dorimanx kernel. Just use the search function on XDA or GOOGLE it!
Q: What's a good combination for CPU governor and I/O scheduler?
A: Have a look at the default settings, they are optimised for our phone
However, here are some settings I recommend:
CPU Governor: HYPER/zzmoove/Darkness
I/O Scheduler: CFQ/BFQ/ZEN/Deadline/SIO
Q: Why does the screen turn blank after the dorimanx logo appears during the boot process?
A: If your kernel doesn't bootloop, but the screen remains blank, there is a good chance that the ROM that you've used uses an older version of GPU drivers (Mali). This kernel only support ROMs with Maliv3 support. If you flash this kernel on MaliV2 or MaliV1 only roms, you will get a blank screen after flashing. To fix this, flash to the kernel the corresponds to your mali driver version and you should get your display back.
Q: What is a TCP algorithm?
A: Congestion control strategies (or algorithms) are used by TCP, the data transmission protocol used by many Internet applications. The main goal of a TCP algorithm is to avoid sending more data than the network is capable of transmitting, that is, to avoid causing network congestion.
Q: What is a toolchain?
In software, a toolchain is the set of programming tools that are used to create a product (typically another computer program or system of programs). The tools may be used in a chain, so that the output of each tool becomes the input for the next, but the term is used widely to refer to any set of linked development tools.
A simple software development toolchain consists of a compiler and linker to transform the source code into an executable program, libraries to provide interfaces to the operating system, and a debugger. A complex product such as a video game needs tools for preparing sound effects, music, textures, 3-dimensional models, and animations, and further tools for combining these resources into the finished product.
Click to expand...
Click to collapse
Q: What is Linaro?
Linaro is the place where engineers from the world's leading technology companies define the future of Linux on ARM. The company is a not-for-profit engineering organization with over 120 engineers working on consolidating and optimizing open source software for the ARM architecture, including the GCC toolchain, the Linux kernel, ARM power management, graphics and multimedia interfaces.
Click to expand...
Click to collapse
Q: Why not use XYZ toolchain?
Linaro toolchain is the only one I'm going to use. If you believe that XYZ toolchain is better, then you'd have to build my kernel yourself. I chose the toolchain that I like the most, and I've had positive experiences using Linaro.
Click to expand...
Click to collapse
First kernel build for LOS14.1 is up on AFH and github. Enjoy.
Firstly, sorry for the dupe threads. Internet was acting out and now I'll have to get the mods onto it
Also, expect bugs with this release. This is a really early build and I'm doing blind builds now.
Don't flash on any other ROM than LOS otherwise you will not receive support. This kernel is only designed for LOS.
No new features will be added because I don't use the S2 as daily driver, so I won't be able to test changes thoroughly.
Regards, Saber
Nice.
Hi @Saber
Thanks a lot for spending your spare time to work on this kernel.
I wish you the best!
Sent from my STAIRWAY using XDA-Developers Legacy app
Welcome back @Saber
EDIT: I am not able to get it work on latest LOS 14.1 build. May be something wrong on my side. Phone going back to galaxy s2 logo from dori kernel logo. This is happening in loop. Anyone???
Yeah this is cool. Maybe we can make S2 N-builds even better. :laugh:
Skyline said:
Welcome back @Saber
EDIT: I am not able to get it work on latest LOS 14.1 build. May be something wrong on my side. Phone going back to galaxy s2 logo from dori kernel logo. This is happening in loop. Anyone???
Click to expand...
Click to collapse
Can you please detail your flashing procedure? Did you try reflashing the kernel?
Saber said:
Can you please detail your flashing procedure? Did you try reflashing the kernel?
Click to expand...
Click to collapse
I get it to work after too many tries and now again I am not able to boot.
*Wiped everything other than ext sdcard
*flashed rom and gapps
*flashed kernel zip
Also tried without gapps. Weird thing is that whenever I flash gapps it gives me alot of force closes. I tried 2 gapps packages and AICP but same problem occurs(without flashing kernel) that's why I thought may be something wrong on my side
Edit: I am using I9100g display panel can it be reason for my problem?? Anyways I attached dmesg.
Nice
Nice Kernel,Works fine on los14.1 and I also have overclocked up to 1.6 MHz but would not like to add 2.0 MHz in future updates?
And is it possible to add support to the kernel dt2w ?
Sorry if I'm not writing correctly, I'm not an Englishman :laugh:
X_Svyatoslav_X said:
Nice Kernel,Works fine on los14.1 and I also have overclocked up to 1.6 MHz but would not like to add 2.0 MHz in future updates?
And is it possible to add support to the kernel dt2w ?
Sorry if I'm not writing correctly, I'm not an Englishman :laugh:
Click to expand...
Click to collapse
If you mean 2,0GHz I doubt it.
I tried F2FS and it seems cache is okay but data makes android.phone process crash all the time. Not sure if it is LOS or kernel's fault.
X_Svyatoslav_X said:
Nice Kernel,Works fine on los14.1 and I also have overclocked up to 1.6 MHz but would not like to add 2.0 MHz in future updates?
And is it possible to add support to the kernel dt2w ?
Sorry if I'm not writing correctly, I'm not an Englishman :laugh:
Click to expand...
Click to collapse
What?? 2.0 Ghz is too much and also not safe. Even overclocking more than 1.4 Ghz is not good for our old device. I think we should limit cpu clock to 1.4Ghz max on this kernel for safety @saber.
Syaani said:
I tried F2FS and it seems cache is okay but data makes android.phone process crash all the time. Not sure if it is LOS or kernel's fault.
Click to expand...
Click to collapse
This issue is actually kernel's fault as it also exists on my CM13 kernel. A reboot is a possible solution to solve this issue and it shouldn't reappear. I might pull some F2FS updates from the linux git to increase stability, however the only filesystem I recommend is ext4 for internal partitions.
Edit: I was thinking before about a kernel issue where after first flashing the kernel over stock LOS kernel, the phone process would crash where it can be solved by rebooting. Need more reports to see if its just F2FS or if its regardless of fs used.
X_Svyatoslav_X said:
Nice Kernel,Works fine on los14.1 and I also have overclocked up to 1.6 MHz but would not like to add 2.0 MHz in future updates?
And is it possible to add support to the kernel dt2w ?
Sorry if I'm not writing correctly, I'm not an Englishman :laugh:
Click to expand...
Click to collapse
2.0GHz? Not possible with our SOC. 1.6GHz is about the limits and only a lucky few are able to use this frequency. Any more and I'd suspect our tiny SOC go poof along with some bad electronic smoke.
dt2w is not optimised for our touch panel and as of a result, significant battery drainage will occur. It's the same story with sweep to wake, these features weren't even supposed to be possible with our device.
Skyline said:
I am using I9100g display panel can it be reason for my problem?? Anyways I attached dmesg.
Click to expand...
Click to collapse
I've had a quick skim over the dmesg and couldn't find anything too substantial to be the root cause of the issue (may need to go through with a fine comb). Maybe logcat? How about marshmallow? Does the same behaviour occur there?
Saber said:
I've had a quick skim over the dmesg and couldn't find anything too substantial to be the root cause of the issue (may need to go through with a fine comb). Maybe logcat? How about marshmallow? Does the same behaviour occur there?
Click to expand...
Click to collapse
If I comment last lines in init.rc then rom boots fine
EDIT: @Saber, How can I take logs during s2 bootlogo to dorimanx kernel logo? I tried to take logcat using command 'adb logcat > log.txt' on linux but device is not getting detected.
X_Svyatoslav_X said:
Nice Kernel,Works fine on los14.1 and I also have overclocked up to 1.6 MHz but would not like to add 2.0 MHz in future updates?
Click to expand...
Click to collapse
With 2.0 GHz the CPU will explode
X_Svyatoslav_X said:
Nice Kernel,Works fine on los14.1 and I also have overclocked up to 1.6 MHz but would not like to add 2.0 MHz in future updates?
And is it possible to add support to the kernel dt2w ?
Sorry if I'm not writing correctly, I'm not an Englishman :laugh:
Click to expand...
Click to collapse

Categories

Resources